ТП_Курсовые работы_Игра. 1. Требования к курсовым работам 2 Задания для курсовых работ 3
Скачать 0.58 Mb.
|
Оглавление1.Требования к курсовым работам 2 2.Задания для курсовых работ 3 2.1.1.Задание 1. Написать программу играющую в Русские шашки. 3 2.1.2.Задание 2. Написать программу играющую в Международные ШАШКИ. 3 2.1.3.Задание 3. Написать программу играющую в ПОДДАВКИ. 3 2.1.4.Задание 4. Написать программу играющую в ГО-БАН. 3 2.1.5.Задание 5. Написать программу играющую в ЛУЧНИКИ. 3 2.1.6.Задание 6. Написать программу играющую в ГО 4 2.1.7.Задание 7. Написать программу играющую в ГЕКСАГОН. 4 2.1.8.Задание 8. Написать программу играющую в КВАДРАТЫ 5 2.1.9.Задание 9. Написать программу играющую в 5 ПОЛЕЙ 6 2.1.10.Задание 10. Написать программу играющую в игру БОРЬБА ЗА ЖИЗНЬ 6 2.1.11.Задание 11. Написать программу играющую в игру МЕЛЬНИЦА 6 2.1.12.Задание 12. Написать программу играющую в игру ПЯТЬ В РЯД 7 2.1.13.Задание 13. Написать программу играющую в игру РЭНДЗЮ 7 2.1.14.Задание 14. Написать программу играющую в игру УГОЛКИ 7 2.1.15.Задание 15. Написать программу играющую в игру ОТЕЛЛО (РЕВЕРСИ) 8 2.1.16.Задание 16. Написать программу играющую в игру ШЕСТНАДЦАТЬ СОЛДАТ 8 2.1.17.Задание 17. Написать программу играющую в игру ЛИСА И ГУСИ 8 2.1.18.Задание 18. Написать программу играющую в игру «Оберег». 9 2.1.19.Задание 19. Написать программу играющую в игру «Война вирусов» 12 2.1.20.Задание 20. Написать программу, играющую в Португальские шашки. 13 2.1.21.Задание 21. Написать программу, играющую в Итальянские шашки. 13 2.1.22.Задание 22. Написать программу, играющую в Бразильские шашки. 13 2.1.23.Задание 23. Написать программу, играющую в Английские шашки. 13 2.1.24.Задание 24. Написать программу, играющую в Армянские ШАШКИ. 13 2.1.25.Задание 25. Написать программу, играющую в Готические ШАШКИ. 13 2.1.26.Задание 26. Написать программу, играющую в Фризские ШАШКИ. 13 2.1.27.Задание 27. Написать программу, играющую в Польские ШАШКИ. 13 2.1.28.Задание 28. Написать программу, играющую в Турецкие ШАШКИ. 13 2.1.29.Задание 29. Написать программу, играющую в Двухходовые ШАШКИ. 13 2.1.30.Задание 30. Написать программу, играющую в Одноцветные ШАШКИ. 13 ПОРЯДОК ВЫПОЛНЕНИЯ КУРСОВЫХ РАБОТ Получить у преподавателя вариант задания к курсовой работе. Ознакомится с правилами игры. Разработать удобный пользовательский интерфейс. Пользователь игровой программы должен иметь возможность пользоваться как клавиатурой, так и мышью. Разработать структуры данных для оперирования такими понятиями как состояние игры, дерево игры, ход игрока и т.д. Разработать оценочную функцию хода игрока. Разработать алгоритм поиска лучшего хода для игрока (компьютера). Разработать и добавить в алгоритм генерации хода алгоритм быстрого нахождения ситуаций, которые уже были рассмотрены (если требуется). Разработать документацию, состоящую из: Правил игры. Инструкции пользователя, описывающей как пользоваться программой. Инструкции программиста, описывающей используемые структуры данных, классы, функции. Оформить отсчёт по курсовой работе. Требования к курсовым работамСодержание отчета: Титульный лист взять на сайте кафедры ИСУ Текст задания. Правила игры. Текст программы с комментариями Инструкция пользователя. Инструкция программиста. Инструкция администратора. Используемая литература. Задания для курсовых работЗадание 1. Написать программу играющую в Русские шашки.Задание 2. Написать программу играющую в Международные ШАШКИ.Задание 3. Написать программу играющую в ПОДДАВКИ.Задание 4. Написать программу играющую в ГО-БАН.Участвуют два игрока. Каждый получает по 12 шашек. Игрок, получивший белые шашки, ставит одну из них на любой из квадратов доски. Затем точно так же выставляется в любом месте чёрная шашка, потом белая и так далее по очереди. Цель игры — выставить пять из своих шашек в ряд по прямой линии — горизонтальной, вертикальной или по диагонали. Играющий, увидев что его противник выставил три из своих шашек в ряд по прямой линии, должен сейчас же возле них выставить в линию свою шашку. Если он этот момент пропустит и противник выставит в ряд четыре шашки, то он уже не сможет помешать выставить и пятую, так как не сумеет перекрыть ряд, действуя только с одного конца. Когда противники выставили все свои 12 шашек, они по очереди начинают передвигать их, стремясь к той же цели — расположить пять своих шашек в ряд по прямой линии. Передвигать шашки можно в любую сторону, но только на смежный квадрат, не занятый шашкой. Каждая получившаяся комбинация из пяти шашек записывается (во избежание повторения) и приносит игроку одно очко. Выигрывает игрок, получивший первым 10 очков. Задание 5. Написать программу играющую в ЛУЧНИКИ.Играют двое. Для игры требуются 10 фишек — 5 одного и 5 другого цвета. Ходят поочерёдно. Каждый лучник перемещается на одно поле, соединённое линией с тем полем, на котором он находится (ближайшее). Если лучник одной из «орд» окажется на «линии выстрела», т. е. на поле, соединённом прямой линией с полем, на котором стоит лучник противника, то считается поражённым (снимается с доски). Поражённый лучник может вернуться на старт, если один из лучников его «орды» достиг любого стартового места кочевья противника, однако это может сделать только тот, кто сам подстрелил врага. Лучник, находящийся на стартовой линии противника, не может поражать вражеских лучников пока не сойдет с нее. Ни один лучник не может совершать свыше трёх ходов «туда-обратно» между двумя соседними полями. Цель игры: переместить, согласно правилам, свои фишки на места фишек противника. Задание 6. Написать программу играющую в ГОЗадание 7. Написать программу играющую в ГЕКСАГОН.Поле состоит из 6-гранных клеток. Размер поля – по выбору. Два игрока ходят по очереди. Возможны ходы: 1) Поставить новую свою шашку на любую свободную из 6 клеток, смежных со своей шашкой. 2) Переставить свою шашку на любую свободную клетку, смежную с клетками, смежными с прежним положением этой шашки. В любом случае, если на клетках, смежных с новым положением своей шашки, есть шашки противника, они заменяются на свои. Игра заканчивается, когда все клетки заняты. Выигрывает тот, кто занял больше клеток. Задание 8. Написать программу играющую в КВАДРАТЫ
Описание Ваша цель - захватить как можно больше квадратов. Захватить квадрат можно только тогда, когда вокруг нее уже имеется три линии. Задание 9. Написать программу играющую в 5 ПОЛЕЙПоле n n клеток с четырёх сторон окружено такими же полями-лепестками. Играют два игрока. Вначале шашки одного игрока заполняют один лепесток, другого соседний. Игроки ходят по очереди. Возможные ходы. 1) Переставить свою клетку на соседнюю клетку. 2) Переставить свою шашку через соседнюю клетку, если та занята другой шашкой. За один ход можно последовательно перешагнуть через несколько шашек. Выигрывает тот, кто быстрее переставит все свои шашки на противоположный лепесток. Задание 10. Написать программу играющую в игру БОРЬБА ЗА ЖИЗНЬДва игрока имеют по n шашек и играют в поле m m клеток, делая ходы по очереди. Возможные ходы: 1) переставить свою шашку на соседние свободные клетки 2) переставить свою шашку через поле, если оно занято другой шашкой. Если шашка с трёх сторон окружена шашками противника, она снимается с поля. Если пустая клетка с 3-х сторон окружена шашками одного игрока, на её место ставится новая шашка этого игрока. Цель игры – убрать с доски все шашки противника. Задание 11. Написать программу играющую в игру МЕЛЬНИЦАВ начале игры оба играющих выставляют по очереди каждый свои 9 фишек на любые кружки игрового поля, стараясь поставить три фишки в один ряд. Задача играющего — расположить свои фишки на игровом поле так, чтобы партнёр не мог замкнуть ряда. После того как все 18 фишек будут выставлены, они начинают делать ходы, передвигаясь на один свободный кружок по чёрным линиям (сплошным или штриховым). Цель остаётся та же — построить три фишки в ряд по горизонтали, вертикали или диагонали. Построив такой ряд, играющий снимает одну фишку противника. Построив второй, снимает ещё одну фишку и т.д. Разрешается “перепрыгивать” через одну фишку (свою или противника), если за нею имеется свободный кружок. Тот, у кого останутся две фишки, считается проигравшим, так как из двух фишек уже нельзя построить ряд. Иногда применяется ещё одно дополнительное правило. Когда у одного играющего остаются всего три фишки, он получает право переносить свою фишку на любой кружок игрового поля, независимо от начерченных линий, тогда как второй играющий ходит по обычным правилам до тех пор, пока у него не останутся три фишки. Задание 12. Написать программу играющую в игру ПЯТЬ В РЯДИгра как в обычные крестики нолики, но на бесконечном поле и собрать необходимо ряд из пяти элементов. Задание 13. Написать программу играющую в игру РЭНДЗЮЗадание 14. Написать программу играющую в игру УГОЛКИЦель игры переставить шашки из своего угла (дома) в угол соперника раньше, чем он построит свои в Вашем углу. Ходы делаются по очереди. Движение возможно по горизонталям и вертикалям только в направлениях к углу противника. За один ход передвигается не более одной шашки. Шашка может либо передвигаться на одно поле либо перепрыгивать через одну или несколько шашек. Игра заканчивается, когда один из игроков построил все свои шашки в доме противника. Все шашки необходимо вывести из своего дома не позднее чем за 3*'количество шашек' ходов - иначе будет засчитан проигрыш. Задание 15. Написать программу играющую в игру ОТЕЛЛО (РЕВЕРСИ)Задание 16. Написать программу играющую в игру ШЕСТНАДЦАТЬ СОЛДАТИгроки делают ходы по очереди, и все фигуры могут передвигаться в любом направлении вдоль линий доски, ортогонально или диагонально, к следующей точке пересечения. Взятие происходит путём перескакивания через фигуру противника на свободную точку, расположенную за ней, и любое количество фигур может быть взято за один ход при последовательных прыжках. Игрок, снявший всех солдат противника, считается победителем. Задание 17. Написать программу играющую в игру ЛИСА И ГУСИИгра лиса и гуси тоже довольно старая и некогда была очень популярна в Европе. Существует немало разновидностей этой игры, одну из которых мы и опишем. Прежде всего, необходимо подготовить игровое поле, которое своей формой напоминает объемный крест. Внутри поле расчерчено на небольшие квадраты, каждый из которых, в свою очередь, разделен на четыре треугольника. Для игры необходимо 17 фишек одного цвета и формы. Это гуси. В качестве фишки-лисы можно взять крупную монету или пуговицу. Участвуют в игре два человека, один из которых будет лисой, а другой сыграет за гусей. Перед началом партии необходимо расставить фишки в исходную позицию. Гуси должны занимать ровно половину нижней части всего игрового поля. А вот у того игрока, который будет лисой, есть право выбора, поэтому он может поставить свою единственную фишку в любой пункт поля. Во время игры каждый участник преследует свою цель. Лиса стремится «съесть» как можно больше гусей, последние, в свою очередь, стараются устроить лисе ловушку так, чтобы она больше не смогла сделать ни одного хода. Если удастся запереть лису, то побеждает игрок фишками – гусями. Лиса выигрывает в том случае, если на поле от 17 останется только 6 гусей. Ходы в этой игре можно делать по тому же принципу, что и в шашках. Фишка-гусь за один ход передвигается на одну свободную клетку по вертикали или по горизонтали. Она может также двигаться вперед, влево, вправо и назад. Кроме того, фишке-гусю принадлежит право первого хода. Фишка-лиса может ходить таким же образом. Но, в отличие от фишки-гуся, у нее есть преимущество: в дополнение к ранее перечисленным ходам она передвигается еще по диагонали. Ходы игроки делают по очереди, переставляя фишки на свободные поля. При этом каждый из них не забывает о намеченной цели. Гуси до тех пор, пока не запрут лису, не могут причинить ей никакого вреда, но фишка-лиса при удобном расположении фигур съедает гуся. Задание 18. Написать программу играющую в игру «Оберег».Правила игры. Игра предназначена для двух игроков. Перед началом игры расставьте фишки на игровом поле следующим образом (фишки отмечены разноцветными кружками): Чтобы начать игру, одному игроку предстоит принять сторону варягов (князь и защитники), а другому – викингов (нападающие). Вы можете просто договориться о том, какую сторону кто из вас принимает, или использовать жребий. Для победы варягов князь должен достичь одного из четырёх выходов. Викинги, чтобы победить, должны захватить князя (о том, как захватывать фигуры, будет сказано ниже). Игроки совершают ходы по очереди, причём первыми ходят викинги. В свой ход игрок должен передвинуть одну любую свою фишку на произвольное число свободных клеток по горизонтали или вертикали (так же ходит ладья в шахматах). «Перескакивать» через стоящие на пути фигуры нельзя. Князь, в отличие от всех остальных фишек, не может быть перемещён более чем на три клетки. Зато только он может вставать на трон и на выходы – все остальные фишки на эти клетки ставить нельзя (переносить фишки через трон можно). Фигура считается захваченной и убирается с игрового поля, если в результате хода противника (но не в результате хода владельца фигуры!) она оказалась: Фишка должна быть зажата строго по горизонтали или вертикали – зажимать «углом», как показано на рисунке, нельзя: Князя можно захватить так же, как и все остальные фишки, кроме следующих случаев: Князь находится на троне. В этом случае нападающие должны занять все четыре клетки вокруг трона, перекрыв князю все пути к отступлению: б) Князь находится на соседней с троном клетке по горизонтали или вертикали. В этом случае нападающие должны занять все три клетки вокруг князя, прижав его к трону: В поле князь участвует в сражении также, как и другие фишки. В случае, если соперник не может сделать никакой ход (все фишки заблокированы), он признается проигравшим. Задание 19. Написать программу играющую в игру «Война вирусов»«Война вирусов» — игра, которая имитирует развитие двух колоний вирусов, которые развиваются сами и уничтожают друг друга. Правила игры Играют в «войну вирусов» два игрока на доске 10 на 10 клеток, один крестиками, другой ноликами. Ходят поочерёдно. Начинают крестики. Каждый ход состоит из трёх отдельных последовательных ходов (назовём их «ходиками»). Каждый «ходик» является либо размножением, либо убиванием. Размножение — это выставление своего символа в любую доступную пустую клетку доски, а убивание — это объявление убитым некоторого чужого символа, который находится на доступной клетке. Клетка считается доступной для крестиков, если она либо непосредственно соприкасается (по вертикали, горизонтали или диагонали) с живым крестиком, либо через цепочку убитых ноликов(но не через цепочку убитых крестиков!). Аналогично определяются клетки, доступные для ноликов: либо непосредственно соприкасающиеся с одним из ноликов, либо через цепочку убитых крестиков. Убитые крестики обводятся кружком, убитые нолики закрашиваются. Если игра ведётся не на бумажной доске, а при помощи доски «многоразового использования» и фишек с изображениями крестиков и ноликов, то убитую фишку надо накрыть своей фишкой. Вначале игры доска пуста, и полей доступных для крестиков нет, поэтому в порядке исключения они имеют право сделать свой первый «ходик» на a1. Точно также нолики имеют право своим первым «ходиком» выставиться на k10. В любой момент игрок может отказаться от хода. Однако выполнение вместо полного хода лишь одного или двух «ходиков» запрещается, за исключением того случая, когда выполнить полный ход невозможно в принципе. Запрещается: Ставить свой символ в уже занятую клетку. Убивать уже убитые символы противника. Целью игры является полное уничтожение колонии противника (то есть убивание всех вражеских символов). Если оба игрока, считая такое уничтожение невозможным, отказываются от хода, партия считается закончившейся вничью. Задание 20. Написать программу, играющую в Португальские шашки.Задание 21. Написать программу, играющую в Итальянские шашки.Задание 22. Написать программу, играющую в Бразильские шашки.Задание 23. Написать программу, играющую в Английские шашки.Задание 24. Написать программу, играющую в Армянские ШАШКИ.Задание 25. Написать программу, играющую в Готические ШАШКИ.Задание 26. Написать программу, играющую в Фризские ШАШКИ.Задание 27. Написать программу, играющую в Польские ШАШКИ.Задание 28. Написать программу, играющую в Турецкие ШАШКИ.Задание 29. Написать программу, играющую в Двухходовые ШАШКИ.Задание 30. Написать программу, играющую в Одноцветные ШАШКИ.Приложение 1 Образец бланка задания на курсовую работу (проект) Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Р. Е. АЛЕКСЕЕВА» (НГТУ) ____________________________________________________________________ Кафедра _________ «Информатика и системы управления» _______ Утверждаю Зав. кафедрой ИСУ ________________ Э.С. Соколова подпись ЗАДАНИЕ на курсовую работу (проект) по направлению 09.03.02 (230400) «Информационные системы и технологии» код, название направления подготовки, специальности ___________________________________________________________________ студенту_______________________________________ группы №____________ Ф.И.О. __________Института радиоэлектроники и информационных технологий____ института/факультета 1. Тема курсовой работы (проекта) ____________________________________________________________________ ____________________________________________________________________ 2. Срок сдачи курсовой работы (проекта)_________________________________ 3. Постановка цели, задач ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ 4. План выполнения курсовой работы (проекта) __________________________________________________________________________________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ ____________________________________________________________________ 5. Дата выдачи задания _______________________________________________ Руководитель ______________ Ф.И.О. подпись Задание принял ______________ подпись студента |