CHESS GAME
“Mini Project Report presented”
                         By
                 1.   RAHUL KUMAR REDDY
                 2.   KOMAL GHATAGE
                 3.   ROUNAK GAWAND
                 4.   MITESH RASIHKAR
                        Class
                         SE
                Project Domain
            GAMES USING PYTHON
     Department of Information Technology
Pillai HOC College of Engineering & Technology.
                          1
                       CERTIFICATE
This is to certify that the project entitled CHESS GAME from GAMES
USING PYTHON is a work of Rahul Kumar Reddy , Komal Ghatage ,
Rounak Gawand and Mitesh RAKSHIKAR studying in SE Information
Technology, have carried the work under Mini project Semester IV,
enduring Valuable guidance of
   ● Head of the Department Dr. Divya Chirayil ,
   ● Mini project Coordinator Ms. Poonam R. Pathak and our project
      guide.
In The Academic Year of 2022
Dr. Divya Chirayil .                       Ms. Poonam R. Pathak.
Head of Department .                      Mini project Coordinators
.
                                2
          Project Report Approval
This project report entitled as “CHESS GAME” , are the Games using
PYTHON domain , completed by Rahul Kumar Reddy , Komal Gatage ,
Rounak Gawand and Mitesh RAKSHIKAR studying in Second Year
Information Technology , is approved which is carried under “Mini
project ”based on Python.
                                            Guide Name & signature
                                                Ms. Poonam Pathak
Date:
Place: Panvel, Rasayani .
                                3
                          Declaration
I declare that this written submission represents my ideas in my own words
and where others’ ideas or words have been included, I have adequately
cited them and referenced the original sources. I also declare that I have
adhered to the principles of academic honesty and integrity and have not
misrepresented or fabricated or falsified any idea/data/fact/source in my
submission. I understand that any violation of the above will be cause for
disciplinary action by the institute and an also evoke penal action from the
sources which have thus not been properly cited or from whom proper
permission has not been taken when needed
   Rahul Kumar Reddy                                Komal Ghatage
     Rounak Gawand                                   Mitesh Rakshikar
                                     4
                     Acknowledgement
Experts are always necessary to bring something to life without their guidance because
they had gone through this before and mastered it, hence becoming our guides.
Therefore, we would like to thank all those individuals who assisted us in visualizing
our vision.
It is a privilege for us to have been associated with Ms. Poonam R. Pathak, our guide,
during this project work. We have been greatly benefited by his valuable suggestions
and ideas. It is with great pleasure that we express our deep sense of gratitude to them
for their valuable guidance, constant encouragement and patience throughout this work.
I am also indebted to Dr. Divya Chirayil (Head of Department of Information
Technology) .
 Ms. Ms. Poonam Pathak for extending the help to academic literature.
We take this opportunity to thank all our classmates for their company during the course
work and for useful discussion we had with them.
We would be failing in our duties if we do not make a mention of our family members
including our parents for providing moral support, without which this work would not
have been completed.
We extend our sincere appreciation to all our Professor and Principal of Pillai HOC
College of Engineering and Technology, Rasayani for providing the infrastructure and
resources required for a project
Submitted By,
Rahul Kumar Reddy ,
Komal Ghatage ,
Rounak Gawand,
Mitesh RAKSHIKAR.
                                           5
                                Introduction
Chess is a popular board game played between Two Players It is played on a square Chess-
  Board with 64 squares arranged in an eight-by-eight grid. Each Player Have 16 pieces
  to play a game
   Online chess is chess that is played over the internet, allowing players to play against
   each other in real time. This is done through the use of Internet chess servers, which
   often include a system to pair up individual players
In 1974 Deep Blue was First software based Chess Engine developed by IBM Computers.
   What our chess game can do?
    IMPROVES PROBLEM SOLVING TECHNIQUES
    IMPROVE LOGIC AND REASONING SKILLS
    INCREASE PATIENCE AND PERSISTENCE
    IMPROVES DECISION-MAKING SKILLS
“Online Chess Game ” is a project, which is of great use at the present. The main goal of
  this project is to give access of Chess game to each and every person. “Online Chess
  Game ” specially focuses on Helping Player How to Play Chess Game.
For the completion of this project we use Python Chess Library & Pygame For GUI purpose
   . We have used Windows as the platform for the completion of this project. Different
   class and package of Python Chess Library & Pygame are used to achieve the task.
   Pygame is a cross-platform set of Python modules designed for writing video games. It
   includes computer graphics and sound libraries designed to be used with the Python
   programming language.
   Goals:
     explore the idea that a computer could "think"
     explore symbolic computation
     write a program to play Chess
                       Project Background
   The project ‘DESIGNING OF CHESS GAME USING COMPUTER GRAPHICS’
   implements a classic version of Chess with a Graphical User Interface (GUI). The Chess
                                              6
game follows the basic rules of chess, and all the chess pieces only move according to
valid moves for that piece. Our implementation of Chess is for two players (use of
Artificial Intelligence). It is played on an 8x8 checked board, with a dark square in each
player's lower left corner. We successfully created a GUI using text-based version,
inheritance and templates, as specified. Despite several unusual bugs in the GUI, our
Chess program is a great, user friendly game for two players.
For the completion of “Online Chess-Game” a high level programming language
PYTHON is used and windows platform is used. But the result of this project is
platform independent. We have used the latest version of the Python programming
language for the latest features. Similarly capture device is required for the completion
of the project.
The main propose of this project is to have a Simple and Easy GUI To Play Chess game
Between TWO PLAYERS .This project can be further enhanced in future to the mobile
application and even be expanded to contain many more facilities so that it can be very
useful.
If a person wants to Play Alone Then He/She Can Play Chess Using Single Player
Option Provide in The Game. If he Wants to play With the His / Her Friends He Can
Play Using Multi-player Mode With Timer ON Or OFF. If Both The Players Are Far-
way From Each other And wants to play a game can be done using Online Mode Which
uses SOCKET PROGRAMINIG TECHNIQUE For The Establishment Of the
Connection Between Two Players . If Player wants to Leave ongoing game and want
CONTINUE the Game later it can also be Done using SAVE MY-GAME and continue
the Game Later
                            Methodology
                                            7
We started by planning the hierarchy of our chess game. This organized our plan for
coding and setting up the class hierarchies. Next we began coding of the Chess game.
Initially we worked together on developing the header files so that we knew what
functions and logic we should use.
After the GUI window appears upon execution, the first player (white chess pieces)
clicks on the piece that (s)he would like to move and then clicks on a valid position for
this piece (including capturing another piece, which then disappears from the board).
Invalid moves are not allowed, and the message box notifies the player of the problem.
A player is also not allowed to move another player's pieces. The message box tells the
player when (s)he is in check, and the player must move the King to get out of check.
The majority of the time, however, our Chess game worked well.
For designing the system for chess following aspects need to be kept in mind:
Practicality, the system must be stable and can be operated by people with average.
    Efficiency, this involves accuracy, timeliness and comprehensiveness to the
     system output.
    Cost, it is desirable to aim for a system with a minimum cost subject to the
     condition that it must satisfy all the requirements.
    Flexibility, the system should be modifiable depending on the changing needs of
     the user. Such modifications should not entail extensive reconstructing or
     recreation of software. It should also be portable to different computer systems.
    Security, this is very important aspect of the design and should cover areas of
     hardware reliability. System design involves first logical design and then
     physical construction of the system.
Goals:
  explore the idea that a computer could "think"
  explore symbolic computation
    write a program to play Chess
                     Literature Review
Computational intelligence techniques were combined with games for the first time in
1959, when Samuel applied a simple reinforcement learning algorithm to the board
                                           8
game Checkers. After the early success of Samuel, the research in the field remained
silent for a long time. But as part of artificial intelligence research, a few researchers
have worked on applying classical AI techniques, basically especially custom-made
search algorithms, to board games such as Chess and Checkers. This direction of
research ultimately led to the much publicized victory of the IBM Deep Blue Chess
computer over world Chess champion Gary Kasparov in 1997.
An abstract representation of a game is a set of rules which allow a player to play the
game lawfully, but which is more compacted than the general representation of the
game. The concept of abstract representation is basic to all work on games in AI. It is a
prerequisite for game analysis. Thus game analysis is significantly dependent on the
existence of an abstract representation of the game
Last but not the least a literature review is one described above and the one which is an
evaluative report of information found in the literature related to the selected area of
study, ours is the CHESS.
This project implements a classic version of Chess using Python and a Graphical User
Interface. The Chess game follows the basic rules of chess, and all the chess pieces
only move according to valid moves for that piece. Our implementation of Chess is
for two players. It is played on an 8x8 checkered board, with a dark square in each
player's lower left corner.
FUNCTION AND STRUCTURE DESIGN
OF Online CHESS GAME .
System design is the process of defining the components, modules, interfaces, and data
for a system to satisfy specified requirements. System development is the process of
                                            9
creating or altering systems, along with the processes, practices, models, and
methodologies used to develop them.
This system adopts the modularized program design, and system function is
correspondingly divided into function modules, the main modules include
UI function module design: The Single Player screen, Multi Player Screen,
Online Playing Screen, Load Game Screen , Hyper Links For Useful
Document Links For learning Chess game.
                                      10
             Requirement Analysis.
These are some certain specifications upon which our project is based
upon and with help of following our “DESIGNING OF CHESS
GAME” is able to proceed through as follows:
Software Requirement Specification:
  1. Language: Python .
  2. Platform: Windows operating system.
  3. Software: Pycharm idea IDE software.
Hardware Requirement Specification:
  1.   RAM: 128MB (Minimum).
  2.   Processor: Pentium 2 and above.
  3.   Hard Disk: 150 MB.
  4.   Includes Memory Storage, a mouse, a keyboard.
                                 11
12
13
14
15
                              Conclusion
Conclusion:-
In this project “DESIGNING OF CHESS GAME USING COMPUTER GRAPHICS”
we presented the classic and standard version of Chess implemented as a GUI. We
successfully created a game using inheritance, templates, Artificial Intelligence and a
GUI (Graphical User Interface).
The project had two aims, all of them which were achieved. The aims of the project
were important as they identified what the project was trying to achieve. Their aims
were:
                                          16
    First aim is to allow two users or players to play the game interactively from
     remote locations.
    The second aim is that the java program for the chess game should be working
     properly and allow the users to play the game .
The testing methods used in the project were appropriate. The system test ensured that
all features of the chess game were functional before the beta test. There was no other
suitable tests found that would test the game as thoroughly as the system test.
The benefits are –
    A GUI user interface which help us to work with great ease.
    Chess program is a great, user-friendly game for two players by the use of
      Artificial Intelligence
We have successfully completed our project. While doing our project we faced different
difficulties. . After doing this project we have learnt visual programming viz. Python
and also gained the idea PyGame And Chess Framework. The more important thing is
that we have learnt to work in-group. As well we have learnt the importance of the
project management while doing any sort of project.
                                          17