虽然很麻烦,有时间一定会改进的(没有时间)
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);
} //单条数组单方向的操作
}
}