#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;
}
c++ 二维数组 编写的 井字棋 小游戏
最新推荐文章于 2023-05-23 18:31:45 发布