当前位置: 首页 > 工具软件 > 2048.c > 使用案例 >

用C语言写2048(一)

谭京
2023-12-01

这是大一下C语言结课时的大作业

虽然很麻烦,有时间一定会改进的(没有时间)

2048这个游戏从很早就接触了,大体规则是这样的:

手指向一个方向滑动,所有格子会向那个方向运动。

相同数字的两个格子,相撞时数字会相加。

每次滑动时,空白处会随机刷新出一个数字的格子。

当界面不可运动时(当界面全部被数字填满时),游戏结束;

当界面中最大数字是2048时,游戏胜利。

当然,玩游戏的时候最后一句话一般是没人管的

所以本小白看后的大体思路是:

先把程序分成四部分就是向上移动,向下移动,向左移动,向右移动

然后编程完成一个方向的操作

最后把其余方向的操作变换成这个方向的操作

完事收工走人(关机,拔电源,下楼,吃饭…)

单方向的代码:(我选择的方向是向左)

void execute(int num[])
{
 int i,k;
 if(num[0]!=0||num[1]!=0||num[2]!=0||num[3]!=0)
 for(i=0;i<N;i++)
   for(k=0;k<4;k++)
    if(num[i]==0)
     move(num,i); //去掉单条数组向单方向中所有的0 
 for(i=0;i<N-1;i++)
 {
  if(num[i]==0)
   break;//单条数组中的数全是0
  if(num[i]==num[i+1])
  {
   num[i]+=num[i+1];
   move(num,i+1);
  }     //单条数组单方向的操作  
 } 
}
 类似资料: