|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.10.2012, 18:36 | #1 |
Новичок
Джуниор
Регистрация: 25.10.2012
Сообщений: 2
|
игра xonix
Сможете дать написать часть кода,что бы зацепиться за идею,завтра нужно будет сдавать эту задачу ,а я даже не понял её смысла
(P.S. Пишем подобные задачи каждый месяц,взятых из олимпиадных задач города.) Задача: Xonix Имя входного файла: стандартный ввод Имя выходного файла: стандартный вывод Ограничение по времени: 10 секунд на 10 ходов Ограничение по памяти: 256 мегабайт Первая версия игры Xonix была создана в 1984 году как клон игры Qix, появившейся ранее на аркадных автоматах. wikipedia В этой задаче Вам предстоит сыграть в модификацию игры Xonix для двоих участников. Игра проводится на поле размера 15 15. У каждого игрока есть «курсор», который он может на своём ходу переместить в одном из четырёх направлений: вверх, вниз, влево или вправо. При перемещении курсора клетка, на которую он переместился, присоединяется к территории игрока. Также к территории игрока присоединяются все клетки, которые окружены его территорией (то есть такие клетки, из которых нельзя уйти за границу поля, не пройдя через клетку территории игрока). Рассмотрим небольшой пример. Будем обозначать территорию первого игрока символом 1, территорию второго игрока символом 2, курсор первого игрока символом 3, курсор второго игрока символом 4. Незанятые клетки будем обозначать символом .. Рассмотрим следующую ситуацию: 1 1 1 1 1 . . . 1 . . 3 1 1 1 1 После того как в этой ситуации первый игрок сделает ход вверх, к его территории добавятся ещё четыре дополнительные клетки: 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 Но при этом в такой ситуации: 1 . . . 1 . . 3 1 . . 1 1 1 1 1 При ходе первого игрока вверх дополнительные клетки к его территории не присоединятся, поскольку из них можно дойти до границы поля, не проходя по территории игрока. Поле будет выглядеть следующим образом: 1 . . 3 1 . . 1 1 . . 1 1 1 1 1 Если после хода игрока на поле появляются клетки, из которых нельзя дойти до границы поля, не проходя по территории игрока, но можно дойти, если использовать помимо свободных клеток ещё и территорию соперника, такие клетки не считаются окружёнными. Естественно, игрок не может делать ход на территорию соперника. Игра заканчивается либо когда на поле не остаётся свободных клеток (не принадлежащих ни одному из игроков), либо по прошествии 1000 ходов (по 500 ходов каждого игрока). Страница 1 из 2 Формат входного файла Перед каждым ходом Вам будет передано карта: 15 строк по 15 символов в каждой. Каждый символ обозначает одну клетку поля. Ничейные клетки обозначаются символом ’.’, Ваша территория обозначается символом 1, территория соперника символом 2, Ваш курсор — символом 3, курсор соперника — 4. Формат выходного файла На каждом ходу выведите единственный символ, обозначающий, в какую сторону Вы хотите сдвинуть свой курсор. Движение влево (уменьшение номера столбца) обозначается символом L, движение вправо (увеличение номера столбца) — символом R, вверх (уменьшение номера строки) — символом U, вниз (увеличение номера строки) — D. Если Ваш ход окажется некорректным (будет вести за границу поля или на территорию соперника), он будет проигнорирован. Не забывайте сбрасывать буфер вывода после каждого хода. Также не забывайте, что Ваша программа не должна завершаться сама по себе, потому после последнего хода можно например сделать фиктивную операцию чтения. В примере приведен вывод для одного хода. Примеры ввод 3.............. ............... ............... ............... ............... ............... ............... ............... ............... ............... ............... ............... ............... ............... ..............4 вывод D |
27.10.2012, 22:49 | #2 |
Новичок
Джуниор
Регистрация: 25.10.2012
Сообщений: 2
|
Никто тоже не понял что делать?)
|
28.10.2012, 10:52 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Если вкратце, то Вам нужно реализовать игру "Xonix" в текстовом режиме для двух игроков. Они ходят по очереди. После каждого хода осуществляется проверка корректности хода и, если он был корректен, выводится изменённое игровое поле (результат хода игрока).
|
28.10.2012, 11:13 | #4 |
Пользователь
Регистрация: 21.12.2011
Сообщений: 54
|
stealth(собака)bigmir.net
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Xonix | Intess | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 02.05.2009 20:03 |
Исходник игры xonix! | Mixonow | Фриланс | 4 | 05.05.2008 19:36 |