C++翻转游戏

我试着帮你改了一下,大部分都是重写的,基本可以实现“翻转游戏”的功能。供您参考:

# include & ltiostream & gt

# include & lt字符串& gt

# include & ltwindows.h & gt

使用?命名空间?std

int?地图[20][20];

int?主()

{

cout?& lt& lt?请输入初始状态,如\nbwbw\nwwww\nbbwb\nbwwb\n?& lt& ltendl

memset(map,0,sizeof(map));

for(int?I = 0;我?& lt?4;++i)

{

字符串?s;

cin?& gt& gt?s;

如果?(s.size()?!=?4)

{

cout?& lt& lt?“输入错误!”?& lt& lt?endl

系统(“暂停”);

回归?-1;

}

for(int?k = 0;k & lt4;++k)

{

map[I][k]=(s[k]= ' b ')?1:-1;

}

}

系统(“cls”);

cout?& lt& lt?"初始状态:"

什么时候?(正确)

{

布尔?bWhite?=?真实;

布尔?bBlack?=?真实;

for(int?I = 0;我?& lt?4;++i)

{

for(int?j = 0;j?& lt?4;++j)

{

cout?& lt& lt?(图[i][j]?==?1?(char)1:(char)2);

如果?(图[i][j]?==?-1)

{

bWhite?=?假的;

}?不然呢?{

bBlack?=?假的;

}

}

cout?& lt& lt?endl

}

如果?(bWhite?||?bBlack)

{

cout?& lt& lt?“你赢了!”& lt& lt?endl

打破;

}

cout?& lt& lt?请以逗号分隔的格式输入翻转位置,数字范围为1~4,例如3,2:?& lt& ltendl

字符串?s;

cin?& gt& gt?s;

如果?(s.size()?& lt?3?)

{

cout?& lt& lt?“输入错误!”?& lt& lt?endl

系统(“暂停”);

}?不然呢?{

int?x?=?s[0]?-?'1';

int?y?=?s[2]?-?'1';

如果?(x?& gt?3?||?x?& lt?0?||?y?& gt?3?||?y?& lt?0)

{

cout?& lt& lt?“输入错误!”?& lt& lt?endl

系统(“暂停”);

继续;

}

map[x][y]?*=-1;

if(x+1?& lt?4)?map[x+1][y]?*=-1;

如果(x-1?& gt=?0)?map[x-1][y]?*=-1;

if(y+1?& lt?4)?map[x][y+1]?*=-1;

如果(y-1?& gt=?0)?地图[x][y-1]?*=-1;

}

}

系统(“暂停”);

回归?0;

}