Leeman_s: I downloaded your code and found a couple of errors. It would not compile so I changed the code to work correctly. Before you brag you might want to make sure the code works:
corrected code:
Code:
#include "iostream.h"
#include "conio.h"
#include "windows.h"
#include "stdlib.h"
#include "time.h"
char board[3][3];
char playerup;
char playername[10];
int y;
int z;
int win=0;
char name1[10];
char name2[10];
int difficult;
void getmove();
void computermove();
void showboard();
void key();
void checkforwin();
void check_input();
int main(int q, int w, int moves, char choose, char choose1)
{
do
{
win=0;
moves=0;
choose='h';
cout<<"Do you want to play with a human (H) or the computer (C)? ";
cin>>choose;
system("CLS");
//********************************PLAY
HUMAN*********************************
if (choose=='H' || choose=='h')
{
cout<<"Player 1, enter your name: ";
cin>>name1;
system("CLS");
cout<<"Player 2, enter your name: ";
cin>>name2;
for (q=1;q<4;q++)
{
for (w=1;w<4;w++)
{
board[q][w]='-';
}
}
do
{
showboard();
key();
playerup='X';
cout<<name1;
playername[10]=name1[10];
cout<<"HELLO";
cout<<playername;
_getch();
getmove();
moves++;
system("CLS");
checkforwin();
if(win==0 && moves<9)
{
showboard();
key();
playerup='O';
playername[10]=name2[10];
getmove();
moves++;
checkforwin();
}
system("CLS");
if(moves==9 && win==0)
{
win=3;
}
}while(win!=1 && win!=2 && win!=3);
showboard();
if(win==1)
{
cout<<name1<<", you won!"<<endl;
}
else if(win==2)
{
cout<<name2<<", you won!"<<endl;
}
else if(win==3)
{
cout<<"Neither of you won, it's a tie!"<<flush<<endl;
}
_getch();
system("CLS");
cout<<"Do you want to play another game? ('n' for no) ";
cin>>choose1;
}
//****************************PLAY COMPUTER*******************************
else if(choose=='C' || choose=='c')
{
cout<<"1) Novice 2)Moderate 3)Insane"<<endl;
cout<<"What level of difficulty do you want to play on?";
cin>>difficult;
cout<<"Player 1, enter your name: ";
cin>>name1;
system("CLS");
for (q=1;q<4;q++)
{
for (w=1;w<4;w++)
{
board[q][w]='-';
}
}
do
{
showboard();
key();
playerup='X';
playername[10]=name1[10];
getmove();
moves++;
system("CLS");
checkforwin();
if(win==0 && moves<9)
{
showboard();
key();
computermove();
moves++;
checkforwin();
}
system("CLS");
if(moves==9 && win==0)
{
win=3;
}
}while(win!=1 && win!=2 && win!=3);
system("CLS");
showboard();
if(win==1)
{
cout<<name1<<", you won!"<<endl;
}
else if(win==2)
{
cout<<"HA! THE COMPUTER BEAT YOU!"<<endl;
_getch();
cout<<"GAME OVER"<<endl;
_getch();
system("CLS");
}
else if(win==3)
{
cout<<"Neither of you won, it's a tie!"<<flush<<endl;
}
_getch();
system("CLS");
cout<<"Do you want to play another game? ('n' for no): ";
cin>>choose1;
}
}while(choose1!='n' && choose1!='N');
return 0;
}
//*********************************FUNCTION DEFINITIONS***********************
void getmove()
{
do
{
do
{
cout<<playername<<", you are the "<<playerup;
cout<<".Enter the x coordinate for your move: ";
cin>>y;
}while(y>3 || y<1);
cout<<""<<endl;
do
{
cout<<playername<<", you are the "<<playerup;
cout<<".Enter the y coordinate for your move: ";
cin>>z;
cout<<""<<endl;
}while(z>3 || z<1);
if(board[y][z]!='-')
{
cout<<"You're more stupid than my grandma! That spot's
taken!"<<flush<<endl;
_getch();
}
}while(board[y][z]!='-');
board[y][z]=playerup;
}
void showboard()
{
cout<<"CURRENT BOARD"<<endl;
cout<<"-----------------------"<<endl;
cout<<board[1][1]<<" "<<board[1][2]<<" "<<board[1][3]<<endl;
cout<<board[2][1]<<" "<<board[2][2]<<" "<<board[2][3]<<endl;
cout<<board[3][1]<<" "<<board[3][2]<<" "<<board[3][3]<<endl;
cout<<"-----------------------"<<endl;
cout<<""<<endl;
cout<<""<<endl;
}
void key()
{
cout<<"This is the key (x coordinate & y coordinate)"<<endl;
cout<<"--------------------------------------------------"<<endl;
cout<<"(1,1) (1,2) (1,3)"<<endl;
cout<<""<<endl;
cout<<"(2,1) (2,2) (2,3)"<<endl;
cout<<""<<endl;
cout<<"(3,1) (3,2) (3,3)"<<endl;
cout<<"--------------------------------------------------"<<endl;
}
void checkforwin()
{
for(int i=1;i<4;i++)
{
if(board[1][i]=='X' && board[2][i]=='X' && board[3][i]=='X')
{
win=1;
}
}
for(int j=1;j<4;j++)
{
if(board[j][1]=='X' && board[j][2]=='X' && board[j][3]=='X')
{
win=1;
}
}
if(board[1][1]=='X' && board[2][2]=='X' && board[3][3]=='X')
{
win=1;
}
if(board[3][1]=='X' && board[2][2]=='X' && board[1][3]=='X')
{
win=1;
}
//*****************************************************
for(int i=1;i<4;i++)
{
if(board[1][i]=='O' && board[2][i]=='O' && board[3][i]=='O')
{
win=2;
}
}
for(int j=1;j<4;j++)
{
if(board[j][1]=='O' && board[j][2]=='O' && board[j][3]=='O')
{
win=2;
}
}
if(board[1][1]=='O' && board[2][2]=='O' && board[3][3]=='O')
{
win=2;
}
if(board[3][1]=='O' && board[2][2]=='O' && board[1][3]=='O')
{
win=2;
}
}
//***************************************************************************************
void computermove()
{
y=0;
z=0;
char d;
if((difficult==2 || difficult==3) && difficult!=1)
{
for(int count=1;count<3;count++)
{
d='X';
if(difficult==3)
{
d='O';
}
for(int a=1;a<4;a++)
{
if(board[a][1]==d && board[a][2]==d &&
board[a][3]=='-')
{
y=a;
z=3;
}
if(board[a][1]==d && board[a][2]=='-' &&
board[a][3]==d)
{
y=a;
z=2;
}
if(board[a][1]=='-' && board[a][2]==d &&
board[a][3]==d)
{
y=a;
z=1;
}
if(board[1][a]==d && board[2][a]==d &&
board[3][a]=='-')
{
y=3;
z=a;
}
if(board[1][a]==d && board[2][a]=='-' &&
board[3][a]==d)
{
y=2;
z=a;
}
if(board[1][a]=='-' && board[2][a]==d &&
board[3][a]==d)
{
y=1;
z=a;
}
if(board[1][1]==d && board[2][2]==d &&
board[3][3]=='-')
{
y=3;
z=3;
}
if(board[1][1]==d && board[2][2]=='-' &&
board[3][3]==d)
{
y=2;
z=2;
}
if(board[1][1]=='-' && board[2][2]==d &&
board[3][3]==d)
{
y=1;
z=1;
}
if(board[1][3]==d && board[2][2]==d &&
board[3][1]=='-')
{
y=3;
z=1;
}
if(board[1][3]==d && board[2][2]=='-' &&
board[3][1]==d)
{
y=2;
z=2;
}
if(board[1][3]=='-' && board[2][2]==d &&
board[3][1]==d)
{
y=1;
z=3;
}
}
}
}
if((y==0 && z==0) || difficult==1)
{
srand(time (NULL) );
do
{
y=1+rand() % 3;
z=1+rand() % 3;
}while(board[y][z]!='-' || y==0 || z==0);
}
board[y][z]='O';
}