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;
}