游戏2048代码
⑴ 2048游戏怎么玩
2048游戏就是相同的数字相互翻倍叠加,从最开始的2开始到4再到8最后一直可以叠加到2048,具体玩法如下:
1、刚打开游戏的界面,有两个2,并且我们需要知道每次移动后都会出现一个2,只有相同的数才能相加,也就是每次合并之后数据都会翻倍。
注意事项
玩的时候最好是时刻让最右边一排或者两排是满的,这样上下移动的时候,最右边一排形成的局势就不会破坏。同时除了在不得已的情况,千万别向左移动。
⑵ 游戏2048的极限数字是多少
4*4的是131072
5*5的是67108864
6*6的是137438953472
7*7的是1125899906842624
8*8的是36893488147419103232
⑶ 2048游戏的秘籍
游戏规则就不介绍了,玩几次就知道。
简单点来说就是千万不要用[↑]方向键就行了。
先得到较大的数放在右下角。
例如第四行2-2-4-32。两次按[→] 得到8-32。
然后在上面肯定得到了2或4,按[←] 放到左边,然后按下,麻烦点的例如得到4-2-8-32。
此时需要考虑的就是在第三行第二个位置得到1个2,然后向下合并再向右合并就可以得到16-32了。同理,这样循环,小数不断积累得到更大的数。步骤越来越多而已。
数越来越大以后,较大的数要依次靠着这个,如图64-128-256-512。(如果是256-64-256-512就难度很大了)
按向右递增的规律,这样如果在上面一行产生出一个64在64的上面,即可按下将64合为128,不断按右产生新的最大的数1024。
然后同理,再产生512紧贴1024,256紧贴512。
因为不按[↑]方向键,所以大的数必然在底下,靠大家自己的头脑稍微判断下,基本不会出太大的问题就可以达到这样效果。因为还想靠在右下角,所有还要谨慎按[←],要产生所需要的数,最好先将最后一行填满,譬如2-2-256-512也可以,这样第三行[←][→][↓] 随意按,产生所需要的数按下合并即可,如果最后一行没有填满,按[←]可能使得最大数离开右下角然后右下角被填住那就尴尬了。如此反复达到这样的效果:
4
如果不用这样的技巧(不按[↑]方向键),随便按方向键,控制的再好,你想要的数不能到一起,基本赢得希望渺茫,就像这样。
⑷ 求2048游戏C语言code!
我还真有个 这是个VC版的 网上找的 我只是搬运工 Linux版本的有点麻烦,用的ncurse。如果要的话我再给
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<string.h>
intMAP[4][4],gre;
intadd(intn)
{
intnum=rand();
inttf=num%2;
intx,y,i;
x=num%4;
srand((unsignedint)time(0));
srand((unsignedint)time(0)+(unsignedint)num);
y=rand();
y%=4;
if(tf)
num=2;
else
num=4;
if(n==0)
{
MAP[x][y]=num;
}
elseif(n==1)
{
if(MAP[3][y]==0)
MAP[3][y]=num;
else
for(i=0;i<4;i++)
if(MAP[3][i]==0)
{
MAP[3][i]=num;
break;
}
}
elseif(n==2)
{
if(MAP[0][y]==0)
MAP[0][y]=num;
else
for(i=0;i<4;i++)
if(MAP[0][i]==0)
{
MAP[0][i]=num;
break;
}
}
elseif(n==3)
{
if(MAP[x][3]==0)
MAP[x][3]=num;
else
for(i=0;i<4;i++)
if(MAP[i][3]==0)
{
MAP[i][3]=num;
break;
}
}
elseif(n==4)
{
if(MAP[x][0]==0)
MAP[x][0]=num;
else
for(i=0;i<4;i++)
if(MAP[i][0]==0)
{
MAP[i][0]=num;
break;
}
}
}
intmovup(void)
{
inti,k,t;
inttf=0;
for(k=0;k<4;k++)
{
intn=4;
while(n--)
for(i=0;i<3;i++)
if(MAP[i][k]==0)
{
for(t=i;t<3;t++)
{
MAP[t][k]=MAP[t+1][k];
MAP[t+1][k]=0;
tf=1;
}
}
for(i=0;i<3;i++)
{
if(MAP[i][k]==MAP[i+1][k])
{
MAP[i][k]*=2;
gre+=MAP[i][k];
if(MAP[i][k]==2048)
return0;
for(t=i+1;t<3;t++)
{
MAP[t][k]=MAP[t+1][k];
MAP[t+1][k]=0;
tf=1;
}
}
}
}
if(tf)
add(1);
return1;
}
intmovdow(void)
{
inti,k,t;
inttf=0;
for(k=0;k<4;k++)
{
intn=4;
while(n--)
for(i=3;i>0;i--)
if(MAP[i][k]==0)
{
for(t=i;t>0;t--)
{
MAP[t][k]=MAP[t-1][k];
MAP[t-1][k]=0;
tf=1;
}
}
for(i=3;i>0;i--)
{
if(MAP[i][k]==MAP[i-1][k])
{
MAP[i][k]*=2;
gre+=MAP[i][k];
if(MAP[i][k]==2048)
return0;
for(t=i-1;t>0;t--)
{
MAP[t][k]=MAP[t-1][k];
MAP[t-1][k]=0;
tf=1;
}
}
}
}
if(tf)
add(2);
return1;
}
intmovlif(void)
{
inti,k,t;
for(i=0;i<4;i++)
{
intn=4;
while(n--)
for(k=0;k<3;k++)
{
if(MAP[i][k]==0)
for(t=k;t<3;t++)
{
MAP[i][t]=MAP[i][t+1];
MAP[i][t+1]=0;
}
}
for(k=0;k<3;k++)
{
if(MAP[i][k]==MAP[i][k+1])
{
MAP[i][k]*=2;
gre+=MAP[i][k];
if(MAP[i][k]==2048)
return0;
for(t=k+1;t<3;t++)
{
MAP[i][t]=MAP[i][t+1];
MAP[i][t+1]=0;
}
}
}
}
add(3);
return1;
}
intmovri(void)
{
inti,k,t;
for(i=0;i<4;i++)
{
intn=4;
while(n--)
for(k=3;k>0;k--)
{
if(MAP[i][k]==0)
for(t=k;t>0;t--)
{
MAP[i][t]=MAP[i][t-1];
MAP[i][t-1]=0;
}
}
for(k=3;k>0;k--)
{
if(MAP[i][k]==MAP[i][k-1])
{
MAP[i][k]*=2;
gre+=MAP[i][k];
if(MAP[i][k]==2048)
return0;
for(t=k-1;t>0;t--)
{
MAP[i][t]=MAP[i][t-1];
MAP[i][t-1]=0;
}
}
}
}
add(4);
return1;
}
intmov(void)
{
charkey;
inttf=1;
fflush(stdin);
key=getch();
if(key==72)
tf=movup();
elseif(key==80)
tf=movdow();
elseif(key==75)
tf=movlif();
elseif(key==77)
tf=movri();
if(!tf)
{
system("CLS");
printf("恭喜达到2048! ");
}
returntf;
}
intpd(void)
{
inti,k;
for(i=0;i<4;i++)
{
for(k=1;k<4;k++)
if(MAP[i][k-1]==MAP[i][k])
return0;
}
for(i=0;i<4;i++)
{
for(k=1;k<4;k++)
if(MAP[k-1][i]==MAP[k][i])
return0;
}
system("CLS");
printf("游戏结束! ");
return1;
}
intpri(void)
{
printf("得分:%d ",gre);
printf(" ┏━━┳━━┳━━┳━━┓ ");
printf(" ┃%4d┃%4d┃%4d┃%4d┃ ",MAP[0][0],MAP[0][1],MAP[0][2],MAP[0][3]);
printf(" ┣━━╋━━╋━━╋━━┫ ");
printf(" ┃%4d┃%4d┃%4d┃%4d┃ ",MAP[1][0],MAP[1][1],MAP[1][2],MAP[1][3]);
printf(" ┣━━╋━━╋━━╋━━┫ ");
printf(" ┃%4d┃%4d┃%4d┃%4d┃ ",MAP[2][0],MAP[2][1],MAP[2][2],MAP[2][3]);
printf(" ┣━━╋━━╋━━╋━━┫ ");
printf(" ┃%4d┃%4d┃%4d┃%4d┃ ",MAP[3][0],MAP[3][1],MAP[3][2],MAP[3][3]);
printf(" ┗━━┻━━┻━━┻━━┛ ");
}
intmain()
{
inti;
chars[100];
system("COLOR5F");
printf(" 【2048】控制台版 ");
printf("游戏规则(如同名手游): ");
printf(" 开始方格内会出现2或者4等这两个小数字, ");
printf(" 玩家只需要上下左右(方向键控制)其中一个方向来移动出现的数字, ");
printf(" 所有的数字就会向滑动的方向靠拢, ");
printf(" 而滑出的空白方块就会随机出现一个数字, ");
printf(" 相同的数字相撞时会叠加靠拢, ");
printf(" 然后一直这样,不断的叠加最终拼凑出2048这个数字就算成功。 ");
printf(" !输入任意非零字符开始游戏! (建议将控制台设置为大字体) ");
while(scanf("%s",s),strcmp(s,"0"))
{
memset(MAP,0,sizeof(MAP));
gre=0;
system("CLS");
add(0);
pri();
while(mov())
{
fflush(stdin);
system("CLS");
pri();
if(pd())
break;
}
printf("按任继续游戏!输入0退出程序! ");
}
return0;
}
⑸ 那个大神有完整的java,eclipse,2048游戏的源代码,全部拷贝粘贴就能用的,给一个,在线等,急!!!
网上的java代码在eclipse里运行方法:
1.打开eclipse,点击项目的空白处,选择专import;
2.选择Existing Project into Workspace,点击next,找到的java代码属,导入到eclipse中;
3.导入成功之后,选择项目,鼠标右键,选择run as,选择一个运行方式,然后运行即可。
⑹ 关于C语言中 小游戏2048 的数字移动的问题
http://wenku..com/view/c52bb18dd5bbfd0a7856733e.html
很简单啊,先判断当前行是否能合并,如果当前行可以合并,就前面补0,
并将后面专的数字合并,右属移,直到当前这一行不能合并了为止。
⑺ 求小游戏2048的修改方式,呃……就是把数字改成自己喜欢的内容
你说的是制作器吧 http://www.pipaw.com/wanjijiqiao/news_9877.html 制作器以及使用
⑻ 怎么在触摸屏上编写2048游戏代码
有一个清除屏幕的函数。
头文件:cstdlib
函数用法:system("cls")
直接用就可以把控制框里面的内容清空。建议每移动一次就清楚一下屏幕。
⑼ 用python写2048游戏时4×4列表如何初始化,求代码
definit():
tmp=[0,0,0,0]
result=[]
foriinrange(4):
result.append(tmp)
returnresult