Design Of An Electronic Chess Game Computer Science Essay

Published:

The chess is a very well-known game that is widely known world-wide, and it is one of the first game that uses the artificial intelligence, to achieve this goal the project which is developed is a general version of a chess game with a user interface that can accessed on a computer, and the developed game has satisfied all the basic rules of the game and also has all the valid moves of the chess game that is required, the game that is developed is between a human and a computer where the artificial intelligence techniques are used. At the same time the report will give a brief report on how the game developed and what kind of artificial intelligence techniques used and also it gives a little introduction about the chess game and some of the work that was done in the previous, the report will also consists of some series of test cases with screen shots of them. The game was developed and is played on an 8x8 board where on the left side corner starts with a black and consists of all 32 pieces that are required for the game.

Lady using a tablet
Lady using a tablet

Professional

Essay Writers

Lady Using Tablet

Get your grade
or your money back

using our Essay Writing Service!

Essay Writing Service

Since there is a lot of development in the gaming, lot of people like to play these games whenever they like which resulted a major revolution in the field of artificial intelligence for the development of these games ( Chess, Tic-Tac-Toe, Go, Checkers and so many) so out of those chess is one of the most enthusiastic mind game that is played world-wide, according the previous records the game may be originated in India during the 7th century, which is then spread to western Europe, Arabia, and Persian, the game is not only challenging but it involves as a one of the major factor for the development and increase of the artificial intelligence in the gaming, so that each player or the user can feel the experience of the playing the naturally such as tactics or making smart decisions,

As chess is one of the most well-known game that is played world-wide from the age of 10 to 70 where everyone can enjoy the game, due to which a lot of people likes to play on a computer where the artificial intelligence comes to importance and also steady progress has been evolved out.

So seeing all the above conditions I designed a chess game that has a good graphical interface with couple of easy functions like undo and redo if they wish to change the step they have moved, and the most important thing in this development is they will be played with computer where the artificial intelligence takes the major part. For that purpose the designed game explanation has been given below where the board size and the valid moves of the pieces have been explained below.

A chess board has eight columns and eight rows with 64 square boxes with different colours in alternatively and also the board has 32 pieces which are shared equally by two sides with alternative colours where all the pieces are arranged in the same way. To start the game the player has to adjust the board in such a way that a white coloured square should be at the extreme lower right hand corner with each pieces organised in two rows, the game ends when there are no moves for one of the side which ends like checkmate.

Let's consider the set of pieces are divided into white and black where each set consists of pawns, kings, queens, bishops, rooks, knights, then the game starts with first move of chess and ends with death of one of the pieces king. (Oehmen) (Bosman, 2003)

The model that was developed is on the basis of numbers and alphabets as shown below

When the project is compiled a graphical interface of a chess board where it shows the set all pieces which are arranged properly with some options.

The way I consider the pieces is by assigning them with numbers or words as shown below for a practical purpose view consider numbers, lets white be the positive numbers and blacks be the negative number and they will be arranged in the way below at the start of the game as seen

Lady using a tablet
Lady using a tablet

Comprehensive

Writing Services

Lady Using Tablet

Plagiarism-free
Always on Time

Marked to Standard

Order Now

1=white pawn and -1=black pawn

2=white rook and -2=black rook

3=white knight and -3=black night

4=white bishop and -4=black bishop

5=white queen and -5=black queen

6=white king and -6=black king

Which are arranged as shown below Fig 2.1

A B C D E F G H A B C D E F G H

A | -2 -3 -4 -5 -6 -4 -3 -2 | A A A

B | -1 -1 -1 -1 -1 -1 -1 -1 | B B B

C | 0 0 0 0 0 0 0 0 | C C C

D | 0 0 0 0 0 0 0 0 | D D D

E | 0 0 0 0 0 0 0 0 | E E E

F | 0 0 0 0 0 0 0 0 | F F F

G | 1 1 1 1 1 1 1 1 | G G G

H | 2 3 4 5 6 4 3 2 | H H H

A B C D E F G H A B C D E F G H

The above representation is 8X8 array representation so if any move has taken place it can be handled by using arrays or pointers in indexes form. For example consider the basic step in moving a pawn is like this, the white pawn is at [G][A] it can be moved either [F][A] or [E][A].

Here is a small description of the pieces about their moves staring with the king and others

King: The king is the most important and vital piece as the whole game depends on it because the more closely the other pieces against the king the more likely the game finishes so it is one of the weakest piece in the game. The moves of the king are to any square that next to it and around it and it is only one step. The king cannot be moved into a square where it may checkmate itself

The Black dots are the place where the KING can move

Fig 2.2

Queen: The most powerful piece in the game is queen, and it is the only piece in the game that can move any way in one direction as long as it can and satisfies the requirement such as it can't jump and go from its own piece in its way and also it can kills any opposite piece in its way, if the player can handle the queen properly then most the chances of winning becomes easy or the game is in his/her control

The Black dots are the place where the QUEEN can move

Fig 2.3

Bishop: The bishop can move any number of squares diagonally until unless it been interrupted by any piece, there will two different bishops for each side different squares of two different colours which are placed in two different colours. It also powerful like queen when both bishops are managed together

The Black dots are the place where the Bishop can move

Fig 2.4

Knight: knight moves differently than any other piece it is the only piece that can jump from other pieces, it moves two steps forward or backward and take a 90 degree turn any side, the way it moves makes it powerful some pieces, if we use the knight properly we can defend our side easily.

The Black dots are the place where the KNIGHT can move

Fig 2.5.1 Fig 2.5.2

Rook: A rook is piece which cam move straight in one direction only whether horizontally or diagonally, the rooks are very powerful pieces for defending or attacking, with the proper use of the rooks support a game can be easily finished.

The Black dots are the place where the ROOK can move

Fig 2.6

The Black dots is the place where the PAWN can move and arrows is the place where it can killPawn: Pawn is different from other pieces it has so many features in it, basically pawn is the first piece that is near to the enemy pieces, it will move straight but it kills diagonally, if any other piece is obstructed in between it doesn't have any other moves, and it is the only piece that can get the lost piece back into the game. The more pawns the more chances of win

Fig 2.7

Castling: Castling is a method of move where the king and the rook can swap to a different position when there are no other pieces in between, until unless the rook and king has not been at least once from their original positions, it can't be performed during check or checkmate time also, the advantage of castling is the king can't be exposed to the enemy pieces easily.

Lady using a tablet
Lady using a tablet

This Essay is

a Student's Work

Lady Using Tablet

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Examples of our work

The fig 2.8.1 is before Castling and fig 2.8.2 is after castling

Fig 2.8.1 Fig 2.8.2

(David B. Fogel) (Burns) (D.B.Quon, 2005)

3. LITERATURE REVIEW

Literature Review:

Gaming is the most commonly used word across the internet world and it is proved that a lot of revenue is generated against these gamming programs. There are different types of desktop games and web based games available these days and most of them provide great entertainment to the end users irrespective of their knowledge levels on the computers and the corresponding technologies used across developing these games which includes a lot of research and previous works from the journal, articles, projects and so many works related to them.

Most of the successful projects in the real time for a company or for the educational purpose are considered on the lot of previous research; this previous research will give a lot of opportunity to find new things and also gives the opportunity to make a challenging project. And at the same time there are a lot of advancement has developed in the game such as artificial intelligence has come into act, for this purpose a the lot of previous researches, websites, and documents has been given below

According to the previous work produced by author (Carolus, 2006) in the article Alpha-Beta with Sibling Prediction Pruning in Chess where the author starts with citing the origin of the automaton of chess that was evolved during the year in 1770 and describe the growth of it, then the author describes about few particular areas which are interesting such as creating a quest for an effective and rapid search for the fields that mainly participates for pruning in the game search tree so the research has become in Artificial intelligence oriented way, and similarly another area he mostly concerned is about the representation of chess knowledge in computers, such the position of chess board, and also the use of genetic algorithms.

In reference to the above phrase it can be known that there is a lot of advancement in the present world for chess game, but for a better and good development of any application the research has to be started from the early stages which has been taken into consideration for the development, In a previous researches it states that in 1997 the IBM company has increased the processor and power of the computer which lead to a much better performance where computer is capable of analysing 200 million moves per second which results the programmes developed are capable of generating a large number moves as quick as human is capable off.

So Accordingly form the early works that produced, (SHANNON, 1950) researched a proposed on programming a computer for playing a chess which has become an idealistic model for the machine intelligence, and also produced a paper on the subject where so many other also helped him, but as the modern world developed the large machine playing computer has been a real problem for the computer professional to handle them.

According to an early research on game psychology by (Gluskin, 2009) where the author discuss about the programs that have weak codes will not produce a good game which will either underestimate or overestimates the opponent and makes the move which is not an interesting or exiting game, at the same time the author also this type of weak programming can also retrieve the human behaviour and the human psychology and education towards the play of the game.

In another research article called The Effects of Speed on Skilled Chess Performance (Burns) the author describes the mechanism considered for the chess skill, that are whether going fast or slow ,and also he jsutified his research by conducting some blitz chess tournament for determining the hypothesis of the mechanisms.

For example (Berliner, 1990) has developed an similar approach like shannon which is Some necessary conditions for Master Chess Program produced a strong evidence that how good the programming the better the itelligence it shows.

Similarly some other studies have ways of different approach, (D.B.Quon, 2005) where the author starts with the search speed of the first chess computer and the future of the serach engine in the chess games, and then goes with the ways of techniques that is used from getting the info from database and search engines like this the author is mainly concentrating on the algorithm and gaming tree (search engines) but not concentrating on the AI in the program that has a major role, in the similar study of this type (S. Russell, 1995) has developed a game tree by producing a minimax algorithm, russel has produced some moves from certain position by giving the tree evaluation way, and also he suggested to reduce the search whenever it reaches a certain point of limit. The author also evaluated a method called alpha-beta purning which will remove the branches of the tree so that it will not affect the final result.

At the same time André Pereira (André Pereira, 2009) suggests that pervasive chess game like programs are very helpful for the AI techniques in games and he also proposes a development that has made in chess game using AI techniques has resulted a very succuess. So in reference for his way (Levinson) proposed an article about role of chess in artificial intelligence research which has evealuated that many AI techniques have their evaluation of devopment in the gaming field in way to make the computer to grand master level and gives a perfect outcome.

For example, Hypothesis Model for developing the game, (Lemeire) (Michelle Cowley, 2004) in this Lemeire comes with outcome that will come by the step by step where each step is related with the next one, in the initial step that is 'Cognitive study' he checks the design with the current existing algorithms and assumes whether the desired outcome is expected or not , in the next step that is the 'Hypothesis Validation' he makes an evaluation of the current situation whether it is success or not, then in the next step 'Theoretical Proof' after verifying the results from the above stages the inputs for the next step are available then the author has different hypothesis levels for getting the desired outcome, observing the theoretical proof the next step is the implementation where the actual hypothesis way starts, which is by hypothesizing the patterns for the outcome by going in an explanation based research and verification will done so that the expected outcome is delivered

A similar model which was given by Michelle Cowley is 'Scoring Confirming and Falsifying hypothesis' test in this approach at each stage ways the path to the next stage, in the scoring stage the inputs for the confirming stage are produced, then in the confirming stage the inputs from the scoring are tested in the confirmation bias, then in the Falsification stage the actual results will be produced.

There is one more model that was produced on the basis of Search Tree Algorithms by the author Bean (2007), where the author describes as there are exactly 69,352,859,712,417 numbers of possible moves at the node depth of 10 in the search tree constructed. The tree searching algorithm based on their operation can be categorized in to two different types namely type A and type B. Type A method deals with evaluating all the possible moves and the corresponding outcomes if the corresponding move is made and Type B deals with how good the move is based on the situation of the game. Recent developed chess games use the mix of both the Type A and Type B methods to decide the move in the computer chess game. Initially type A searching is done and then the actual refinement is done using the type B method to make the right move. Once the possible moves are decided, the next step in the chess game design is to decide the possible moves of the opponent. The most famous algorithm that can be used for deciding the moves of the opponent is alpha-beta pruning algorithm and this algorithm can be used to estimate the moves of the opponents easily.

So from all the above previous work that is proposed above an estimation can be made as Computer chess has a great history and the almost the first version of computer chess has emerged during the time of the machines Turk and the initial version supports functionalities like hoaxes and trickery. It took almost 60 years to develop a modern computer chess game and this game is proved to be one of the best games ever developed across the gaming world. Chess is considered as the best and most attractive game and thus it has drawn an ample attraction of many academic research scholars. The actual breakthrough for the computer chess game has emerged around the middle of 20th century and the authors like Alan Turning and Claude Shannon has worked and presented work on the computer chess game. Claude Shannon has published an article known as Programming for computer chess game in 1950 and many other authors followed this. Both these authors has given a rough idea how to program a computer chess game and even today many programmers are following the same lines to code the modern computer chess game with some additional features. As the technology has increased a lot during the last 40 years, the performance of the chess game has also increased due to the high end processors and technical advancements in the programming languages. Computational power of computer has increased a lot such that it can make moves over million times faster when compared to humans and a best example for this is a match between Kasporv and Deep Blue machine, where the Deep blue has made 200 million moves, where the human user has made hardly three moves. (Marsland, 1990) (Bernstein, Computer V ChessPlayer)

4. DISCUSSION OF WORK DONE

The work done for the development of the project is divided into couple of phases which are

Requirement

Technology

Project Plan

Design

Requirement:

For a design and development of any software project everyone needs to assume the requirements for development and design so the requirements are divided into few types they are

Requirement of technologies for development: As the developed project is a game which has to have good graphical user interface that can be easily understood for this purpose a good platform for the platform has selected.

For a development of a project a proper research is not only required buy there are some critical requirement that has to be taken into consideration that is considering the cost that is required for the project, which depends on the technology and the platform we choose for the project, as there are a lot tools that are rapidly developing in the present world for developing a project a proper technology is selected that is Java, because most of the project in the present world are compromising for 70% towards automatic development and only near by 30% are manually built.

So for choosing such a type of technology a small analysis requirement has been made according to the below criteria given the selection for the technology has been made they are

Deliverables for the project has to be satisfied

The technology that is selected has to be like an open source software that can easily modified for further developments

Should process the maximum output for the project

The chosen technology has to be in a way that it saves most of the time in the project development

So by taking the above factors into consideration the technology provided by sun network that is java is better for the development of this project because java is a platform where once the code is developed it can be run/compiled anywhere.

Technology:

Benefits for opting Java (Sun Technology):

The Java is a platform independent language that allows the user or developer to addict to this technology with its wide range of options such as selection of whatever back end the developer wants to use whether it is SQL or Oracle or anything and similarly it can work on any operating system the developer likes and also can easily establish connections to web servers and lot of servlet engines.

By using the java it produces some special features like (MS, 2007) (Advantages of Java over Other Languages)

Java is a language that can be easily learned and easily compiled and debugged, which offers platform independence which cannot be easily produced by other languages.

Java is an object oriented language that offers the manipulation and creation of the objects, and also it allows the programmer to reusable the code.

Java runs on a virtual machine when compiled with the help of interpreter using the byte-code.

Java is a very secure language which provides a lot of security for the developers and users.

Java is a low cost language where the tools needed for build and to test program are easily available.

And finally java is one of the language that attracts students and developer because of its GUI Graphical User Interface.

Comparisons of Java with other languages:

These are some of the consideration which made java different than other languages and also better than other technologies,

Languages which are embedded with SQL in them are called host languages but java is not a host language as it an platform independent language.

Java provides a different approach to null values which stands as a composite data for varying values which cant can be possible by the host languages (C, C++, and etc)

Java is language that is developed in such a way that it can easily support the programs that has the portability which can't be easily possible by other languages.

Software Tools:

The software tools that are used in the development of the project are

The Net beans IDE 7.0 and the basic java environment from the command prompt.

Microsoft word 2010 for the documentation of the project.

Microsoft project for the development Gantt chart.

And finally the basic configuration of the windows vista.

Project Plan:

Another major requirement for a successful project is to develop a project plan. For any successful project in real time there must be proper project plan for the project so that the developer can know the status of the project properly, having a proper project plan can deliver results like the areas where the project has taken more time and also can know modify the development or can change the tasks of the project,

The initial plan of the project would in such a way as shown below

Order

Task

Duration

1

Project research and definition

6 days

2

Literature review and project ideas

6 days

3

Project methods and risks

2 days

4

Project ethical issues

2 Days

5

Final review of proposal

3 days

6

Initial Plan

5 days

7

Templates of design and prototype

3 days

8

Initial design and GUI

6 days

9

Implementation

11 days

10

Testing Phase1

4 days

11

Testing phase 2

3 days

12

Final analysis

7 days

13

Evaluation

3 days

14

Final report

14 days

15

Presentation

1 day

Gantt chart:

The Gantt chart is one of the official way to know the project status and also called as provisional schedule

DESIGN:

Analysing the Chess game resources:

The design of the chess game is developed by making a prototype which has been taken it consideration by referring a lot of online chess game sites such as

http://www.learn4good.com/games/board/chess.htm

http://www.sparkchess.com/

http://www.trinimon.de/Chess/

and so many, which helped not to struggle in the early design of the game, so by getting a prototype in mind the project is developed in such a way that some requirement's like

An applet appears which contains set of all pieces of black and white,

Tee game is automatically designed between computer and human so there are no options to select the type of the game but just need play with the white when the applet appears.

There will be a message box displaying error if any wrong move has been made

And finally if the game is finished it would automatically stop.

For this development I had considered the min-max algorithm as the best one to develop but it more related for the game to play against each other but not playing with a computer where the artificial intelligence comes to act.

The Method and Assumption of design:

Board representation plays a vital role in deciding the moves and the move generation is purely depend on the board representation. Interpretation of the moves made by the computer depends on the representation of the board in the computer memory. A two dimensional array and an 8X8 grid is used to represent the board in the computer memory. Each square in the chess box is assigned a unique number with in the range of 64 numbers and this process is known as offset or mailbox representation. The squares in the boards are numbered from 0 to 63 along 0 to h8 receptively as shown in the below figure

Fig: Offset representation of the chess board

Offset representation using an 8X8 grid is a traditional method of representing the squares in the chess board and the modern approach computer chess games are developed in the lines of 10X12 grids to identify the illegal moves easily and also the edges of the board. The squares that were assigned additionally are given some large numbers like 99 such that the out of bound moves can be easily tracked. A typical model this type of chess board is given below

Fig: 10X12 grids offset representation

Moves of the computer chess game are done with a separate numbering system used based on few numbers and the actual piece among all the possible 12 pieces that resides on a square is represented using these numbers. Following numbers are few sample considered here. A 0 represents an empty square, pawn is represented with 1, King is represented with 6, 2 is for Knight, 3 for Bishop and 4 is used for Rook. Positive numbers are used for white pieces and blacks are represented with negative numbers. Once these pieces and their relative position is decided using these numbers, all the possible moves based on the position of the piece can be done easily. The validity of the move is checked with respect to the target piece on the desired square to move and the number of the piece on the on the target square. If the number 99 is observed on the target square, then it is considered as the illegal move and the move is not accepted as per the logic and if the square contains 0 or any positive integer, then it is considered as the legal move, as 0 represents the empty square and positive number indicates a white piece. There are some advanced techniques to this offset estimation are introduced later and the main logic in these techniques is based on the 64-bit integer, where each and every bit represents the square in the chess board and this approach is known as bit-board or bit-map approach. Bits are used as the important entity in this approach and as mentioned each bit represent the square in the 8X8 board and the bit value 1 indicates that there is a piece in that particular square and 0 indicate that the corresponding square is empty.

CRITICAL EVALUATION

OF PROCESS

AND THE PRODUCT

The critical evaluation of any process and product is done dividing into two phases they are

Implementation

Testing

Implementation:

Any project goals or deliverables are depend upon them implementation and testing, if these two factors are not properly considered then the quality of the project would be less, so for this purpose a steady and good testing is required for the project, so for that purpose the tester has to thoroughly test the system and it is his duty to make sure that deliverables are achieved properly or not, according to the artefact given by magazine that in the present software field 50% of the employers that are working in the technical department are testers. That means theoretically 50% of the time has been given for testing in the development of the project, so by seeing these facts it is understood that for good software a proper testing is required.

Considering an important report which is given the authors (B Boehm & V Basili, 2001) on the topic Software defect reduction top 10 lists, so consider the steps given below at the early stages for the development

It costs 100 times more difficult for searching and rectifying the bug when the software is developed than solving the problem in the early stages of the development during the development.

Most of the projects that are developed in the present world consume 40 to 50 percentage of work to rework for fixing the problems, so reducing the most of the rework can significantly improve the time in the project and the productivity of the software.

Similarly the author says that the 80 percentage of rework will occur due to 20 percentage of the defect only, so reducing more defects reduced will efficiently grow the development of the project.

The author also suggest that every tester has a certain requirement such as assuming a certain scenario in performing the testing which are stated below

Analysing the requirement: in this phase to do the work without any issues will be developed by assuming some function point in the project check the requirement are feasible or not

Designing: in this phase the tester checks whether the designed project is meeting to the architecture that is taken into consideration at the initial step,.

Coding: This is the phase where tester test the actual product completely and also asks a couple of voluntary people to test the system so that any software bugs would be detected.

For this project some of the test cases that are highly taken into consideration and they are giving according to the priority are

Tested whether each and every field is accessed on the applet or not.

The screen shots of each and every test field is properly described for the user

Thoroughly checked whether each and every error that was popped while testing is properly handled or not.

Testing:

The proper testing of the system is shown below

Test Case 1:

Input given: To compile the program without the errors.

Status: changed

Output: The program is compiled properly without any errors if any errors are occurred it will be displayed below the compilation input, so in this test case there are no errors so the compilation was successful and was preceded to the next step.

Fig 5.1

Test Case 2:

Input given: To execute the applet by giving the command.

Status: applet displayed

Output: After entering the code for execution of the program the command prompt will automatically pop up an applet which as shown below, if there are any internal errors in the program the applet will not appear.

Fig 5.2

After entering the command in the command prompt as shown above and executed it will be redirected to the applet which is shown below

Fig 5.3

Test Case 3:

Input given: Check whether all the pieces of the both sides are available or not and also check whether they are properly organised or not.

Status: Performed

Output: All the pieces are available and fairly organised for both sides which are satisfying the basic rules of the game is shown below.

Fig 5.4

Before going to play the chess a proper check for the moves of each and every piece is tested and the test cases of them and their results are shown below

Test Case 4:

Input: checking the move of the pawn.

Status: Performed

Output: It is satisfying the rules of the game if any other move that is not a valid move of pawn is performed an dialog box will be displayed, the dialog boxes for the test cases are shown below the screen shots for the test cases.

Fig 5.5 Fig 5.6

The above screen shots shows the valid moves of the pawn, and if any other moves for the pawn are the dialog box appears as shown below.

Fig 5.7 Fig 5.8

Test Case 5:

Input: checking the move of the knight.

Status: Performed

Output: It is satisfying the rules of the game if any other move that is not a valid move of Knight is performed an dialog box will be displayed, the dialog boxes for the test cases are shown below the screen shots for the test cases.

Fig 5.9 Fig 5.10

The above screen shots shows the valid moves of the Knight, and if any other moves for the Knight are the dialog box appears as shown below

Fig 5.11 Fig 5.12

Test Case 6:

Input: checking the move of the Rook.

Status: Performed

Output: It is satisfying the rules of the game if any other move that is not a valid move of Rook is performed an dialog box will be displayed, the dialog boxes for the test cases are shown below the screen shots for the test cases.

Fig 5.13 Fig 5.14

The above screen shots shows the valid moves of the Rook, and if any other moves for the Rook are the dialog box appears as shown below

Fig 5.15 Fig 5.16

Test Case 7:

Input: checking the move of the Bishop.

Status: Performed

Output: It is satisfying the rules of the game if any other move that is not a valid move of Bishop is performed an dialog box will be displayed, the dialog boxes for the test cases are shown below the screen shots for the test cases.

Fig 5.17 Fig 5.18

The above screen shots shows the valid moves of the Bishop, and if any other moves for the Bishop are the dialog box appears as shown below

Fig 5.19 Fig 5.20

Test Case 8:

Input: checking the move of the Queen.

Status: Performed

Output: It is satisfying the rules of the game if any other move that is not a valid move of Queen is performed an dialog box will be displayed, the dialog boxes for the test cases are shown below the screen shots for the test cases.

Fig 5.21 Fig 5.22

Fig 5.23 Fig 5.24

The above screen shots shows the valid moves of the Queen, and if any other moves for the Queen are the dialog box appears as shown below

Fig 5.25 Fig 5.26

Test Case 9:

Input: checking the move of the King.

Status: Performed

Output: It is satisfying the rules of the game if any other move that is not a valid move of King is performed an dialog box will be displayed, the dialog boxes for the test cases are shown below the screen shots for the test cases.

Fig 5.27 Fig 5.28

Fig 5.29 Fig 5.30

The above screen shots shows the valid moves of the King, and if any other moves for the King are the dialog box appears as shown below

Fig 5.31 Fig 5.32

Test Case 10:

Input: checking the move of the kills performed each and every piece.

Status: Performed

Output: It is satisfying the rules of the game if any other move that is not a valid move for killing is performed an dialog box will be displayed, the dialog boxes for the test cases are shown below the screen shots for the test cases.

Fig 5.33 Fig 5.34

In the above figures when the white pawn is in a castle position with the black pawn according to the rules of chess it can kill the opponent piece.

Similarly in the case of the king.

Fig 5.35 Fig 5.36

In the above figures when the white pawn is in a castle position with the black pawn according to the rules of chess it can kill the opponent piece.

Fig 5.37 Fig 5.38

Like above each and every piece is following its rule which are shown below

Staring with knight:

Fig 5.39 Fig 5.40

Similarly with Rook:

Fig 5.41 Fig 5.42

Similarly with Bishop:

Fig 5.43 Fig 5.44

And finally the Queen:

Fig 5.45 Fig 5.46

Test Case 11:

Input: when it is a check for the king.

Status: Performed

Output: if there was a check for the king then the system should allow any other moves except king if any other move has been made a message has to be displayed.

Fig 5.47 Fig 5.48

When there is any other move that is leading for check would be cautioned by a message box as shown below

Fig 5.49 Fig 5.50

Test Case 12:

Input: when it is a checkmate for the king.

Status: Performed

Output: if there was a checkmate for the king then the system will display a message box as shown below.

Fig 5.51 Fig 5.52

Errors that occurred during the development of the project:

There are some errors that occurred during the development of the project which are rectified are given below

Error 1:

Input: Moving a pawn diagonally.

Status: Performed

Output: Pawn has moved diagonally as shown below.

Fig 5.2.1 Fig 5.2.2

The above figures shows the illegal move of the pawn which is going diagonally ,as per the rules of the game moving of the pawn diagonally without having a castle against the opponent piece is an illegal move and will not satisfy the rules of the chess.

So this is one of the type of error that is occurred at the start of the development which was later on rectified , similarly type of errors has occurred with the other pieces has also been managed and rectified.

Error message 2:

Input: Moving the black pawn

Status: Performed

Output: The move is performed, black pawn moved a step

Fig 5.2.3 Fig 5.2.4

From the above figures we can see the pieces of black can be moved which can't be possible as the game is developed between human and computer we can't the move the pieces of the computer but which are moved here, so this type of error are notified and rectified.

Error Message 3:

Input: Kill the king and move next step.

Status: Performed

Output: The king was killed and the next step is also moved.

Fig 5.2.5 Fig 5.2.6

The above figures describes that even after the king is killed the game is still commencing without displaying any messages of whether the game is over or not, or it is a checkmate or not, this is error is also rectified.

CONCLUSION

Conclusion:

Considering all the results that obtained from all the phases of this project, the project has developed keeping the factors from the literature review, design, testing and project plan which had made the project to run successfully without any errors, the developed system would mostly error free and very easy to use. The application will run on the desktop when compiled and straight away the game begins.

The whole project has been developed according to the facts and assumptions that were produced in the proposal and was successfully developed leading to the possible solution for the proposal that was submitted before and surely say the aims and deliverables are satisfied properly.

Changes in the future for the development (Suggestions):

The product that was developed was very well designed and properly running also, if there is an opportunity to develop more by adding any changes for the future are notified below,

Making the application as a web based application and post in the internet would be a good option.

Displaying any help message box or giving the help option in the menu bar would be a good change for the future.

Assigning authentication like player names at the start of the game is also a good option for the future.

Adding any sound effects would also be effective for the customers in the future.

Due to less time the above suggestions are not implemented in this project, if there is more time for the development then above changes would definitely introduced in the project.

Project Strengths and advantages:

The developed project has a good graphical user interface

The developed interface doesn't overload with lot of menu bars or buttons around the interface, it is developed in way with central view of chess board and small option at the right hand corner which is attractive for the people who wants the experience of playing the game only.

There are options for undo and redo at the right corner for easy access for the player so that every time the user doesn't need to go for the menu bar for undo and redo options.

If any illegal moves are made in the game it will be warned by display a dialog box.

The developed game make the user or player to feel like they are playing with an another or player, which means the moves and tactics performed by the computer are quick and good.

Project back locks or weakness:

It is not a web based application

It doesn't have any sound effects in the game which makes the game more virtual.

Project Feedback (Real time testers):

After doing a proper testing of the system it was once again tested by some real time users to make sure any bugs and unwanted data is produced or not, the testers who tested the system have given their views about the system processing, appearance and interface which all has taken into consideration.

Here are the details of the people who spend their valuable time for testing the sytem and given their suggestion, the details of them have been given by their approval and I am very thankful to them in helping me,

Vamsi Kaisarla (worked as CSR in company at London)

Email id: Vamsi.valentino@gmail.com

Phone no: 07943 312189

Kiran Babu Kavili: (Student in Wolverhampton University)

Email id: kavili25k@gmail.com

Phone no: 07415 125660