Hi there,
I'm a Dutch student (and a complete newbie to programming) working on an assignment for school. The assignment is to program a basic tic tac toe game (using visual C++ 6.0 or 2003 .NET) for one player against the computer. I have to use basic programming, only loops and basic functions etc. I don't need to have a great looking GUI. I only have to get the game working.
I'm stuck on two problems:
1: Got a bug in the main function when the program is running and it's a tie.
2: I can't seem to find the solution to build a AI computer player.
Got the game working for 2 players so far, but can anybody please help me with the bug (when it's a tie) or to get the computer player working???
I would be very gratefull!
tnx Flupke
p.s. here's my code for so far:
Code:#include <iostream> using namespace std; char board[9] = { '1', '2', '3', '4', '5', '6', '7', '8', '9'}; void drawBoard(); bool checkWinner(); void movePlayer(bool); void moveComputer(bool); bool possibleMove(int); void main() { bool player = false; /* true = X , false = O */ int i= 0; drawBoard(); while(!checkWinner()) if ( i==0 || i==2 || i==4 || i==6 || i==8 ) { i++; { if(player == true) player = false; else player = true; movePlayer(player); } } else if ( i==1 || i == 3 || i==5 || i==7 ) { i++; { if(player == true) player = false; else player = true; moveComputer(player); } } else cout << " It's a TIE !!! " << endl; cin.get(); if(player == true) cout << "Player one WINS !!!" << endl; else cout << "The computer WINS !!!" << endl; } void drawBoard() { cout << "\n " << board[0] << " | " << board[1] << " | " << board[2] << endl << " ---------" << endl << " " << board[3] << " | " << board[4] << " | " << board[5] << endl << " ---------" << endl << " " << board[6] << " | " << board[7] << " | " << board[8] << endl; } bool checkWinner() { if(board[0] == board[1] && board[2] == board[0] ) return true; else if(board[3] == board[4] && board[5] == board[3]) return true; else if(board[6] == board[7] && board[8] == board[6]) return true; else if(board[0] == board[3] && board[6] == board[0]) return true; else if(board[1] == board[4] && board[7] == board[1]) return true; else if(board[2] == board[5] && board[8] == board[2]) return true; else if(board[0] == board[4] && board[8] == board[0]) return true; else if(board[2] == board[4] && board[6] == board[2]) return true; else return false; } void movePlayer(bool whichPlayer) { int place; cout << "\n Player one, make your move: "; cin >> place; if(possibleMove(place)) { if(whichPlayer == true) board[place-1] = 'X'; else board[place-1] = 'O'; } else movePlayer(whichPlayer); drawBoard(); } void moveComputer(bool whichPlayer) { int place; cout << "\n Computer, make your move: "; cin >> place; if(possibleMove(place)) { if(whichPlayer == true) board[place-1] = 'X'; else board[place-1] = 'O'; } else moveComputer(whichPlayer); drawBoard(); } bool possibleMove(int place) { if(board[place-1] == 'X' || board[place-1] == 'O') return false; else return true; }


LinkBack URL
About LinkBacks




Reply With Quote





so i have to start all over with the ai thing 

I'll skip the part of trying to translate a piece of code from c# to c++, because that was about 4 hours an the only thing I got was more and more errors.... 

Bookmarks
Algorithms and Data Structures
Java tutorials
Algorithms Forum