This repository contains implementations of two distinct combinatorial games: Cardisco and Oblique Outplay. These games are part of a course project for IE619 Combinatorial Game Theory at the Indian Institute of Technology Bombay (IIT Bombay) under Professor Urban Larrson from the Industrial Engineering and Operational Research (IEOR) department.
Impartial games are a class of combinatorial games where both players have identical sets of moves available to them. The outcome depends solely on the positions and strategies of the players.
Cardisco is an impartial game played on a linear board with distinct moves for each player. The game revolves around making strategic moves to capture cards and avoid getting stuck.
Partisan games, in contrast to impartial games, are games where the two players have distinct sets of moves available to them. Each player has their own set of options, and the choices of one player do not affect the options available to the other player.
Oblique Outplay is a partisan game implemented here, played on a 5x5 grid with unique diagonal movement rules. Each player has their own set of tokens, and the goal is to outmaneuver the opponent by strategically moving your tokens forward.
To play Cardisco, you need to have Python and the Pygame library installed on your system. Follow these steps to set up your environment:
-
Install Python: If you don't have Python installed, you can download it from the official website: Python Download.
-
Install Pygame: Open your terminal or command prompt and run the following command to install Pygame:
pip install pygame
-
For Cardisco, run the file named CardiscoGame.py.
-
For Oblique Outplay, run the file named ObliqueOutplayGame.py.
Additional logic for both games can be found in separate files for clarity and modularity.
Detailed game rules can be found within the games. Refer to the help section inside each game for a comprehensive explanation of how to play and win.
Enjoy playing Cardisco and Oblique Outplay!
For any questions or inquiries, please contact Ishan Grover and Hardik Gupta.