我是大一新生,在寒假的实训课上老师让我们用c语言分组编程一个小游戏,我们组选的是“2048”。由于我们组上有一个大神,于是我们把大部分的工作交给了大神做,但是实训完成之后我感觉到碌碌无为,什么也没学到,自己对于c语言的理解也仅仅局限于书本之上,想到那些大神们已经基本可以自己编程一些小游戏了,心里就非常着急。于是利用这个寒假,我自己独立完成了“2048”小游戏的编程。
游戏代码我是用Xcode编的,我是IOS小白,有些头文件在Xcode中不能使用而我又找不到可以替代的,所以一些功能就不能实现比如清屏功能和储存数据的功能还有音乐功能,不仅如此还存在数字对不齐的问题。希望可以有大神能够指导我,万分感激🙏!
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<curses.h>
/*头文件*/
int i,j,a[4][4]={
};/*二维数组a[4][4]全为0*/
void kaishi()/*生成开始界面*/
{
printf("Welcome to 2048\n");
printf(" 1).新游戏\n");
printf(" 2).帮助\n");
}
int defen(int a[][4])/*计分函数*/
{
int max=a[0][0];
int static sum=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(a[i][j]>max)
max=a[i][j];
sum+=max;
return sum;/*以最大数的累加作为得分*/
}
void jiemian(int a[][4])
{
int b[2]={
2,4},c[4]={
0,1,2,3},sum,n,m;
do
{
srand((int)time(NULL));/*以时间作为随机数种子*/
m=c[rand()%4];
n=c[rand()%4];
/*随机生成坐标*/
if(a[m][n]==0)/*判断是否为空格*/
{
a[m][n]=b[rand()%2];/*随机生成2或4*/
break;/*跳出循环*/
}
}while(1);
printf("%d %d %d\n",m,n,a[m][n]);
for(i=0;i<4;i++)
{
printf("-------------------------\n");
for(j=0;j<4;j++)
{
if(