Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2009, 06:43   #91
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Т.е. указатель на массив array[1..8, 1..8] of DWORD;
Ясно, попробую. Только, пардон, как мне ему 0 послать?

Вызвал так:
GetBeginPosition(0, 0, 0, 0);
для белого и
GetBeginPosition(0, 0, 1, 0);
Для чёрного перед началом игры и результат тот-же.

Потом попробовал с GetStep и тоже ничего. LLFerzBot 0 возвращает.

Последний раз редактировалось Altera; 09.02.2009 в 07:29.
Altera вне форума Ответить с цитированием
Старый 09.02.2009, 08:22   #92
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Т.е. указатель на массив array[1..8, 1..8] of DWORD;
Ясно, попробую. Только, пардон, как мне ему 0 послать?

Вызвал так:
GetBeginPosition(0, 0, 0, 0);
для белого и
GetBeginPosition(0, 0, 1, 0);
Для чёрного перед началом игры и результат тот-же.

Потом попробовал с GetStep и тоже ничего. LLFerzBot 0 возвращает.
не могу дать ответа. я не знаю почему не работает.
в идеале так
Код:
GetBeginPositionP1(0, 0, 0, 0);
GetBeginPositionP2(0, 0, 1, 0);
цикл 
{
  GetBeginPositionP1(реальные данные);
  GetBeginPositionP2(реальные данные);
}
цикл
{
   GetStepP1(реальные данные);
  GetStepP2(реальные данные)
}
GetBeginPositionP1(pointer($FFFFFFFF), 0, 0, 0);
GetBeginPositionP2(pointer($FFFFFFFF), 0, 1, 0);
rpy3uH вне форума Ответить с цитированием
Старый 10.02.2009, 03:18   #93
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,432
По умолчанию

Цитата:
Если первый параметр (указатель на доску) равен нулю, то это обозначает начало игры, от бота не требуется никаких ответных действий и результат игнорируется.
А про второй и четвёртый параметр ни слова нет, может ему реально в начале игры нужен массив с координатами доступных клеток для расстановки ферзя и он не ожидает, что вместо указателя на оный там будет 0.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 10.02.2009, 04:29   #94
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от Ulex Посмотреть сообщение
А про второй и четвёртый параметр ни слова нет, может ему реально в начале игры нужен массив с координатами доступных клеток для расстановки ферзя и он не ожидает, что вместо указателя на оный там будет 0.
Ну, видимо должна быть проверка... ...вообще всех переменных, при их поступлении в функции и если что-то не так, то 0 возвращать.
Altera вне форума Ответить с цитированием
Старый 10.02.2009, 08:49   #95
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Ulex Посмотреть сообщение
А про второй и четвёртый параметр ни слова нет, может ему реально в начале игры нужен массив с координатами доступных клеток для расстановки ферзя и он не ожидает, что вместо указателя на оный там будет 0.
Altera правильно вызывал

Код:
GetBeginPosition(0, 0, 0, 0);
GetBeginPosition(0, 0, 1, 0);
rpy3uH вне форума Ответить с цитированием
Старый 16.02.2009, 15:54   #96
Роман Радер
Форумчанин
 
Аватар для Роман Радер
 
Регистрация: 16.12.2006
Сообщений: 859
По умолчанию

что там с конкурсом? - сообщений нет уже неделю - говорили, что продлен, еще всего-лишь 2 недели...
Роман Радер вне форума Ответить с цитированием
Старый 16.02.2009, 18:50   #97
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

итоги конкурса будут подведены 1-2 марта. осталось меньше двух недель
сейчас есть всего три бота (мой, Ulex, LuckLess) если больше не появится, то смысл теряется.
rpy3uH вне форума Ответить с цитированием
Старый 18.02.2009, 14:02   #98
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Вот мой бот. Тоже неплохо играет...
Вложения
Тип файла: rar AtomikBOT.rar (8.8 Кб, 8 просмотров)
Altera вне форума Ответить с цитированием
Старый 18.02.2009, 18:13   #99
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

так, готов четвёртый бот.
rpy3uH вне форума Ответить с цитированием
Старый 18.02.2009, 18:45   #100
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Бот шикарный, простой - гениальный!
Он использует силу противника против него самого.
А вот и алгоритм его, для delphi.

Код:
library AtomikBOT;

uses
  Windows;

var
  dll: tHandle;
  gn: function: pChar; stdCall;
  sbp: function(aDesk: pointer; aBeginPosFields: pointer; aPlayerColor: DWORD;
 AGI: pointer): DWORD; stdcall;
  gs: function(aDesk: pointer; aPlayerColor: DWORD; AGI: pointer): DWORD; stdcall;

function GetName: PChar; stdcall; export;
begin
   gn;
   Result := 'AtomikBOT v1.0';
end;

function GetBeginPosition(aDesk: pointer; aBeginPosFields: pointer; aPlayerColor: DWORD;
 AGI: pointer): DWORD; stdcall; export;
begin
   result := sbp(aDesk, aBeginPosFields, aPlayerColor, AGI);
end;

function GetStep(aDesk: pointer; aPlayerColor: DWORD; AGI: pointer): DWORD; stdcall; export;
begin
   result := gs(aDesk, aPlayerColor, AGI);
end;

exports
  GetBeginPosition, GetStep, GetName;

begin
dll := loadLibrary('FerzBot.dll');
@gn := getProcAddress(dll, 'GetName');
@sbp := getProcAddress(dll, 'GetBeginPosition');
@gs := getProcAddress(dll, 'GetStep');

end.
Ну это так, для прикола конечно. Меня сегодня утром осенило. Мне совесть не позволила с ним в конкурсе участвовать. Я сейчас самой игрой занимаюсь. Скоро будет готова! А бота потом как нибудь сделаю...
Altera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конкурс программистов - призовой фонд 1 000 000 рублей Lnat Свободное общение 0 26.07.2008 12:15
конкурс программистов ! (первый конкурс) Alar Свободное общение 129 18.03.2007 00:50