要用C语言编一个类似五子棋的游戏“只有三行三列的只要谁先下到三个相连的谁就胜出”这应该怎么去编呢

来源:百度知道 编辑:UC知道 时间:2024/05/21 12:14:50

下面有源程序,可以自己稍微修改修改

//用一个数组表示棋子,表示每一格当前的状态
//而胜利的情况只有8种(三横,三竖,两个对角),
//当每走一步你对比有没有这8种情况发生,如果有,则刚刚走的人胜利
//如
int chessman[9];//=1表示玩家1走的棋子,=2表示玩家2走的棋子
int victory[8][3]={{0,1,2},{3,4,5},{6,7,8},{0,3,6},{1,4,7},{2,5,8},{0,4,8},{2,4,6}};

//开始游戏,初始化
void initialize()
{
for (int i=0;i<9;i++)
{
chessman[i]=0;
}
}

//判断游戏某方是否胜利,返回1表示玩家1胜利 ,返回2表示玩家2胜利,其它没有胜利
int isWin()
{
for (int i=0;i<8;i++)
{
//如果某胜利盘全部为玩家的棋子,则胜利
if (chessman[victory[i][0]]==1 && chessman[victory[i][1]]==1 && chessman[victory[i][2]]==1)
return 1;
if (chessman[victory[i][0]]==2 && chessman[victory[i][1]]==2 && chessman[victory[i][2]]==2)
return 2;
}
return 0;
}

//走棋,参数为哪一格
bool step(int position,int player)
{
//判断此格是否已经有棋子
if (chessman[position])
{
printf("此格已经有棋子\n&quo