Project Report
Project Report
Introduction:
Our semester project involves the development of a chess game using the C
programming language. The motivation behind choosing this project is to
enhance our programming skills, especially in C, and to delve into the
complexities of building a strategic game. Chess, being a classic and widely
played game, provides an excellent platform for understanding algorithmic
thinking, data structures, and user interface design. Additionally, developing a
chess game can be a steppingstone for creating more sophisticated games in the
future. The potential applications of this project include educational tools for
learning chess, entertainment for users, and a practical demonstration of
programming skills.
2. Game Logic: This module contains the core logic for moves, captures, and
game rules. It ensures that the game progresses according to the standard chess
rules.
3. User Interface (UI): The UI is implemented using basic text-based input and
output. It displays the chessboard and handles user input for making moves.
4. Player Management: Keeps track of the players, their moves, and the current
state of the game.
5. Input Validation: Ensures that the user inputs are valid moves and adhering
to the rules of chess.
Degree of Completeness:
As of the current stage of the project, we have successfully implemented the
following features:
• Board representation and initialization.
• Basic game logic for moves and captures.
• User interface for displaying the chessboard and receiving user input.
• Player management to switch turns between players.
However, it's important to note that the project is still in its early stages, and
several key features are yet to be implemented, such as:
Additionally, the current text-based UI lacks the visual appeal that could make
the game more engaging. Integrating a simple graphical interface or exploring
external libraries for basic graphics in C could be a potential solution to enhance
the user experience.
Objectives Met and Yet to Be Met:
Objectives met in the project include the successful implementation of basic
board representation, player management, and the ability to make basic moves.
However, key objectives, such as implementing advanced game logic, refining
the user interface, and handling endgame conditions, are yet to be
accomplished. The team is actively working on these objectives and aims to
achieve a completer and more polished version of the chess game in the
upcoming weeks.
In conclusion, while the project is still in its early stages and faces challenges
typical of an amateur development team, the progress made so far is promising.
The commitment to overcoming challenges and achieving the project's
objectives remains strong, and the team looks forward to delivering a functional
and enjoyable chess game by the end of the semester.
THE END!