④C语言,二维数组模拟井字棋游戏开发

来源:互联网 发布:mac电脑开机密码设置 编辑:程序博客网 时间:2024/06/13 15:15
#include<stdio.h>int main(void){int a[3][5];//定义一个三行五列的二维数组//以下为二维数组的遍历int p,x;for(p=0;p<3;p++){for(x=0;x<5;x++){a[p][x]=p*x;}}//以下为二维数组的初始化int b[][5]={{1,2,3,4,5,},{2,3,4,5,6,},{1,2,3,},{3,2,1,}};/*得出结论。一,行数可以不写,可以由编译器来数,但是列数一定要标出来                    二,如果有没被定义值的数组自动赋值为零三,每行一个{},逗号分隔小知识:数组的名字加下标等于变量*///--------------------------------------//以下是模拟井字棋的游戏开发思路--------------------- //读入矩阵const int size=3;int board[size][size];int i,j;int numofx;int numofo;int result=-1;//负一:没人赢,  一:x赢,  0:o赢for( i=0;i<size;i++){for(j=0;j<size;j++){scanf("%d",&board[i][j]);}}//检查行for(i=0;i<size&&result==-1;i++){numofo=numofx=0;for(j=0;j<size;j++){if(board[i][j]==1)numofx++;else numofo++;}}if(numofo==size)result=0;//如果o已经在某一行成3个了,则0赢else if (numofx==size)result=1;//如果x已经在某一行成3个了,则x赢//检查列if(result==-1){for(j=0;i<size&&result==-1;j++){numofo=numofx=0;for(i=0;i<size;i++){if(board[i][j]==1){numofx++;}else{ numofo++;}}if(numofo==size)result=0;//如果o已经在某一列成3个了,则0赢else if (numofx==size)result=1;//如果x已经在某一列成3个了,则x赢}}                                            //检查正对角线numofo=numofx=0;for(i=0;i<size;i++){if (board[i][i]==1){numofx++;}else{numofo++;}}if(numofo==size)result=0;//如果o已经在正对角线3个了,则0赢else if (numofx==size)result=1;//如果x已经在正对角线成3个了,则x赢                                            //检查反对角线numofo=numofx=0;for(i=0;i<size;i++){if (board[i][size-i-1]==1){numofx++;}else{numofo++;}}if(numofo==size)result=0;//如果o已经在反对角线3个了,则0赢else if (numofx==size)result=1;//如果x已经在反对角线成3个了,则x赢}

0 0