I have tried to update the board but it does not work.
I can't figure it out because i have passed the board by reference so the change should take place.
I believe the logical error lays at line 218 onwards.
I am still debugging but if could see the logical error that i created, please do let me know.
Thank you.
#include<iostream>
#include<vector>
#include<iomanip>
using namespace std;
void DisplayBoard( vector< vector<char> > & board);
void move( vector< vector<char> > & board);
int main()
{
vector<vector<char> > board ( 7, vector<char>( 7 ) );
char p1, p3;
DisplayBoard (board);
move(board);
DisplayBoard (board);
return 0;
}
void DisplayBoard( vector< vector<char> >& board )
{
for ( int i = 0; i < 7; ++i)
{
for ( int j = 0; j < 7; ++j)
{
board[i][j] = '1';
switch(i) {
case 0:
switch(j) {
case 0:
case 1:
case 5:
case 6:
board[i] [j] = ' ';
break;
}
break;
case 1:
switch(j) {
case 0:
case 1:
case 5:
case 6:
board[i] [j] = ' ';
break;
}
break;
case 3 :
if( j == 3) {
board[i][j] = '0';
break;
}
break;
case 5:
switch(j) {
case 0:
case 1:
case 5:
case 6:
board[i] [j] = ' ';
break;
}
break;
case 6:
switch(j) {
case 0:
case 1:
case 5:
case 6:
board[i] [j] = ' ';
break;
}
break;
}
}
}
for ( int i = 0; i < 7; ++i ) {
if (i == 0)
cout << "A" << setw(1)<< "|" << " ";
if ( i == 1)
cout << "B" << setw(1)<< "|" << " ";
if ( i == 2)
cout << "C" << setw(1)<< "|" << " ";
if ( i == 3)
cout << "D" << setw(1)<< "|" << " ";
if ( i == 4)
cout << "E" << setw(1)<< "|" << " ";
if ( i == 5)
cout << "F" << setw(1)<< "|" << " ";
if ( i == 6)
cout << "G" << setw(1)<< "|" << " ";
for ( int j = 0; j < 7; ++j )
{
cout << board[i][j] <<' ';
}
cout<<"\n";
}
cout << " +----------------"<<endl;
}
void move( vector< vector<char> > & board)
{
char a1, a2,p1,p2,p3;
int j1, j2;
cout << "From : ";
cin >> a1 >> j1;
switch(a1) {
case 'A' : a1 = 0;
break;
case 'B' :a1 = 1;
break;
case 'C' : a1 = 2;
break;
case 'D' : a1 = 3;
break;
case 'E' : a1 = 4;
break;
case 'F' : a1 = 5;
break;
case 'G' : a1 = 6;
break;
}
switch( j1)
{
case 1 : j1 = 0;
break;
case 2 : j1 = 1;
break;
case 3 : j1 = 2;
break;
case 4 : j1 = 3;
break;
case 5 : j1 = 4;
break;
case 6 : j1 = 5;
break;
case 7 : j1 = 6;
break;
}
cout << "To : ";
cin >>a2 >>j2;
switch(a2) {
case 'A' : a2 = 0;
break;
case 'B' : a2 = 1;
break;
case 'C' : a2 = 2;
break;
case 'D' : a2 = 3;
break;
case 'E' : a2 = 4;
break;
case 'F' : a2 = 5;
break;
case 'G' : a2 = 6;
break;
}
switch( j2)
{
case 1 : j2 = 0;
break;
case 2 : j2 = 1;
break;
case 3 : j2 = 2;
break;
case 4 : j2 = 3;
break;
case 5 : j2 = 4;
break;
case 6 : j2 = 5;
break;
case 7 : j2 = 6;
break;
}
p1 = board[a1][j1];
p3 = board [a2][ j2];
if ( a1 == a2)
p2 = board[a1][j1 + 1];
else
p2 = board[ a1 + 1] [j1];
if ( p1 == '1' && p2 == '1' && p3 == '0')
{
p1 = '0';
p2 = '0';
p3 = '1';
}
else
cout << "Invalid move " << endl;
}

New Topic/Question
Reply



MultiQuote



|