游戲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