#include<iostream>
using namespace std;
bool gameover = true;
int win = 0;
void Gameover(char a[3][3])
{
//玩家一胜利
if (a[0][0] == '#'&& a[0][1] == '#'&& a[0][2] == '#')
{
win = 1;
}
if (a[1][0] == '#'&& a[1][1] == '#'&& a[1][2] == '#')
{
win = 1;
}
if (a[2][0] == '#'&& a[2][1] == '#'&& a[2][2] == '#')
{
win = 1;
}
if (a[0][0] == '#'&& a[1][0] == '#'&& a[2][0] == '#')
{
win = 1;
}
if (a[0][1] == '#'&& a[1][1] == '#'&& a[2][1] == '#')
{
win = 1;
}
if (a[0][2] == '#'&& a[1][2] == '#'&& a[2][2] == '#')
{
win = 1;
}
if (a[0][0] == '#'&& a[1][1] == '#'&& a[2][2] == '#')
{
win = 1;
}
if (a[0][2] == '#'&& a[1][1] == '#'&& a[2][0] == '#')
{
win = 1;
}
//玩家二胜利
if (a[0][0] == '*'&& a[0][1] == '*'&& a[0][2] == '*')
{
win = 2;
}
if (a[1][0] == '*'&& a[1][1] == '*'&& a[1][2] == '*')
{
win = 2;
}
if (a[2][0] == '*'&& a[2][1] == '*'&& a[2][2] == '*')
{
win = 2;
}
if (a[0][0] == '*'&& a[1][0] == '*'&& a[2][0] == '*')
{
win = 2;
}
if (a[0][1] == '*'&& a[1][1] == '*'&& a[2][1] == '*')
{
win = 2;
}
if (a[0][2] == '*'&& a[1][2] == '*'&& a[2][2] == '*')
{
win = 2;
}
if (a[0][0] == '*'&& a[1][1] == '*'&& a[2][2] == '*')
{
win = 2;
}
if (a[0][2] == '*'&& a[1][1] == '*'&& a[2][0] == '*')
{
win = 2;
}
}
void qipan(char a[3][3])
{
cout << "--------" << endl;
cout << a[0][0] << " |" << a[0][1] << " |" << a[0][2] << endl;
cout << "--------" << endl;
cout << a[1][0] << " |" << a[1][1] << " |" << a[1][2] << endl;
cout << "--------" << endl;
cout << a[2][0] << " |" << a[2][1] << " |" << a[2][2] << endl;
cout << "--------" << endl;
Gameover(a);
}
char gamestart(char a[3][3])
{
cout << "游戏开始" << endl;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
a[i][j] = NULL;
}
}
return a[3][3];
}
char player1(char a[3][3])
{
int x = 0;
int y = 0;
cout << "玩家一回合" << endl;
cout << "请输入落子坐标";
cin >> x >> y;
x--;
y--;
a[x][y] = '#';
return a[3][3];
}
char player2(char a[3][3])
{
int x = 0;
int y = 0;
cout << "玩家二回合" << endl;
cout << "请输入落子坐标";
cin >> x >> y;
x--;
y--;
a[x][y] = '*';
return a[3][3];
}
char test(char a[3][3])
{
if (win < 1)
{
cout << "未分胜负,请继续" << endl;
}
else
{
gameover = false;
if (win == 1)
{
cout << "玩家一胜利" << endl;
//继续游戏
cout << "请确认是否继续游戏 1(是) 0(否)" << endl;
cin >> gameover;
if (gameover)
{
a[3][3] = gamestart(a);
qipan(a);
win = 0;
}
}
else if (win == 2)
{
cout << "玩家二胜利" << endl;
//继续游戏
cout << "请确认是否继续游戏 1(是) 0(否)" << endl;
cin >> gameover;
if (gameover)
{
a[3][3] = gamestart(a);
qipan(a);
win = 0;
}
}
}
return a[3][3];
}
int main()
{
char piece[3][3];
piece[3][3] = gamestart(piece);
qipan(piece);
while (gameover)
{
piece[3][3] = player1(piece);
qipan(piece);
piece[3][3] = test(piece);
piece[3][3] = player2(piece);
qipan(piece);
piece[3][3] = test(piece);
if (!gameover)
break;
}
cout << "游戏结束" << endl;
while (1);
return 0;
}
原文链接: https://www.cnblogs.com/kaixinya/p/15766905.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/183536
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!