I am working on a simple checkers program.. however I ran into several errors. My move function doesn't work, and only seems to work sometimes. Here's the code: (Please note, program isn't complete, I'm only trying to get the move function to work).
Code:
#include<iostream.h>
#include<apmatrix.h>
void CheckKing();//kings will be implemented later
void Move(apmatrix<char> &Board, int row, int col, int row2, int col2, char turn, int &count1, int &count2)
{
char c=turn;
if(c=='W')
{
if(Board[row][col]=='W')
{
cout<<"first stage"<<endl;
if(Board[row-1][col-1]==Board[row2][col2])
{
if((Board[row2][col2]=='R')&&(Board[row2-1][col2-1]==' '))
{
cout<<"Don't enter"<<endl;
Board[row2-1][col2-1]='W';
Board[row2][col2]=' ';
count1--;
}
if(Board[row2][col2]==' ')
{
Board[row2][col2]='W';
Board[row][col]=' ';
}
}
if(Board[row-1][col+1]==Board[row2][col2])
cout<<" LWJLKSJFLKS:J"<<endl;
{
if((Board[row2][col2]=='R')&&(Board[row2][col2]==' '))
{
cout<<"Don't enter"<<endl;
Board[row2-1][col2-1]='W';
Board[row2][col2]=' ';
count1--;
}
if(Board[row2][col2]==' ')
{
cout<<"Munching"<<endl;
Board[row2][col2]='W';
Board[row][col]=' ';
}
}
}
}
if(c=='R')
{
if(Board[row][col]=='W')
{
if(Board[row+1][col+1]==Board[row2][col2])
{
if((Board[row2][col2]=='W')&&(Board[row2+1][col2+1]==' '))
{
Board[row2-1][col2-1]='R';
Board[row2][col2]=' ';
count2--;
}
if(Board[row2][col2]==' ')
{
Board[row2][col2]='R';
Board[row][col]=' ';
}
}
if(Board[row+1][col-1]==Board[row2][col2])
{
if((Board[row2][col2]=='W')&&(Board[row2+1][col2-1]==' '))
{
Board[row2-1][col2-1]='R';
Board[row2][col2]=' ';
count2--;
}
if(Board[row2][col2]==' ')
{
Board[row2][col2]='R';
Board[row][col]=' ';
}
}
}
}
}
apmatrix<char> Make(apmatrix<char> a)
{
cout<<"MAKING"<<endl;
for(int k=1;k<=7;k=k+2)
a[0][k]='R';
for(int k=0;k<=6;k=k+2)
a[1][k]='R';
for(int k=1;k<=7;k=k+2)
a[2][k]='R';
for(int k=0;k<=6;k=k+2)
a[5][k]='W';
for(int k=1;k<=7;k=k+2)
a[6][k]='W';
for(int k=0;k<=6;k=k+2)
a[7][k]='W';
return(a);
}
void Display(apmatrix<char> Board)
{
int count=0;
int count2=0;
cout<<"DISPLAY"<<endl;
for(int k=0; k<=7; k++)
{
cout<<endl;
if(k==0)
cout<<" 0 1 2 3 4 5 6 7"<<endl;
cout<<count;
cout<<"|";
count++;
for(int i=0; i<=7; i++)
{
cout<<Board[k][i];
cout<<"|";
}
}
cout<<endl<<endl;
}
int main()
{
int row;
int col;
int row2;
int col2;
int count1=12;
int count2=12;
char db='W';
apmatrix<char> a(8,8,' ');
a=Make(a);
while(db)
{
Display(a);
cout<<"Hello, and welcome!"<<endl;
cout<<"First player, enter the first move"<<endl;
cin>>row;
cin>>col;
cin>>row2;
cin>>col2;
Move(a,row,col,row2,col2,db,count1,count2);
cout<<"DONE"<<endl;
Display(a);
}
return(0);
}
And ignore the cout statements, those were for my debugging purposes.