Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: CL | DM;

Вниз

программирование логических игр   Найти похожие ветки 

 
Toljan   (2005-05-29 11:26) [0]

Хочу узнать на каком математическом принципе строятся логические игры (не важно какие). По "голым" исходникам разобраться не реально. Подскажите кто что знает.


 
П7   (2005-05-29 13:21) [1]

Э...


 
Zer0 ©   (2005-05-29 13:30) [2]

а что вы понимаете под словосочетанием "логические игры"?


 
Zer0 ©   (2005-05-29 13:31) [3]

Удалено модератором


 
Antonn ©   (2005-05-29 13:34) [4]

Toljan   (29.05.05 11:26)
совершенно не понятный вопрос.


 
Кефир87   (2005-05-29 21:15) [5]

Математическом? Это ж логические игры. Значит и принцип логический 8)


 
Toljan   (2005-06-02 08:34) [6]

Подробнее... Как, например, написать гамесу "шашки" с нуля, или "шахматы", или "домино", чтобы программа расчитывала ответные ходы? На каком принципе строятся такие игры?


 
Antonn ©   (2005-06-02 10:00) [7]

Toljan   (02.06.05 8:34) [6]
перебор


 
Toljan ©   (2005-06-16 08:46) [8]

Кое-какие алгоритмы я нашел. Это Альфа-Бета отсечение, метод перебора, минимаксный метод и т.п. На словах все выглядит красиво, а вот кто пробовал писать программы с такими алгоритмами?


 
A22 ©   (2005-06-16 09:57) [9]

ну, блин, а по каким же еще алгоритмам оно пишется?:) Есть такая игра - "Рыцари и Купцы", "Carcasson" по-вражески, вот как раз Альфа-Бета с отсечением там и работает... Был такой журнал когда-то - "Программист", в номерах год так за 2003 были статьи на тему данных алгоритмов, в одном даже шахматы писались в качестве примера. Поищи, может в Интернет остались архивы


 
Ищущий   (2005-06-16 10:11) [10]

Если действительно нашел спецификацию алгоритма, а не вольное описание его - все просто и красиво.
По поводу написания игр,начни с "простого" - "ханойской башни" , "каллаха" , простых "линий", "сапера" и т.п.
Сразу написать хорошие шахматы не получится - факт.

PS: По поводу копания в коде - это ты зря ... если код хороший.


 
имя   (2005-06-21 19:05) [11]

Удалено модератором


 
П7   (2005-06-21 19:24) [12]

Не, ну ваще хамло!!!


 
Toljan ©   (2005-07-12 14:28) [13]

Я книжку купил. Там шахматная прога разобрана. В общем то все есть, читать только надо. Но у меня не шахматы, а другая игрушка. Может напишу её.


 
NS   (2005-08-17 15:42) [14]

(Ищущий) ну почему же... У меня получилось ;-)


 
NS   (2005-08-17 15:51) [15]

Для автора - самая просейшая модель начинается с предсталения позиции и генератора ходов.
Простейшее представление позиции -
массив на 64 элемента.
Значения - разные (есно с учетом цвета), например -
-7 Черный король
-6 черный ферзь
-5 черная ладья
-4 черный слон
-2 черный конь
-1 черная пешка
0 пустая клетка
1 белая пешка
2 ....
и т.д.
Отдельное значение (наприм 8) для поля, через которое только что пешка сделала двойной ход, при условие, что следующим ходом она может быть взята.
Плюс хранишь право на рокировку белых и черных, плюс очередь хода.
Всё - какое-то представление позиции написали...


 
Toljan ©   (2006-01-19 21:24) [16]

Я все-таки написал свою игрушку. Протестируйте...плиз.... Можно даже мнение свое выссказать или ошибки указать, недостатки всякие. А, может кто и похвалит. Короче! Любое мнение по-поводу и в тему учту, если будет время и желание. Игрушку скачать можно здесь: http://www.freeware.ru/program_prog_id_7992.html


 
Kind ©   (2006-01-19 22:40) [17]

Мне лично понравилась идея игры! Интересно!
Реализация тоже неплохая!
Уважаю людей которые что-то делают руками, стараясь максимально реализовать задуманное, даже если это не "пристижное" направление игрового жанра!
Удачи!


 
П7   (2006-01-20 02:10) [18]


> Toljan ©   (19.01.06 21:24) [16]

Блин, игру - супер! Только чертовски сложная для меня! (: Мож я такой тупой? (:
Сапёра в топку, Кубики форева! (:


 
Shirson ©   (2006-01-20 08:07) [19]

> Toljan  
Отличная игра!


 
twinc ©   (2006-01-20 09:39) [20]

игра понравилась...
Только она тоже чертовски сложная для меня! (:


 
П7   (2006-01-20 17:28) [21]

Пока научился выиграывать на лёгком. Правда не без кнопки "Отменить ход", но всё-таки.
Хотелось бы поиметь игру по сети. А то комп черезчур умный. (:


 
MonoLife   (2006-01-20 17:44) [22]

ну и ну! Давненько я не встречал ничего подобного. Автор так скромненько заявил о себе, а с такой игрухой можно ого-го куда... :)


 
TWINc ©   (2006-01-20 18:59) [23]

Автор прикрути онлайн :)


 
П7   (2006-01-21 00:12) [24]


> MonoLife   (20.01.06 17:44) [22]

Куда можно? Как шароварка не покатит:
1. Слишком сложно и непонятно для казуала.
2. Нет нормального шароварного интерфейса (аля всё блестит и переливается всеми цветами радуги), достают постоянные сообщения. [Всё это можно поправить]

Это игра не для всех. Т.е. своё комьюнити она поиметь может. Но:
1. Нужна в первую очередь реализация мультиплеера.
2. Нужен сайт и форум. (:
3. Нужна поддержка со стороны автора. В том числе по улучшению игры, добвлению новых режимов и правил, тактических приёмов и прочих наворотов и фишек. (:


 
Кефир87 ©   (2006-01-21 00:14) [25]

Браво! Только для моего интеллекта слишком сложно 8)


 
Toljan ©   (2006-01-22 08:51) [26]

- Большое спасибо за отзывы. Учту при написании новых версий. Сейчас начинаю работать над сетевой фишкой. Там будет обычный мультиплеер и простенький чат.
- Наверно достали уже всякие назойливые сообщения в игре. Я это сделал по стандарту с шахматными игрухами. Но в дальнейшем включу в настройках отмену всяких "излишеств".
- Игра по-началу кажется слишком сложной. Я думал над этим и решил в качестве обучения сделать "подсказку"  в программе. Автора игры, я к сожалению не знаю. У меня есть просто настольная (пластмассовая) ее версия. Именно по этому макету я и написал электронный вариант.
- На будущее, если моя программа будет иметь успех, постараюсь переделать ее под 3D DirectX, чтобы все красиво было.
- Сайт и форум по игре - мысль не плохая, тоже буду думать.


 
Кефир87 ©   (2006-01-22 13:39) [27]


> постараюсь переделать ее под 3D DirectX

А вот это уже лишнее ИМХО. И так хорошо 8)


 
П7   (2006-01-22 14:41) [28]


> Toljan ©   (22.01.06 08:51) [26]

На счёт подсказок в игре - не хватает вот чего (лично мне, по крайней мере): Выбрали куб (показались варианты ходов). Так вот, если правой кнопкой ткнуть, чтобы показались возможные ходы, после этого хода.

Блин, запутнанно описал.. (: Надеюсь ты поймёшь.


 
Shastox ©   (2006-01-22 18:56) [29]

Самое интересное, что в жизни шахматы - намного более сложная игра, чем шашки, а в программировании наоборот.


 
П7   (2006-01-22 21:01) [30]


> Shastox ©   (22.01.06 18:56) [29]

И механика и алгоритм ИИ для шахмат программируется гораздо сложнее, чем для шашек.


> Toljan ©   (22.01.06 08:51) [26]

Недавно выиграл на среднем". Блин, кнопка "Отменить ход" рулит!
А можно как-то партию в файл записывать? Чтобы потом свои победы можно было прокрутить ещё разок... (:


 
Shastox ©   (2006-01-22 23:27) [31]


> И механика и алгоритм ИИ для шахмат программируется гораздо
> сложнее, чем для шашек

Нет. В шахматах все ходы линейны: берешь фигуру, перебираешь все ее ходы с учетом "статуса" этой фигуры и т.д.
В шашках: несколько вариаций правил (это не считаем) + оф. разветвление.
Это развтевление НАМНОГО сложнее чем простой перебор ходов для шахмат.


 
П7   (2006-01-22 23:40) [32]


> Shastox ©   (22.01.06 23:27) [31]

Что ты имеешь в виду под разветвлением?


 
Shastox ©   (2006-01-23 00:11) [33]

Разветвление для шашек (например):
ПК должен совершить ход, он может начать есть с одной из двух шашек, съедает одну (можно съесть еще одну) он есть ее и еще одну, если ПК изначально выбрал другую шашку, он пойдет по другому маршруту, которые могут пересекаться. Из-за этих пересеканий маршрутов может появиться зациклинность в рекусрсии.
т.е я хочу сказать в шахматах, например, берем ход слона и начинаем в четырех направляниях тупо перебирать ходы, допустим в данный момент проверяется клетка справа и выше: есть там фишка опоннента-встаем туда, нет фишки - тоже встаем туда, проверяем теперь ход другого игрока. В шашках же мы перескакиваем через фишку противника, а там еще может можно есть, то есть просто ход вверх и вправо может превратиться в сложную цепочку передвижений.
Единственное в шашках легче то, что есть всего два наименования: просто шашка и дамка.

Наверно не очень понятно объяснил свои мысли...


 
П7   (2006-01-23 00:24) [34]


> Shastox ©   (23.01.06 00:11) [33]

Т.е. ты хочешь меня убедить в том, что когда просчитываешь ходы в шахматах, то фигура ВСЕГДА переместится на клетку, на которой ещё не была? И рекурсия не зациклится? Нуну...
В шахматных алгоритмах сложна тактика расстановки фигур.


 
Shastox ©   (2006-01-23 00:41) [35]


> фигура ВСЕГДА переместится на клетку, на которой ещё не
> была?

Чего?.. Это я такое сказал? Я имел ввиду, что алгоритм просчитывает все передвижения того слона и выбирает лучшее.

> И рекурсия не зациклится?

Правильная рекурсия и в шашках не зациклится.

> В шахматных алгоритмах сложна тактика расстановки фигур.

Это не понял.


 
П7   (2006-01-23 02:44) [36]


> Shastox ©   (23.01.06 00:41) [35]

В таких играх очень важна расстановка фигур на перспективу. Т.е. поставить фигуру так, чтобы она через 10 ходов оказалась фатальной для противника. И в шашках и в шахматах. Но из-за специфики шахмат и наличия большого числа разно-ходящих фигур такая расстановка гораздо сложнее, чем в шашках.
Конечно, если делать просчёт лишь текущего хода, то шашки может и сложнее.. (:


 
Shastox ©   (2006-01-23 11:21) [37]


> Конечно, если делать просчёт лишь текущего хода, то шашки
> может и сложнее.. (:

Зачемтолько текущего?
Например я играю с ПК. Ход пк: перебирает все ходы (возможные), далее на каждый свой-перебирает все мои и.т.д. Потом выбирает наиболее удачную комбинацию.


 
П7   (2006-01-23 12:16) [38]


> Shastox ©   (23.01.06 11:21) [37]

Угу. Только критерии оценки "наиболее удачной комбинации" в шахматах программируются сложнее.


 
Toljan ©   (2006-01-23 22:23) [39]

А что будет, если я у кубиков сделаю все грани одинаковой силы, т.е. если кубик показывает "5", то так будет постоянно, как его не вертеть на доске. То же самое и с "2"-ми и "1"-ми и "6"-ми.


 
Toljan ©   (2006-01-23 22:27) [40]

Естественно, это будет всего лишь одна из опций в настройках.



Страницы: 1 2 вся ветка

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.017 c
4-1179822306
cosinus
2007-05-22 12:25
2007.12.02
Как найти одно из чужих окон по его потомку?


8-1170253186
Alek_1
2007-01-31 17:19
2007.12.02
как создать ави файл?


15-1194236411
Bess
2007-11-05 07:20
2007.12.02
ICO вместо BMP


15-1194188642
AlexanderMS
2007-11-04 18:04
2007.12.02
Кодировка Windows-1251


15-1194252709
andreoman
2007-11-05 11:51
2007.12.02
программка фиксирующа обращение к порту ПК