Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АлгСтрДанных_Задания_Курсовые работы.docx
Скачиваний:
22
Добавлен:
18.11.2019
Размер:
1.75 Mб
Скачать

Задание 22. Написать программу играющую в игру манкала

У каждого из двух партнеров по шесть коробочек-ниш, в каждой из которых три камня, но можно играть на доске 6х2, поля которой соответствуют нишам, а камни раскладываются прямо на полях.

Сбоку от доски имеются две большие ниши – манкалы. Правая от игрока – банк: попавшие туда камни становятся его собственностью. В начале игры во всех нишах по три камня. На каждом ходу игрок берет камни из своей ниши и раскладывает их по одному против часовой стрелки, включая свою манкалу, а манкалу противника пропускает. После хода игрока возможны четыре ситуации:

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

2) последний камень попал в его пустую нишу; тогда он забирает все камни из ниши соперника (если она не пуста), расположенной напротив, и помещает их в свою манкалу;

3) последний камень попал в манкалу; тогда он делает еще одну раскладку из любой своей ниши;

4) последний камень попал в нишу противника; тогда камни не берутся, а ход передается партнеру.

Игра завершается, когда все ниши одного из игроков окажутся пустыми. В этом случае соперник перекладывает оставшиеся камни в свою манкалу. Выигрывает тот, чья манкала содержит больше камней.

Задание 23. Написать программу играющую в игру калах

Играют двое, ходы выполняются по очереди. Камни по лункам разложены так, как показано на рисунке. Каждому игроку принадлежит ближний ряд лунок и правый калах. Цель игры — накопить в своем калахе как можно больше камней. Игрок берет камни из любой лунки своего ряда и раскладывает их против часовой стрелки по одному в лунки своего ряда, затем в свой калах, пропуская калах противника, затем в лунки ряда противника.

Правила. Ход закончен, когда положен последний камень. Если ход закончен в своем калахе, игрок получает право на дополнительный ход. Иногда получаются замечательные каскады дополнительных ходов. Если ход заканчивается в своей пустой лунке, то игрок берет все камни из противоположной лунки ряда партнера и свой камень, и кладет в свой калах. Когда все лунки ряда одного из игроков окажутся пустыми и ему нечем совершать очередной ход, игра заканчивается. Тогда второй игрок переносит все камни из своего ряда в калах. Выигрывает тот, кто собрал в калахе больше половины всех камней. При равенстве количества камней в калахах партия считается ничейной.

Задание 24. Написать программу играющую в игру чисоло

Здесь у игроков по два ряда лунок, причем в каждой по семь камней (игра как бы ведется на доске 7х4). Начальная расстановка показана на рисунке.

Партнеры раскладывают камни только по двум рядам своих лунок (большие лунке не участвуют в процессе, а в них собираются снятые камни) по часовой стрелке или против. При раскладке возможны три варианта:

1) если последний камень попал в лунке, в которой есть камни, то ход не заканчивается: игрок забирает их и продолжает раскладывать дальше;

2) если последний камень попал в пустую лунку первого ряда (ближнего к игроку), то ход передается сопернику;

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

Выигрывает тот, кто первым захватит все камни соперника.

Задание 25. Написать программу играющую в игру НИМ

Вначале фишки раскладываются на несколько рядов. Игроки по очереди забирают одну или несколько фишек из любого ряда. Не разрешается за один ход брать фишки из нескольких рядов. Выигрывает тот, кто возьмет последнюю фишку (фишки).

Задание 26. Написать программу играющую в игру ОТЕЛЛО (РЕВЕРСИ)

Задание 27. Написать программу играющую в игру ТАК-ТИКС

На доске n n расставлены одинаковые фишки, на каждом поле по одной. Игроки по очереди берут несколько фишек из одного вертикального, горизонтального ряда или части ряда не содержащего дырок. Проигрывает тот, кто вынужден взять последнюю фишку.

Задание 28. Написать программу играющую в игру БРИДЖ-ИТ

Игра в квадрате n n. Партнёры по очереди проводят горизонтальные и вертикальные отрезки, соединяя ими точки своего цвета. Линии противников нигде не должны пересекатся. Выигрывает тот кто первым построит ломаную своего цвета, связывающую потивоположные стороны доски.

Задание 29. Написать программу играющую в игру РАССАДА

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

Затем игроки по очереди ходят. Каждый ход игрока состоит в том, что он либо соединяет две точки линией (прямой или кривой), либо рисует линию-петлю, начинающуюся в какой-нибудь точке и в этой же точке заканчивающуюся («рассада прорастает»).

На каждой проведённой линии рисуется одна новая точка; новые точки равноправны первоначальным (от них так же можно проводить линии, на каждой из которых так же рисуется по одной точке).

При этом должны соблюдаться следующие правила:

Линии не должны пересекаться (самопересечения линий тоже недопустимы).

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

Из каждой точки не должно исходить более трёх линий. Поэтому к новой точке нельзя пририсовать петлю, поскольку иначе получится 4 исходящие линии (петля считается двумя исходящими от точки линиями, плюс новая точка уже лежит на линии, то есть от неё уже исходит две линии).

Проигрывает тот игрок, который не сможет сделать ход, когда в очередной раз наступит его очередь ходить.