0% found this document useful (0 votes)
40 views19 pages

Mini Project 01

The document is a project report on the 'Python Chess' game developed by Yash Rawat, Garima Kothari, and Stuti Latwal as part of their Bachelor of Computer Science program. The project aims to create an engaging offline player vs. player chess experience using Python, featuring a user-friendly interface, move validations, and customizable options. It addresses the need for a high-quality offline chess game that preserves the traditional charm while enhancing it with modern conveniences.

Uploaded by

nkygaming2117
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views19 pages

Mini Project 01

The document is a project report on the 'Python Chess' game developed by Yash Rawat, Garima Kothari, and Stuti Latwal as part of their Bachelor of Computer Science program. The project aims to create an engaging offline player vs. player chess experience using Python, featuring a user-friendly interface, move validations, and customizable options. It addresses the need for a high-quality offline chess game that preserves the traditional charm while enhancing it with modern conveniences.

Uploaded by

nkygaming2117
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

A

Project Report

On

CHESS GAME
Submitted in partial fulfilment of the requirement for the III semester

Bachelor of Computer Science


By

Yash Rawat

Garima Kothari

Stuti Latwal

Faculty-in-Charge

Mr. Ravindra Koranga

Assistant Professor

Department of CSE

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

GRAPHIC ERA HILL UNIVERSITY, BHIMTAL CAMPUS


SATTAL ROAD, P.O, BHOWALI

DISTRICT – NAIMITAL – 263132

2022-23

1
STUDENT’S DECLARATION

We, Yash Rawat, Garima Kothari, Stuti Latwal, hereby declare the work, which is being

presented in the project, entitled “Chess Game” in partial fulfilment of the requirement for

the award of the degree B. Tech in the session 2023-2024, is an authentic record of my own

work carried out under the supervision of Mr. Ravindra Koranga.

The matter embodied in this term-work has not been submitted by me for the award of any

other degree.

Date: Yash Rawat

Garima Kothari

Stuti Latwal

2
CERTIFICATE

The term-work entitled “Chess Game” being submitted by Yash Rawat, Garima

Kothari, Stuti Latwal to Graphic Era Hill University, Bhimtal Campus, for the award of

bona fide work carried out by him. He has worked under my guidance and supervision

and fulfilled the requirement for the submission of report.

Mr. Ravindra Koranga Dr. Ankur Bisht

Faculty-in-Charge (HOD, CSE Dept.)

3
ACKNOWLEDGEMENT

We take immense pleasure in thanking Honourable “Mr. Ravindra Koranga”


(Assistant Professor, CSE, GEHU Bhimtal Campus) to permit me and carry out this
project work with his excellent and optimistic supervision. This has all been possible due to
his novel inspiration, able guidance and useful suggestions that helped me to develop as a
creative researcher and complete the research work, in time.
Words are inadequate in offering my thanks to GOD for providing me everything that
we need. We again want to extend thanks to our President “Prof. (Dr.) Kamal Ghanshala”
for providing us all infrastructure and facilities to work in need without which this work
could not be possible.
Many thanks to Professor “Dr. Manoj Chandra Lohani” (Director Gehu Bhimtal),
other faculties for their insightful comments, constructive suggestions, valuable advice, and
time in reviewing this thesis.
Finally, yet importantly, we would like to express my heartiest thanks to our beloved
parents, for their moral support, affection and blessings. We would also like to pay our
sincere thanks to all our friends and well-wishers for their help and wishes for the successful
completion of this research.

Yash Rawat,
Garima Kothari,
Stuti Latwal

4
TABLE OF CONTENTS

Sr. No. CONTENT PAGE No.

1. DECLARATION 2

2. CERTIFICATE 3

3. ACKNOWLEDGEMENT 4

4. PROJECT ABSTRACT 6

5. PROJECT INTRODUCTION 7

6. OBJECTIVE 8

7. PROBLEM STATEMENT 9

8. PROJECT ORGANIZATION 10

9. GUI DESGIN 11

10. RESOURCES & TECHNOLOGY USED 13

11. BASIC MODULE OF PROJECTS 14

12. CONCLUSION 15

5
PROJECT ABSTRACT

The "Python Chess" project is a locally-playable chess game created in Python, focusing on
providing an engaging and interactive player vs. player (PvP) chess experience for two
players in an offline setting. Chess, a timeless game of strategy, offers a unique blend of
challenge and entertainment, and this project aims to bring this classic board game to life on
the digital platform.

Key Features:

 Player vs. Player Mode: The primary feature of the "Python Chess" project is its
support for two players competing against each other on a single computer, fostering
direct human interaction.
 Intuitive User Interface: The application boasts a user-friendly graphical interface
that makes it easy for players to navigate the game and focus on their chess strategy.
 Local Multiplayer: Designed for in-person chess matches, the game allows players to
sit across from each other, replicating the traditional chessboard experience.
 Move Validations: To ensure a fair and competitive environment, the game enforces
the rules of chess and validates moves, preventing illegal actions.
 Customizable Chess Sets: Players can personalize their gaming experience by
selecting from a variety of chess piece designs and board themes.
 Game History: The application maintains a move history for the ongoing game,
enabling players to review and analyse their matches.
 Multiplatform Compatibility: "Python Chess" is designed to run on various
operating systems, making it accessible to a wide range of users.

This project is a testament to the versatility of Python in creating engaging and interactive
applications. "Python Chess" focuses on bringing the joy of chess to players who prefer to
engage in friendly PvP matches in a traditional, face-to-face manner. It offers a complete and
enjoyable offline chess experience, suitable for players of all skill levels, in a user-friendly
Python application.

6
INTRODUCTION

Chess, one of the most celebrated and enduring board games in the world, has captured the
hearts and minds of players for centuries. Its timeless appeal lies in its strategic depth, elegant
simplicity, and the thrill of a well-executed move. In the age of digital technology, the classic
game of chess has found a new home in the realm of computer software. This project, titled
"Python Chess," embarks on a journey to bring the beauty and challenge of chess to life
within the realm of Python programming.

"Python Chess" is an offline player vs. player (PvP) chess game, designed to provide a
platform for friends and chess enthusiasts to engage in thrilling face-to-face matches in an
interactive and dynamic digital setting. By utilizing Python, one of the most versatile and
accessible programming languages, this project aims to offer an engaging and intuitive chess
experience that preserves the traditional charm of the game.

The core focus of "Python Chess" is to facilitate local multiplayer chess matches, allowing
two players to sit across from each other, just as they would with a physical chessboard. With
an intuitive user interface and move validations to ensure rule adherence, this application
offers a perfect balance between classic gameplay and modern convenience.

The project empowers players with features like saving and loading games, customizable
chess sets, and game history, enhancing the overall gaming experience. By leveraging
Python's multiplatform compatibility, "Python Chess" is accessible to players using a wide
range of operating systems.

This project showcases the power of Python for developing engaging and interactive
applications, while emphasizing the enduring appeal of chess as a strategy game. "Python
Chess" strives to be more than just a digital rendition of a classic board game; it is a platform
for fostering interaction, competition, and learning between players in a face-to-face, offline
setting. Whether you're a chess novice looking to learn the game or a seasoned chess
enthusiast seeking a convenient and engaging platform for PvP matches, "Python Chess"
welcomes players of all backgrounds to experience the timeless joy of chess.

7
OBJECTIVE

The primary objective of the "Python Chess" project is to create an offline player vs. player
(PvP) chess game using Python that provides an engaging and authentic chess experience for
players. Specifically, the project aims to achieve the following goals:

 Local Multiplayer Chess: Develop a chess game that allows two players to compete
against each other on a single computer, replicating the traditional face-to-face
chessboard experience.
 User-Friendly Interface: Create an intuitive and visually appealing graphical user
interface (GUI) that simplifies game navigation and enhances the overall user
experience.
 Move Validation: Implement move validations to enforce the rules of chess,
preventing illegal moves and ensuring a fair and competitive gaming environment.
 Customization: Allow players to personalize their gaming experience by selecting
from various chess piece designs and board themes.
 Game History: Maintain a move history for the ongoing game, providing players
with the option to review and analyse their matches.
 Multiplatform Compatibility: Ensure that "Python Chess" is platform-independent,
enabling players to run the application on different operating systems.
 Educational and Recreational Value: Offer a chess game that caters to both
beginners and experienced players, encouraging learning, practice, and friendly
competition.

By meeting these objectives, "Python Chess" aims to create a seamless and enjoyable offline
chess gaming experience for a diverse range of players, preserving the essence of chess while
utilizing the power and versatility of the Python programming language. This project serves
as a bridge between the traditional and the digital, offering a familiar and accessible platform
for chess enthusiasts to engage in classic PvP chess matches.

8
9
10
11
12
PROBLEM STATEMENT

The "Python Chess" project addresses the need for an offline, player vs. player (PvP) chess gaming
application that delivers a user-friendly, engaging, and authentic chess experience. Chess, renowned
for its strategic depth and timeless appeal, deserves a digital adaptation that not only preserves the
classic charm of the game but also enhances it with modern conveniences. The problem statement
can be defined as follows:

Challenge: In an age dominated by digital technology and online gaming, there is a lack of feature-
rich, offline PvP chess games that replicate the traditional in-person chessboard experience, cater to
players of all skill levels, and provide a user-friendly interface with move validations and customizable
options.

Key Issues:

 Lack of Authentic Offline PvP Chess: While there are various online chess platforms
available, there is a limited selection of high-quality, offline, and in-person PvP chess games
for friends, family, and enthusiasts to enjoy together in a face-to-face setting.
 Usability and Accessibility: Existing offline chess software often lacks an intuitive user
interface, move validations, and customization options, making it less accessible and
enjoyable for both novice and experienced players.
 Modern Features with Classic Appeal: The challenge is to bridge the gap between the
classic game of chess and modern digital technology, offering players a chess experience that
combines the best of both worlds.

Project Aim: The aim of the "Python Chess" project is to create a solution that addresses these
issues by providing an offline PvP chess game developed in Python. This game will offer an engaging
and user-friendly interface, move validations, and customizable features, ensuring that players can
enjoy chess in a traditional, face-to-face manner with all the conveniences of modern software. The
project seeks to make chess accessible to a wider audience and enhance the overall chess gaming
experience, meeting the evolving needs of chess enthusiasts in the digital age.

13
PROJECT ORGANISATION

We are 3 members in this project and contributing to this project as

 Yash Rawat
 Garima Kothari
 Stuti Latwal

 Yash Rawat is working on GUI and core mechanics.


 Garima Kothari is working on GUI and logics on movements of pieces.
 Stuti Latwal is working on the testing and bug finding in the game.

Present Status of development of project

 Our all paperwork is completed.


 We completed the planning phase of application.

Currently we are making on making a normalized database for our project.

14
GUI DESGIN

The basic GUI of the GAME.

15
There are some themes available in the game which can be access by pressing “T” on the
keyboard.

16
RESOURCES & TECHNOLOGY USED

Creating a chess game in Python requires a combination of resources and technologies to


develop the application effectively. Below, I outline the key resources and technologies
commonly used for building a chess game in Python:

1. Programming Language:

Python: Python is the primary programming language for developing the chess game. It
offers a clear and concise syntax, extensive libraries, and cross-platform compatibility,
making it a suitable choice for game development.

2. Development Environment:

Integrated Development Environment (IDE): Visual Studio Code write and debug code
efficiently. These IDE provide features like code completion, debugging tools, and project
management.

3. Libraries and Modules:

Pygame: Pygame is a popular library for creating 2D games in Python. It provides tools for
handling graphics, user input, and sound, which are essential for building a graphical chess
interface.

4. Graphics Design:

Graphic Design Software: Tools like Adobe Photoshop is used for creating and editing
graphical assets such as chess piece images and board themes.

5. Version Control:

Git and GitHub: Developers use version control systems like Git and online platforms like
GitHub to collaborate, track changes, and maintain project versions.

6. Testing and Quality Assurance:

Unit Testing Frameworks: Python's built-in unittest framework or third-party libraries like
Pytest is used to write and execute tests to ensure the reliability and correctness of the chess
game's code.

17
BASIC MODULE OF PROJECTS

In our project, the basic module we include are the fundamental components and features
necessary to create a functional and interactive chess game. Here are some key elements of
the basic module specific to this project:

1. Chess Board and Pieces:

Implement the representation of the chessboard and chess pieces. This includes data
structures and functions for managing the board state, piece positions, and their interactions.

2. User Interface (UI):

Create a graphical user interface (GUI) that displays the chessboard, allows players to make
moves, and provides essential controls for starting, saving, and loading games.

3. Player vs. Player Logic:

Develop the core logic for player vs. player (PvP) gameplay, allowing two players to take
turns, make legal moves, and play a complete game of chess.

4. Move Validation:

Implement move validation rules to ensure that players cannot make illegal moves (e.g.,
moving a piece to a square where it is not allowed).

5. Game State Management:

Manage the state of the chess game, including detecting check, checkmate, stalemate, and
victory conditions.

6. Chess Piece Design and Customization:

Enable players to select from various chess piece designs and board themes, providing a
visually customizable experience.

18
Conclusion

In the realm of strategy and intellectual challenge, chess stands as an enduring and timeless
game that continues to captivate players of all ages and backgrounds. The "Python Chess"
project sought to bridge the gap between the traditional and the digital, bringing the classic
game of chess to life in a modern, user-friendly, and engaging format. By creating an offline
player vs. player (PvP) chess game in Python, this project aimed to offer chess enthusiasts,
from beginners to seasoned players, a platform that provides the perfect blend of convenience
and authenticity.

The journey of "Python Chess" led to the development of a feature-rich, locally-playable


chess game that embodied the essential elements of the game. The project's basic module,
comprised of core algorithms, graphical user interfaces, data management, and move
validation, served as the foundation for a chess experience that celebrated the elegance and
strategic depth of this beloved pastime.

19

You might also like