c c 設計2048小遊戲

2021-09-21 07:41:25 字數 2534 閱讀 1308

相信很多剛學程式設計的小夥伴在有了一定知識儲備後手開始癢癢了,是不是等著寫出人生第乙個2048呢~ 下面就由同是初學者的我給大家分享乙個簡單2048遊戲** 首先,我們需要乙個4乘4二維陣列來儲存每個格仔的數字,然後需要乙個列印數字的函式,接下來就是玩家操作了,所以我們還需要乙個能夠上下左右滑動的函式,那合併相同數字之後呢?當然是生成新數字啦,so,還需要乙個生成數字的函式(偷偷說一句,這裡要用到隨機函式,不過很簡單的),那玩家要是中途退出遊戲怎麼辦?沒錯,我們還需要乙個退出遊戲的函式,而且還要判斷輸贏,最後還可以計分。嗯,思路大概就是這樣。 廢話不多說,**馬上送來:

#include

#include//游標移動以及文字顏色需要

#include

#include//確認按鍵函式需要

using namespace std;

const int field=4,field_num=4;//乙個格仔為四個字元,共有四個格

const int row_length=32;//行的長度

const int rank_length=16;//列的長度

int score=0;//計分

char ch=『0』;//用來確認退出遊戲

//prototype

void cursor_pos(int x, int y);//游標移動

bool setconsolecolor(word wattributes);//設定文字顏色

void square();//4乘4方格

void su***ce();//介面

void digit_print(int digit[4]);//列印數字

void new_digit(int digit[field_num]);//新的數字生成

void move_up(int digit[field_num]);//上滑

void move_down(int digit[field_num]);//下滑

void move_right(int digit[field_num]);//右滑

void move_left(int digit[field_num]);//左滑

bool move(int digit[field_num]);//響應玩家操作

void game_start();//遊戲開始

bool game_over(int digit[field_num]);//遊戲結束

bool game_win(int digit[field_num]);//贏了

int main()

}//definition

void cursor_pos(int x, int y)//游標移動,需要標頭檔案windows.h

;setconsolecursorposition(out, pos);

}bool setconsolecolor(word wattributes)

void su***ce()}}

void move_up(int digit[field_num])

break;

//無論有沒有合併,都要跳出尋找相同數字這以迴圈,因為中間有數字間隔}}

for(x=0;x=0;y–)

break;}}

for(x=0;x=0;y–)}}

void move_left(int digit[field_num])//同上

break;}}

for(y=0;y=0;x–)

if(digit[x][y]!=0)

for(run=x-1;run>=0;run–)

if(digit[run][y]!=0)

break;

}for(y=0;y=0;x–)

if(digit[x][y]0)

for(run=x-1;run>=0;run–)

if(digit[run][y]!=0)

}bool move(int digit[field_num])

return true;}}

void game_start()

;digit[0][0]=digit[0][1]=2;

digit_print(digit);//初始數字

while(1)

{if(game_win(digit))return;

if(move(digit))//有效方向按鍵

{new_digit(digit);

digit_print(digit);

cursor_pos(row_length+field+1,field+1);

cout<<「得分:」<』f』)//如果按了f或f,則退出遊戲

{cursor_pos(row_length+field+1,field+1);

cout<<「遊戲結束!」;

cursor_pos(row_length+field+1,field+2);

cout<<「您的得分為:」for(x=0;xx=field_num-1;//檢查第四列

for(y=0;y注:本人是在dev c++編譯器裡編譯上述**的,其實其他編譯器也無妨,畢竟是相容的。本人也是初學者,還請各位大神指教。

js實現2048小遊戲

頁面class hidden id end id endspan id table colspan 4 id s1 id s2 id s3 id s4 id s5 id s6 id s7 id s8 id s9 id s10 id s11 id s12 id s13 id s14 id s15 id...

小專案 2048小遊戲

很久之前,在學完c語言的時候,老師留下了乙個作業,問大家有沒有玩過2048,讓自己做乙個2048的小專案,然後就各種查閱資料,自己做了乙個小小的2048小遊戲,用w s a d實現上下左右的移動,下面是 實現部分。實現 include include include includeint code ...

2048小遊戲獻給大家!

2048小遊戲獻給大家!不多說,直接上 include include includeusing namespace std 定義 全域性變數 int const row 4 int const col 4 int game row col 定義遊戲狀態 int const gamecontinue...