标签:函数封装
#include<stdio.h> #include<stdlib.h> int main() { void empty(char arr[][3]); void print(char arr[][3]); void player(char[][3]); void conplay(char[][3]); char check(char arr[][3]); char arr[3][3]; char key; printf("游戏开始"); printf("\n"); empty(arr); print(arr); do { player(arr); key=check(arr); if(key!=‘ ‘) break; conplay(arr); key=check(arr); print(arr); }while(key==‘ ‘); if(key==‘X‘) { print(arr); printf("玩家胜出\n"); } else { print(arr); printf("电脑胜出\n"); } return 0; } void empty(char arr[][3]) { int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) arr[i][j]=‘ ‘; } void print(char arr[][3]) { int i; for(i=0;i<3;i++) { printf(" %c | %c | %c ",arr[i][0],arr[i][1],arr[i][2]); printf("\n"); if(i!=2) printf("---|---|---"); printf("\n"); } } void player(char arr[][3]) { int i,j; printf("请输入所要下的位置:"); scanf("%d%d",&i,&j); if(i>3||j>3) { printf("输入错误,再重新输入\n"); player(arr); } if(arr[i-1][j-1]!=‘ ‘) { printf("此位置已被填充,请重新输入"); player(arr); } else arr[i-1][j-1]=‘X‘; } void conplay(char arr[][3]) { int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(arr[i][j]==‘ ‘) arr[i][j]=‘O‘; else continue; return 0; } } } char check(char arr[][3]) { int i; for(i=0;i<3;i++) { if(arr[i][0]==arr[i][1]&&arr[i][0]==arr[i][2]) return arr[i][1]; else if(arr[1][i]==arr[2][i]&&arr[1][i]==arr[0][i]) return arr[1][i]; else if(arr[0][0]==arr[1][1]&&arr[1][1]==arr[2][2]) return (arr[0][0]); else if(arr[2][0]==arr[1][1]&&arr[1][1]==arr[0][2]) return (arr[2][0]); } return ‘ ‘; }
本文出自 “小止” 博客,请务必保留此出处http://10541556.blog.51cto.com/10531556/1679293
标签:函数封装
原文地址:http://10541556.blog.51cto.com/10531556/1679293