Mini Project Final Report
Mini Project Final Report
Submitted by
ANANDU M K (9123104014)
ANNELIN RUBA S (9123104015)
ARAVIND RAM C S (9123104016)
ARAVINTH KUMAR P (9123104017)
ARNAV G P (9123104018)
ARUL PRASANTH A (9123104019)
NAVEEN RAMESH (9223104003)
(AUTONOMOUS)
1
BONAFIED CERTIFICATE
Certified that this Mini Project report titled “JAVA CHESS GAME” is the
Bonafide work of “ANANDU M K(9123104014), ANNELIN RUBA S(9123104015),
ARAVIND RAM CS(9123104016), ARAVINTH KUMAR P(9123104017),
ARNAV G P(9123104018), ARUL PRASANTH A(9123104019), NAVEEN
RAMESH(9223104003)”, who carried out the mini project to fulfill the requirements
of the course “23CS321 and Object Oriented Programming Laboratory”.
2
INDEX
1 INTRODUCTION
5
1.2 OBJECTIVE 5
2 SYSTEM DESIGN
6
2.1 MODULES 6
3 SYSTEM DEVELOPMENT
9
3.1 IMPLEMENTATION
9
5 CONCLUSION
12
3
ABSTRACT
4
CHAPTER 1
INTRODUCTION
The project is a Java-based chess game. It provides a graphical user interface (GUI) for
playing chess, allowing users to interact with the board and pieces visually. The
Board class is a central component of the game, managing the game state, handling
user input, and drawing the board and pieces on the screen.
1.2 OBJECTIVES
1. Create a functional chess game: Develop a game that accurately simulates the
rules of chess, allowing players to move pieces, capture opponents' pieces, and
achieve checkmate.
2. Provide a user-friendly interface: Design an intuitive and visually appealing
GUI that makes it easy for users to interact with the game.
3. Implement basic game mechanics: Include core functionalities like board
initialization, piece movement, turn management, and game state updates.
4. Ensure accurate rule enforcement: Ensure that the game strictly adheres to the
rules of chess, preventing illegal moves and detecting check and checkmate
conditions.
5. Offer a visually pleasing experience: Use appropriate graphics and animations
to enhance the visual appeal of the game.
6. Provide a challenging opponent: (Optionally) Develop an AI opponent that can
play at various difficulty levels, offering a competitive challenge to human
players.
7. Ensure smooth gameplay: Optimize the game's performance to minimize lag
and ensure a smooth playing experience.
These objectives aim to create a satisfying and engaging chess game that accurately
reflects the classic board game while providing a modern and enjoyable experience for
players
5
CHAPTER 2
SYSTEM DESIGN
2.1 MODULES
1. Chessgui:Contains the main classes and interfaces for the chess game GUI.
2. java.awt: Provides basic GUI components and functionality.
3. java.awt.event: Handles user input events like mouse clicks and key presses.
4. java.awt.geom: Provides geometric shapes and operations for drawing on the
screen.
5. java.awt.image: Represents and manipulates images.
6. java.io: Provides input/output operations for reading and writing files.
7. java.util:Contains various utility classes for collections, data structures, and
more.
8. javax.imageio: Provides API for reading and writing image files.
9. javax.swing: Provides advanced GUI components and functionality.
The following software components are required for the Java Chess Game project:
Development Environment:
● Java Development Kit (JDK): This provides the necessary tools and libraries
for developing Java applications.
● Integrated Development Environment (IDE): An IDE like Eclipse, IntelliJ
IDEA, or NetBeans can streamline the development process by providing
features such as code editing, debugging, and project management.
●
6
2.3 METHODOLOGY
● Identify stakeholders: Determine who will be using the game (e.g., casual
players, competitive players, children).
● Gather requirements: Collect information about the desired features,
functionality, and user experience.
● Create use cases: Define how users will interact with the game and what actions
they can perform.
● Prioritize requirements: Determine the most important features to focus on
initially.
2. Design
3. Implementation
● Coding: Write the Java code to implement the design, following best practices
and coding standards.
● Unit testing: Create unit tests to verify the correctness of individual components
and functions.
● Integration testing: Test how different components work together to ensure the
game functions as expected.
4. Testing
● Alpha testing: Test the game internally by the development team to identify and
fix bugs.
● Beta testing: Release the game to a limited group of external users for feedback
and testing.
● User acceptance testing (UAT): Test the game with representative users to
ensure it meets their needs and expectations.
7
5. Deployment
Additional Considerations
By following this methodology, you can effectively develop a Java Chess Game that
meets the requirements and provides a satisfying user experience.
8
CHAPTER 3
SYSTEM DEVELOPMENT
3.1 IMPLEMENTATION
package chessgui.pieces;
import chessgui.Board;
9
public void setY(int y)
{
this.y = y;
}
10
CHAPTER 4
11
CHAPTER 5
CONCLUSION
The written code demonstrates a solid foundation for a Java Chess Game. It
implements core functionalities for board initialization, piece placement, user
interaction, and basic game state management. Further analysis of the complete
codebase would be required to understand the full capabilities and potential
limitations of the game.
12