c语言编写的2048游戏代码,大家可以参考一下这些

2048_launcher.c
#include 
#include 
#include 
void main()
{
printf("正在启动中,请稍后!\n");
Sleep(1000);
system("bin\\Version\\games\\0.1\\0.1.exe");
}
补充:0.1.c
#include
#include
#include
#include
#define WIN 256 // 可以修改决定游戏输赢的值
// 矩阵数组
int num[4][4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int t[5]={0,0,0,0,0}; // 辅助数组
int move=0;   // 记录移动步数
int score=0;  // 记录得分情况
int max=0;  // max表示游戏输赢,max=WIN时赢
int change=1;
// 产生一个随机位置和随机数
void Srand()
{
  int i,j;
  do// 产生一个随机位置,如果产生的位置有数据,就继续随机生成一个新位置
  {
    i=((unsigned)rand())%4;
    j=((unsigned)rand())%4;
  }while(num[i][j]!=0);
  if(((unsigned)rand())%4==0)
  {   // 产生一个随机数,如果该数对4取余=0,则填充为4
    num[i][j]=4;
  }
  else
  {
    num[i][j]=2;
  }
  move++;
}
void Print()
{
  int j,i;
  system("CLS");
  printf("*~~~~~~~~2048~~~~~~~*\n");
  printf("*author:  亚威      *\n");
  printf("*得分: %d  步数: %d  \n",score,move);
  printf("*~~~~~~~~~~~~~~~~~~~*\n");
  for(i=0;i<=3;i++)
  {
    for(j=0;j<=3;j++)
    {
      if(num[i][j]==0)
        printf("*    ");
      else
        printf("*%4d",num[i][j]);
    }
    printf("*\n*~~~~~~~~~~~~~~~~~~~*\n");
  }
}
// 消除t数组中前面和中间出现的0
void fun()
{
  int i,j;
  for(i=0;i<=3;i++)
  {
    if(t[i]==0)
    {
      for(j=i+1;j<=3;j++)
      {
        if(t[j]!=0)
        {
          change=1;
          break;
        }
      }
      t[i]=t[j];
      t[j]=0;
    }
    if(j>=3)
      break;
  }
}
// 合并操作
void hebing()
{
  int i;
  for(i=0;i<=2;i++)
  {
    if((t[i]!=0)&&(t[i]==t[i+1]))
    {
      t[i]*=2;
      score+=t[i];
      change=1;
      t[i+1]=0;
    }
    if(max=WIN)
  {
    printf("你赢了!\n");
    printf("你很牛啊!!!\n");
  }
  else
  {
    printf("游戏结束!\n");
    printf("努力啊!!!\n");
  }
  getch();
  return 0;
}


你可能感兴趣的:(c语言编写的2048游戏代码,c语言编写的2048游戏代码)