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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2009, 23:01   #21
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Цитата:
потом аи считает лучший ход
О уже АИ есть. Я бы посоветовал все таки вернуться к ШАШКАМ.
20 постов - одно ля-ля.Это разве шахматы?
Злой я сегодня.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 13.12.2009, 23:10   #22
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

Аи это так.Вообще есть функция AlphaBeta перебора,только без отсечения дерева
-COREY- вне форума Ответить с цитированием
Старый 13.12.2009, 23:11   #23
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

И у меня курсач по шахматам,а не шашкам
-COREY- вне форума Ответить с цитированием
Старый 13.12.2009, 23:47   #24
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Ну а зачем его не выключать?Человек выбрал фигуру,если ход верный,то включается таймер и делается перемещение,таймер выключается,потом аи считает лучший ход,когда находит включается таймер и делается ход,когда ход сделан таймер выключается и по новой.
Цитата:
И если таймер не выключать,то тогда какой лимит времени ему ставить?
Ну мне тогда не объяснить...
Любая игра представляет собой цикл, условием которого является выход из игры. Таким циклом и является таймер. Покажи мне структуру кода, при котором цикл вообще не используется (такое как раз когда таймер выключается).
Вадим Буренков вне форума Ответить с цитированием
Старый 13.12.2009, 23:58   #25
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

а всё,теперь понял
-COREY- вне форума Ответить с цитированием
Старый 16.12.2009, 23:38   #26
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

Сделал по своему с отключением и включением таймера,фигуры пошли.Теперь проблема с генерацией ходов для чёрных фигур компа.Подкиньте пару идей,как это сделать можно.Свои генераторы я написал,но они наверное работают неправильно...Подскажите как быть
-COREY- вне форума Ответить с цитированием
Старый 19.12.2009, 20:38   #27
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

возникла такая проблема.Написал взятия...Изображения фигур выводятся на форму через canvas
например вот так,изображения в формате bmp и буффер типа TBitmap
Код:
Buffer.Canvas.Draw(WK.x+_LEFT,WK.y+_TOP,      WK.img);
когда съедается например пешка,то вызывается процедура free для объекта пешки,но потом когда я вызываю процедуру вывода фигур delphi зависает т.к. область память где хранится инфа о картинке удалена.Подскажите пожалуйста,как это исправить?
-COREY- вне форума Ответить с цитированием
Старый 19.12.2009, 22:24   #28
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Так не надо удалять объект методом Free. Достаточно перезаписывать в TBitMap(вывода) изображение новой фигуры и выводить на канву.А каждую фигуру хранить в своем TBitMap.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 19.12.2009, 22:29   #29
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

Спасибо,разобрался,теперь ещё вопрос.Мне надо чтобы listbox выводил порядок ходов.Вот кусок, который надо вывести.
Код:
str:=IntToStr(ListBox1.Count + 1) + '. ';
str:=str+letter[xforcell(o_cl)]+inttostr(8-yforcell(o_cl))+ '-'+
     letter[xforcell(n_cl)]+inttostr(8-yforcell(n_cl));
ListBox1.AddItem(Str, nil);
Куда его вписать подскажите пожалуйста
-COREY- вне форума Ответить с цитированием
Старый 20.12.2009, 00:39   #30
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию

ещё одна трабла,есть такое правило,когда пешка доходит до последней линии противника то превращается в ферзя,требуется отключить изображение пешки от объекта и подключить ферзя,при обновлении доски delphi опять капризничает.
вот код действия
Код:
procedure TFigures.PawnPerform(cl:shortint);
begin
  if yforcell(cl)=0 then
  begin
    ft:=ftQueen;
    img.Destroy;
    img:=TBitmap.Create;
    img.LoadFromFile('\images\wq.bmp');
  end
else Exit;
end;
-COREY- вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача шахматы darter96 Помощь студентам 7 25.06.2009 13:43
Delphi шахматы kacky Помощь студентам 3 30.10.2008 20:09
Шахматы Shchetnev Фриланс 10 27.05.2008 00:36
Делаю сайты, пишу маленькие/большие скрипты. Пишу веб-приложения и приложения под Windows. SkyM@n Фриланс 3 29.12.2007 16:21
сама пишу на делфи...а надо... Алёна Фриланс 5 11.12.2007 21:43