Помощь - Поиск - Пользователи - Календарь
Полная версия: fool.
Форум «Всё о Паскале» > Pascal, Object Pascal > Написание игр
renesko1
Написал дурака ( не подкидного и не пепеводного, но это дело времени... ) в текстовом режиме.
Если честно тестировал не долго, по этому пишите здесь про лаги (+ предложений (кому не лень)).
Код корявый...

Вот ----> Нажмите для просмотра прикрепленного файла

AI (smile.gif) ходит и бьется по возможности самой маленькой картой.
andriano
Ностальгия, однако.
Первая написанная мною компьютерная игра была как раз "Дурак".
Работала в текстовом режиме CGA, отображала карты псевдографикой (белый квадратик на черном фоне с указанием достоинства и масти - черным или красным цветом. Естественно, только в одном верхнем левом углу), реализовывала вариант подкидного дурака. Управление - стрелки и Ввод, выбранная карта подсвечивалась синим. Музыкальные фразы через PC-спикер при старте, выигрыше и проигрыше.
Написана была на Фортране (тогда все писали на Фортране) со подключаемыми obj-файлами, написанными на Ассемблере - для работы с клавиатурой и экраном, чего в тогдашнем Фортране не было.

Но в программу на самом первом этапе закралась ошибка - почему-то я посчитал, что на одной руке не может быть более 18 карт (половины колоды). Поленился сделать второй ряд, а в одном ряду для каждой карты надо было разместить: рамку, достоинство (до 2 символов) и масть - всего не менее 4 символов. Т.е. при ширине экрана 80 символов - как раз и получалось 18 карт с учетом того, что верхняя (правая) карта показывалась в полную ширину - 12 символов.

Увы, сейчас уже и исходники, и exe-шник найти, думаю, проблематично.

PS. Решил сначала сделать интерфейс, чтобы затем можно было отлаживать AI, поэтому AI был в точности таким, как написано выше. Но к своему удивлению обнаружил, что такая "дубовая" стратегия дает хороший результат. Понял, что игру так назвали неспроста. ;)
Michael_Rybak
Цитата
Понял, что игру так назвали неспроста. ;)


есть люди, у которых оооооочень сложно выиграть хоть один раз.
andriano
Ты будешь смеяться, но я сам был поражен, когда обнаружил, что у некоторых людей (кстати, кандидатов наук) сия программа выигрывает более, чем в половине случаев.
Michael_Rybak
нет, я верю, что такая стратегия работает хорошо. просто что это не повод называть игру дураком, т.к. существуют очень крутые стратегии.

а дураком она называется потому, что там норовят подбросить лишнего под шумок smile.gif
andriano
Насчет крутых стратегий - не верю. Скорее всего, успех, как и во многих карточных играх, связан с самообладанием.
А насчет повода - ну называется она так. smile.gif
Michael_Rybak
Цитата
Насчет крутых стратегий - не верю.


Против такого аргумента умолкаю.
andriano
Цитата(Michael_Rybak @ 15.03.2008 3:50) *

Против такого аргумента умолкаю.

Я могу переформулировать помягче: "Не поверю, пока не увижу." ;)
spill
Интересная игра, мне понравилась smile.gif Только интерфейс покрасивее сделай... Или хотя бы отсортируй карты игрока. Желательно, по масти. А еще лучше, чтобы пользователь сам мог выбрать способ сортировки.
renesko1
Цитата(spill @ 15.03.2008 15:10) *

Только интерфейс покрасивее сделай... Или хотя бы отсортируй карты игрока. Желательно, по масти. А еще лучше, чтобы пользователь сам мог выбрать способ сортировки.


Спс. интерфейс ,мягко говоря убогий ,но это мой один из 1 опытов
с динам. структурами и меня интересовало написание пр. а не результат .А
так ,если не лень будет, сделаю и итерф. + подкидывание
andriano
Да - интерфейс можно считать второстепенным по сравнению с логикой игры, которую и следует считать основным. Но практика показывает, что своевременно сделанный интерфейс (не обязательно полномасштабный - могут быть квадратики вместо картинок и т.п., но они должны адекватно располагаться на экране и перемещаться по нему) существенно облегчает последующую отладку и особенно тестирование игры.
Michael_Rybak
Цитата
своевременно сделанный интерфейс существенно облегчает


вот кстати очень да.
renesko1
Цитата(Michael_Rybak @ 16.03.2008 15:22) *

вот кстати очень да.


Приму во внимание
spill
Заодно прими во внимание то, что структуру данных нужно с самого начала процесса разработки программы конструировать в соответствии с тем, что ты хочешь видеть, таким образом, чтобы потом можно было добавить что-то, не переписывая половину кода.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.