Python Projects for Programming Fundamentals, 1st Year Class of Computer Science and Engineering at Instituto Superior Técnico
This project consists of a Python program that simulates the Go board game, a strategy game for two players where the goal is to control the most territory by placing stones of the player's color on a grid. The project is divided into two parts, each building upon the previous one to create a complete game logic system.
- First Commit: 19.90/20
- Second Commit: 19.70/20
-
Part 1:
- Implemented basic functions to manipulate a Go board.
- Defined abstract data types for game-related entities such as stones, the board, and territories.
- Focused on Python programming basics.
-
Part 2:
- Developed and implemented game rules such as capturing stones and territory calculation.
- Enhanced board management with more efficient strategies for move validation and application of game rules.
- Integrated strategies for handling different game scenarios intelligently.
- Python: Programming language used to develop the game logic and interactions.
- Abstract Data Types: Applied data structures to represent the board, stones, and territories efficiently.
board.py
: Core logic for managing the board and the placement of stones.game.py
: Implementation of the game rules and handling of game progress.player.py
: Logic for managing player actions and moves.README.md
: Project documentation and details.
- Developed a solid understanding of object-oriented programming and Python.
- Applied algorithmic thinking to simulate an abstract strategy game.
- Gained experience in implementing game rules and optimizing game logic.
- Enhanced problem-solving and debugging skills while working with data structures and algorithms.