守護甜心小游戲h,守護甜心小游戲大全
下一個源代碼
include 標準庫.h
include conio.h
#include 字符串.h
小編微信13652748813 QQ 897775054
int MAP[4][4],gre;
int 添加(int n)
{
srand((無符號整數)時間(0));
int num=rand();
int tf=num % 2;
整數x,y,i;
x=數% 4;
srand((unsigned int)time(0) + (unsigned int)num);
y=隨機數();
y%=4;
如果(tf)
數=2;
別的
數=4;
如果(n==0)
{
映射[x][y]=num;
}
否則如果(n==1)
{
如果(MAP[3][y]==0)
MAP[3][y]=num;
別的
對于(i=0; i 4; i++)
如果(MAP[3][i]==0)
{
MAP[3][i]=num;
休息;
}
}
否則如果(n==2)
{
如果(地圖[0][y]==0)
地圖[0][y]=num;
別的
對于(i=0; i 4; i++)
如果(地圖[0][i]==0)
{
MAP[0][i]=num;
休息;
}
}
否則如果(n==3)
{
如果(地圖[x][3]==0)
MAP[x][3]=num;
別的
對于(i=0; i 4; i++)
如果(地圖[i][3]==0)
{
MAP[i][3]=num;
休息;
}
}
否則如果(n==4)
{
如果(地圖[x][0]==0)
映射[x][0]=num;
別的
對于(i=0; i 4; i++)
如果(地圖[i][0]==0)
{
MAP[i][0]=num;
休息;
}
}
}
int 移動(無效)
{
我,k,t;
int tf=0;
對于(k=0;k 4;k++)
{
詮釋n=4;
而(n--)
對于(i=0; i 3; i++)
如果(地圖[i][k]==0)
{
對于(t=i; t 3; t++)
{
映射[t][k]=映射[t + 1][k];
映射[t+1][k]=0;
tf=1;
}
}
對于(i=0; i 3; i++)
{
如果(MAP[i][k]==MAP[i + 1][k])
{
映射[i][k] *=2;
gre +=MAP[i][k];
如果(MAP[i][k]==2048)
返回0;
對于(t=i + 1; t 3; t++)
{
映射[t][k]=映射[t + 1][k];
映射[t+1][k]=0;
tf=1;
}
}
}
}
如果(tf)
添加(1);
返回1;
}
int movdow(無效)
{
我,k,t;
int tf=0;
對于(k=0;k 4;k++)
{
int n = 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)
return 0;
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);
return 1;
}
int movlif(void)
{
int i,k,t;
for (i = 0; i < 4; i++)
{
int n = 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)
return 0;
for (t = k + 1; t < 3; t++)
{
MAP[i][t] = MAP[i][t + 1];
MAP[i][t + 1] = 0;
}
}
}
}
add(3);
return 1;
}
小編微信 13652748813 QQ 897775054
int movri(void)
{
int i,k,t;
for (i = 0; i < 4; i++)
{
int n = 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)
return 0;
for (t = k - 1; t > 0; t--)
{
MAP[i][t] = MAP[i][t - 1];
MAP[i][t - 1] = 0;
}
}
}
}
add(4);
return 1;
}
int mov(void)
{
fflush(stdin);
char key;
key = getch();
int tf = 1;
if (key == 72)
tf = movup();
else if (key == 80)
tf = movdow();
else if (key == 75)
tf = movlif();
else if (key == 77)
tf = movri();
if (!tf)
{
system("CLS");
printf ("恭喜達到2048!n");
}
return tf;
}
int pd (void)
{
int i,k;
for (i = 0; i < 4; i++)
{
for (k = 1; k < 4; k++)
if (MAP[i][k - 1] == MAP[i][k])
return 0;
}
for (i = 0; i < 4; i++)
{
for (k = 1; k < 4; k++)
if (MAP[k - 1][i] == MAP[k][i])
return 0;
}
system("CLS");
printf ("游戲結束!n");
return 1;
}
int pri (void)
{
printf ("得分:%dn",gre);
printf ("t┏━━┳━━┳━━┳━━┓n");
printf ("t┃%4d┃%4d┃%4d┃%4d┃n",MAP[0][0],MAP[0][1],MAP[0][2],MAP[0][3]);
printf ("t┣━━╋━━╋━━╋━━┫n");
printf ("t┃%4d┃%4d┃%4d┃%4d┃n",MAP[1][0],MAP[1][1],MAP[1][2],MAP[1][3]);
printf ("t┣━━╋━━╋━━╋━━┫n");
printf ("t┃%4d┃%4d┃%4d┃%4d┃n",MAP[2][0],MAP[2][1],MAP[2][2],MAP[2][3]);
printf ("t┣━━╋━━╋━━╋━━┫n");
printf ("t┃%4d┃%4d┃%4d┃%4d┃n",MAP[3][0],MAP[3][1],MAP[3][2],MAP[3][3]);
printf ("t┗━━┻━━┻━━┻━━┛n");
}
int main()
{
int i;
system("COLOR 5F");
printf ("nt控制臺版nn");
printf ("游戲規則(如同名手游):n");
printf ("t開始方格內會出現2或者4等這兩個小數字,n");
printf ("t玩家只需要上下左右(方向鍵控制)其中一個方向來移動出現的數字,n");
printf ("t所有的數字就會向滑動的方向靠攏,n");
printf ("t而滑出的空白方塊就會隨機出現一個數字,n");
printf ("t相同的數字相撞時會疊加靠攏,n");
printf ("t然后一直這樣,不斷的疊加最終拼湊出2048這個數字就算成功。n");
printf ("nn!輸入任意非零字符開始游戲!n(建議將控制臺設置為大字體)n");
char s[100];
while (scanf ("%s",s),strcmp(s,"0"))
{
memset (MAP,0,sizeof (MAP));
gre = 0;
system("CLS");
add(0);
pri();
while (mov())
{__箰讆__301__璺拶__fflush(stdin);
system("CLS");
pri();
if (pd())
break;
}__箰讆__307__璺拶__printf ("按任繼續游戲!輸入0退出程序!n");__箰讆__308__璺拶__}
return 0;
}
運行結果
恩恩 冬至 吃水餃的 同時 還可以玩小游戲 感覺爽歪歪
當然 游戲歸游戲 不要忘記學習哦 以下是打開雙腿粗大噗呲噗呲白濁VIP課程介紹
c++VIP 課程介紹
VIP課堂優勢
投資學習是終身授益的,伴隨你一生的技術,相信自己技術能改變你一生的命運。
關注微信公眾號:編程語言
如果對這方面感興趣或者在學習C/C++的過程中有什么問題的話,可以加群:594089997,群內有C/C++資料,也會有人解答問題,大家一起學習,一起交流。希望每位學習C/C++的人都能學有所成。
>>點擊查看今日優惠<<
![](http://ueimg.3conline.com/pcauto/pc/art/w/aboutCar/1.0.0/images/wechat.png)
使用微信掃描二維碼
即可進入交流群
![](http://ueimg.3conline.com/pcauto/pc/art/w/aboutCar/1.0.0/images/wechat.png)
使用微信掃描二維碼