首页 > 编程语言 > 详细

【经典游戏编程题】C语言:编写一个棋盘游戏,与二维数组结合

时间:2015-10-20 19:37:52      阅读:836      评论:0      收藏:0      [点我收藏+]
#include<stdio.h>
#include<stdlib.h>
char arr[3][3];
void print()
{
 int i=0;
 for(i=0;i<3;i++)
 {
  printf("%c|%c|%c|\n",arr[i][0],arr[i][1],arr[i][2]);
  printf("_|_|_|\n");
 }
}
void init_arr()
{
 int i=0;
 int j=0;
 for(i=0;i<3;i++)
 {
  for(j=0;j<3;j++)
  {
   arr[i][j]=‘ ‘;
  }
 }
}
void player()
{
 int i=0;
 int j=0;
 printf("输入i,j:\n");
 scanf("%d %d",&i,&j);
 i--;
 j--;
 if (arr[i][j]!=‘ ‘)
 {
  printf("此格已输入,请重新输入i,j:\n");
  player();
 }
 else
 {
  arr[i][j]=‘X‘;
 }
}
void computer_move()
{
 int i=0;
 int j=0;
 for(i=0;i<3;i++)
 {
  for(j=0;j<3;j++)
  {
   if(arr[i][j]==‘ ‘)
   {
    arr[i][j]=‘0‘;
    break;
   }
  }
  break;
 }
}
char win()
{
 int i=0;
 for(i=0;i<3;i++)
 {
  if((arr[i][0]==arr[i][1])&&
   (arr[i][1]==arr[i][2]))
  {
   return arr[i][0];
  }
 }
 
 for(i=0;i<3;i++)
 {
  if((arr[0][i]==arr[1][i])&&
   (arr[1][i]==arr[2][i]))
  {
   return arr[0][i]; 
  }
 } 
}
int main()
{
 char done;
 int i;
 int j;
 done=‘ ‘;
 init_arr();
 printf("棋盘游戏:\n");
  do
  {
   print();
   player();
   done=win();
   if(done!=‘ ‘)
   {
    break;
   }
   computer_move();
   done=win();
  }while(done==‘ ‘);
   if(done==‘0‘)
   {
    printf("电脑赢\n");
   }
   else
   {
    printf("玩家赢\n");
   }
   print();
   
}

 

    编写了五个函数,再用主函数调用技术分享技术分享

【经典游戏编程题】C语言:编写一个棋盘游戏,与二维数组结合

原文:http://10740184.blog.51cto.com/10730184/1704599

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!