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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2010, 22:01   #1
SKD
Новичок
Джуниор
 
Регистрация: 09.05.2010
Сообщений: 2
Восклицание игра "лиса и курицы"

дали как дополнительное задание на зачете, поэтому очень срочно
помогите, плиз, написать алгоритм игры за компьютер желательно на с++ (часть проги/дерево)

условия игры:
1) дано поле размером n на m клеток
2) число лисиц =1; число куриц задается игроком
3) курицы управляются игроком; за лису ходит компьютер
4) раз в 3 хода курица рожает курицу
5) лиса либо просто ходит на пустую клетку, либо ест курицу (если попадает на клетку с курицей)
6) курица ходит на 1 клетку в любом направлении
7) лиса ходит на 1-2 клетку в любом направлении
8) если лиса за 3 ход не съела ни одной курицы, она погибает
9) если вокруг лисы оказывается 6 куриц, лиса погибает (ее заклюют, хотя вокруг лисы 9 клеток)


может, кому поможет часть кода игры "борьба за жизнь" (там трава, зайцы и волки)
Вложения
Тип файла: txt Unit1.txt (10.8 Кб, 124 просмотров)

Последний раз редактировалось SKD; 12.06.2010 в 22:04.
SKD вне форума Ответить с цитированием
Старый 13.06.2010, 10:42   #2
SKD
Новичок
Джуниор
 
Регистрация: 09.05.2010
Сообщений: 2
По умолчанию

все еще актуально(
SKD вне форума Ответить с цитированием
Старый 13.06.2010, 11:36   #3
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

Ого просишь значит AI написать. Ну тут в принципе после каждого хода надо делать проверки. поле задается двумерным массивом. Для этого я советую тебе лучше написать новый тип. Так же надо написать функцию по созданию поля.
Код:
type
 TField = array of array of byte;
 TGameField = record
   w,l: integer;//размеры поля
   FFiel: TField//Само поле
 end;
//0 - пусто
//1 - курица
//3 - лиса

function CreateGameField(w,l: integer): TGameField;
begin
 result.w:= w;//ширина
 result.l:= l;//длина
 SetLength(Result.FField,w,l);
//Индексация массива пойдет с 0
end;
Ну вот это самое начало. У тебя будет поле, в которое ты запихнешь свою лису и курицу. А дальше надо как-то делать ходы (я незнаю какой тебе нужен способ ввода информации, да и в AI я не силен). А потом делать проверку. Например:
Код:
...
if lasteat - steps > 3 then writeln('голод');
//lasteat - надо записывать номер шага, на котором лиса съела курицу
//steps - кол-во шагов
...
Ну в общем дальше сам дерзай.
alexprey вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Игра "Ghost Recon Advanced Warfighter 1"(GRAW) Air Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 27.07.2008 08:07
Игра "четный" "нечетный" bigcat Помощь студентам 1 01.03.2008 00:24