Project Proposal

 

The Team :

  • Nisheet Jain bt CSE 

  • Shvetank Jain bt CSE

  • Vinay Gupta bt CSE

    The Team Manager :

    Shiladitya Biswas - Office C-315 Hall4
    Mail id - sbiswas@iitk.ac.in

    The Coach :

    Dr. Amitabha Mukherjee

    Page is best viewed in Internet Explorer


            About The Game..

     

    Game Rules

    Connect Four is a two players game which takes place on a 7x6 rectangular board placed vertically between them. One player has 21 yellow coins and the other 21 red coins. Each player can drop a coin at the top of the board in one of the seven columns; the coin falls down and fills the lower unoccupied square. Of course a player cannot drop a coin in a certain column if it's already full (i.e. it already contains six coins).

    Even if there's no rule about who begins first, we assume, as in chess, that the lighter side makes the first move. We also use the chess notation to represent a square on the board. That is, we number rows from 1 to 7 starting from the bottom and the columns from A to G starting from the leftmost.

    The object of the game is to connect four coins vertically, horizontally or diagonally. If the board is filled and no one has alligned four coins  then the game is drawn (i.e. after 42 moves if no one wins).

    Look at the following examples...


    [Not


    This picture represents a win by yellow in c5f2








    [Not


    This picture represents a win by red in b3e6








    [Not


    This picture represents a draw









    Project Objectives

    We intend to make a game in which the computer is able to play intelligently the game of connect four. The game involves deep enough strategies that make the game interesting from the point of view of invoking artificial intelligence. We intend to analyse the board to about 4 depths before making the move. This would involve the successive analysation of the strength of the computer as a consequence of effective moves. The graphics involved in the game would give us an insight into efficient handling  of the graphics package in java. The usage of mouse makes the interface very user-friendly enabling him to be able to make his move at a click. The challenge also lies in playing the game at two levels and invoking the algorithm accordingly. If possible, we would like to make the game playable through networking as well. 

     



    Program Design

    The program deals with artificial intelligence. The computer is required to use it's intelligence against each move by the user which will be dependent on the developed algorithm. The more the complexity and efficiency of the algorithm the better will be the moves made by the computer and will be tougher for the user to prove him/her self smarter than the machine.

    The platform that will be used for developing the project will be Java IDE's Bluej. We prefer Bluej as the operating platform because of its ease of use and easy debugging abilities. We will be implementing classes ( number will depend on the algorithm developed ) as Java is mainly an OOP ( object oriented programming ) language. We also make use of the inbuilt classes defined in Java's library and the various methods in them. We plan to use the Input Output functions and also the AWT or SWING packages for the graphical part of the program for GUI ( Graphical User Interface ).



    Sample Input & Output

    Input :

    As soon as the user runs the program the game will start and there will be a option window asking the user for the following:
    1) The player's name
    2) Color choice of ball
    3) The difficulty level he/she wants to play ( COOL, WARM OR FUMING HOT )
    4) Who goes first??
    5) Dare to Play Again!!!(Y/N)
    6) You are challenger number ( )
    7) Exit
    After the initial settings have been set by the user the game begins. The user would be allowed to click on the pointers positioned above each column.    

    Output :

    On the click of the mouse in the specified column, the coin would be inserted in the appropriate location which is the lowest unoccupied slot. The computer would then analyse the game field and would then go to subsequent depths in order to be able to make the smartest move.  After having decided on the move the computer would then insert the coin in the decided slot. At any stage the the user will be allowed to pause or resume the game.


    This is a journey in time...