Thread: Chess project

  1. #1
    "Why use dynamic memory?"
    Join Date
    Aug 2006
    Posts
    186

    Chess project

    I've been thinking of this since i was ten years old i always wanted to do chess computer that can hardly solidly. but ofcourse not like Deep Blue


    If you are interesting making that project please post here



    note: programming will be in C++

  2. #2
    Registered User
    Join Date
    Aug 2006
    Posts
    74
    Mmmm.. I've always wanted to do a chess program too. Good artifical intelligence challenge balancing computer gameplay difficulty with computer thinking speed + graphical elements. I would join in on the fun, but I'm kinda working on another project at the moment. Bummer

    Good luck though. Be interested to see what you and your (soon to be) team of minions come up with.

  3. #3
    Registered User
    Join Date
    Sep 2006
    Posts
    8,868
    If you're interested in writing a chess program, C++ is an excellent language for it.

    You'll want to d/l the following:

    1) TSCP (Tom's Simple Chess Program). In C, but it's been the standard of a good simple chess engine for several years.

    2) FirstChess - this is an even simpler version of TSCP, made for teaching, only.
    3) Winboard - a popular display front end for many engines. Saves a lot of work with GUI programming, AND allows play of engine vs. engine, including over the internet on the chess servers.
    4) EVERYTHING from Bruce Morelands's excellent chess site. You might not understand it now, but study it.
    5) Gamedev and David Epstein used to both have some nice websites on chess programming. Don't know if they still do or not.

    And surf to:
    www.talkchess.com - Most of the major chess authors gather here and chat, particularly on the programming/technical forum, there. Several are world class competitors in computer chess, some former world champs, some just beginners.

    Winboard forum - google it, but it has lots of info, all the open-source programs, results of their recent automated matches, and lots of expert advice from successful chess programmers, etc.

    There is also a book titled: How Computers Play Chess by David Levy and Monroe Newborn. Lots of good advice in that.

    It's not easy, but it's very addictive once your program starts playing!

    Enjoy!

    Adak

  4. #4
    "Why use dynamic memory?"
    Join Date
    Aug 2006
    Posts
    186
    Graphics are not important the goal is:
    create chess game on simple dos-running window. that when u make move u enter the move in the program in a algebraic model then the program proccesses its move and it gives you the move and you make the move on ur board for the computer just like Garry Kasparov vs Deep Blue


    and my friend has AMD 3.4 that will be very great place for computer chess so the more powerful processor u have the more powerful chess computer will be


    i like that

    human brain vs little piece of silicon
    Last edited by Hussain Hani; 09-24-2006 at 06:05 PM.

  5. #5
    "Why use dynamic memory?"
    Join Date
    Aug 2006
    Posts
    186
    if at least 3 programmers join me i will create .org or .net website for us . If u wanna see my skills in C++. This is the last the program i worked on, i know this is very very very simple but i can also deal with pointers and advanced like that

    Code:
    //The converter 1.2
    #include <iostream>
    #include <conio.h>
    
    using namespace std;
    
    
    int main()
    {
        cout << "\t\t\tWelcome to the Converter 1.2\t\t\t\n\n";
        cout << "\nBy Hussain Hani Qasem. Done exclusively for West Linn High School xD";
        cout << "\nThis program is for loosers(like you) who cannot make the calculations in their head";
        cout << "\nSpecial thanks to: Mr.Lothamer, Meder, The Crooks and all friends and all staff in West Linn high";
        cout << "\nIf there is wrong in the conversion";
        cout << "please send me email: [email protected]";
        
        
        //Variables
        int numberOne = 0;
        int numberTwo = 0;
        int numberThree = 0;
        
       
        
        cout << "Choose the conversation type: \n\n";
        cout << "1 - Celsius to Fahrenheit to Kelvin\n";
        cout << "2 - Fahrenheit to Celsius to Kelvin\n";
        cout << "3 - Kelvin to Celsuis to Fahrenheit\n";
        
        
        
        int choice;
        cout << "Please enter your choice(1, 2 or 3): ";
        cin >> choice;
        
        
        switch(choice)
        {
                 case 1:
                      cout << "You picked Celsius to Fahrenheit to Kelvin.\n";
                            //Main loop
          while (numberOne != 1000000000 || numberOne != -1000000000) 
       {
        cout << "\n\nEnter a degree in Celsius to convert it to Fahrenheit and Kelvin\n\n";
        cin >> numberOne;
        
        cout << "\nYou've entered " << numberOne << "\n";
        cout << "\nThe degree is: " << (1.8 * numberOne) + 32 << " in Fahrenheit\n";
        cout << "\nThe degree is: " << numberOne + 273.15 << " in Kelvin";
        
        
       }
       break;
       
                  case 2:
                      cout << "You picked Fahrenheit to Celsius to Kelvin.\n";
                            //Main loop
          while (numberTwo != 1000000 || numberTwo != -100000) 
       {
        cout << "\n\nEnter a degree in Fahrenheit to convert it to Celsius and Kelvin\n\n";
        cin >> numberTwo;
        
        cout << "\nYou've entered " << numberTwo << "\n";
        cout << "\nThe degree is: " << (5*(numberTwo-32)) / 9 << " in Celsius\n";
        cout << "\nThe degree is: " << ((numberTwo-32)*0.5555)+273.15 << " in Kelvin";
        
        
       }
       break;
       case 3:
          cout << "\nYou picked Kelvin to Celsius to Fahrenheit";
          //Main loop
          while (numberThree != 1000000000 || numberThree != -1000000000)
          {
                cout << "\n\nEnter a degree in Kelvin to convert it to Celsius and Fahrenheit\n\n";
                cin >> numberThree;
                
                cout << "\nYou've entered " << numberThree << "\n";
                cout << "\nThe degree is: " << numberThree - 273.15 << " in Celsius\n";
                cout << "\nThe degree is: " << ((numberThree - 273.15) * 1.8) + 32 << " in Fahrenheit\n";
                
                
                }
                break;
       
       
       
       
    
                default:
                        cout << "You've made illegal choice idiot\n";
                        }
    
        
    
    
       
    
        getch();
        return 0;
    }

  6. #6
    Registered User
    Join Date
    Sep 2006
    Posts
    8,868
    Quote Originally Posted by Hussain Hani
    Graphics are not important the goal is:
    create chess game on simple dos-running window. that when u make move u enter the move in the program in a algebraic model then the program proccesses its move and it gives you the move and you make the move on ur board for the computer just like Garry Kasparov vs Deep Blue

    and my friend has AMD 3.4 that will be very great place for computer chess so the more powerful processor u have the more powerful chess computer will be

    i like that

    human brain vs little piece of silicon
    I understand about the graphics. Simple boards and pieces are always included with every chess program, even if it's using Winboard, because you need something if you have a problem communicating moves to the Winboard interface.

    Sooner or later though, you'll want your chess program to compete with other amateur chess programs (many are written by professional programmers, so keep that in mind), and you'll want to match your new version up against your old version, and see how much stronger or weaker the new version really is.

    For testing, automated games like this with Winboard, are a gift from heaven, believe me!

    Oh, you'll definitely want to follow the moves along with your own board - it's VERY easy for an amateur program to make (or allow), an illegal move, or even resign unexpectedly, or declare the game over before it really is! Especially on moves like castling and en passant.

    Yes, a more powerful computer will always help a chess program, and your friend has a VERY powerful PC. I didn't know AMD even made a 3.4 GHz cpu, just yet. Has your friend over-clocked his cpu to get this high speed?

    When you start chess programming, you'll see that most parts of it are not too hard to code up. When you want to improve your program, that's when it will become more difficult to code.

    Making it smarter, but not making it too slow - that's the challenge.

    Good luck in your quest.

    Adak

  7. #7
    Reverse Engineer maxorator's Avatar
    Join Date
    Aug 2005
    Location
    Estonia
    Posts
    2,318
    Quote Originally Posted by Hussain Hani
    Graphics are not important the goal is:
    create chess game on simple dos-running window. that when u make move u enter the move in the program in a algebraic model then the program proccesses its move and it gives you the move and you make the move on ur board for the computer just like Garry Kasparov vs Deep Blue


    and my friend has AMD 3.4 that will be very great place for computer chess so the more powerful processor u have the more powerful chess computer will be


    i like that

    human brain vs little piece of silicon
    If the basic AI thingy is done, there should be a GUI version too, because it makes playing easier, more confortable and fun.

    Don't use Borland specific includes like <conio.h>, which's function getch() is. Find some alternatives using the C++ standards.
    "The Internet treats censorship as damage and routes around it." - John Gilmore

  8. #8
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    This is the recruitment board.

    If you want to discuss the project with the OP, then use private messages.

    If you have specific issues with a bit of code, then post it on the relevant board.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  9. #9
    "Why use dynamic memory?"
    Join Date
    Aug 2006
    Posts
    186

    if anyone wants to join please post here with the best program you've done with C++ or any sructured language

  10. #10
    Registered User
    Join Date
    Aug 2006
    Posts
    163
    Hussain, have you done any work with OOP? It seems like this chess game may be a large undertaking, especially if that converter is the most difficult thing you've done(Not trying to diss, as I'm not much beyond that ).
    I may be able to help out some. I think I could write a few classes for this project. First, I'd have to study up on some chess, and AI, cause right now I'm not so great at either.
    I don't know how to attach files, so I can't attach my best program(multi file, several hundred lines)

  11. #11
    "Why use dynamic memory?"
    Join Date
    Aug 2006
    Posts
    186
    send me ur mail on my PM and dont forget :
    "The thousand mile journey begins with one step"



  12. #12
    Registered User
    Join Date
    Aug 2006
    Posts
    163
    Hey, I just saw how to attach stuff. Here's a .txt with all my files in it(wouldn't accept a .zip). Just seperate them and save them as titled in comments at the beginning of each(seperated by several lines of whitespace.

  13. #13
    The superhaterodyne twomers's Avatar
    Join Date
    Dec 2005
    Location
    Ireland
    Posts
    2,273
    >> I'd have to study up on some chess, and AI, cause right now I'm not so great at either.

    I made a chess game ages ago.

    The first thing to do, IMO, is to get the piece moving, and the rules functional. Then, and only then, when all that's working all the time, should you look into creating some AI. Then post like crazy on the AI forum

  14. #14
    "Why use dynamic memory?"
    Join Date
    Aug 2006
    Posts
    186
    ur program system 159 looks great i see you are able to save data in the memory which is really good . If u really wanna join me then we are looking for two mroe programmers then i will launch the site

  15. #15
    Registered User
    Join Date
    Aug 2006
    Posts
    163
    Sure, seems like something fun, and could push me to learn a bit more. (Though my school work will come first of course). I have a friend in class that may be interested. I'll talk to him about it today.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problem Displaying a Struct
    By rockstarpirate in forum C++ Programming
    Replies: 16
    Last Post: 05-05-2008, 09:05 AM
  2. added start menu crashes game
    By avgprogamerjoe in forum Game Programming
    Replies: 6
    Last Post: 08-29-2007, 01:30 PM
  3. Dynamic Binding
    By gpr1me in forum C++ Programming
    Replies: 1
    Last Post: 03-24-2006, 09:01 AM
  4. Game Independent Anti-cheat Project Needs Programmers
    By GIA Project Lea in forum Projects and Job Recruitment
    Replies: 3
    Last Post: 09-15-2005, 07:41 PM