Skip to content

goosescout/MachiKoro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MachiKoro

В этом проекте мы попытались воссоздать настольную игру Мачи коро.

Код игры разделён на 4 файла:

  • main.py

В этом файле находится основной код игры. Главный класс - Game, в нём происходят все операции с игрой. Помимо этого, там содержатся дополнительные классы.

  • utility.py

В этом файле содержатся функции и классы, которые либо не относятся непосредсвенно к игре (загрузка изображений) или необходимы нескольким модулям сразу (класс Card необходим модулям main и cards).

  • cards.py

В этом файле находятся все карты, которые доступны в игре.

  • node.py

В этом файле находится класс Node, который выполняет все операции по работе с другими компьютерами в сети.

Суть проекта заключается в том, что несколько игроков подключаются к одной игре и играют в компьютерную версию настольной игры Мачи Коро. К сожалению, не все механики настоящей игры удалось реализовать - например игроки не видят чужих карт (хотя они знают, какие карты покупают игроки, и могут сами вести учёт). Но при этом цифровая версия повторяет все ключевые механики реальной игры.

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

После начала игры все игроки оказываются на игровом поле, где есть магазин (общий для всех игроков), иконки игроков и все здания, которые есть у игрока, объединённые в блоки. В начале каждого хода игрок бросает кубик(и). При наличии Станции он может выбрать, сколько кубиков бросать, а при наличии Радиовышки он может перебросить кубики. После выполнения любого действия (покупки карты, конца хода и т.д.) все игроки получают уведомление об этом. Когда один из игроков покупает все 4 достопримечательности (карты справа) - он выигрывает и игра заканчивается.

Releases

No releases published

Packages

No packages published

Languages