給大一新生寫的乙個小遊戲。
缺點:函式名稱和功能略微不對應,函式功能寫得比較亂,時間記錄有誤差,可擴充套件性弱。
優點:通過幾個配置陣列,將單位方塊移動的函式縮短到30行以內。
#include #include #include #include #include //座標常量
const int squaresize = 4;
const int locationx[squaresize] = ;
const int locationy[squaresize] = ;
const int locationtime[2] = ;
const int directions[2][3] = , };
//左 右 上 下
//0 1 2 3
const int directionxy[4][2] = , , , };
//矩陣內容
int square[squaresize][squaresize];
//時間相關全域性變數
int t_hour = 0;
int t_min = 0;
int t_sec = 0;
int t_ms = 0;
//得分相關全域性變數
int score = 0;
//步數相關全域性變數
int step = 0;
//存活全域性變數
int alive = 1;
//函式宣告
void gotoxy(int x, int y);
void sleep(int n);
void gotoxy(int x, int y);
void move(int direction);
void play();
int judge(int x, int y, int direction);
void printsquare();
void init();
void randsquare();
void printscore();
//列印當前時間
void printtime()
//睡眠函式 不是很準確 推薦用系統時間換算
void sleep(int n)
if (t_sec >= 60)
if (t_min >= 60)
gotoxy(locationtime[0], locationtime[1]);
printtime();
}//游標移動函式
void gotoxy(int x, int y)
//左 右 上 下
//0 1 2 3
//遊戲單元 移動函式
void move(int direction)
, };
//向左移動 i = directions[0][0]; i != directions[0][1] ; i += directions[0][2];
//向右移動 i = directions[1][0]; i != directions[1][1] ; i += directions[1][2];
//向上移動 i = 1; i != 4 ; i++
//向下移動 i = 2; i != -1; i--
int mydirection = direction % 2;
for(int k = 0;k < 3;k++)
}else}}
} sleep(80);
} //生成乙個新的方塊
randsquare();
step += 1;
printscore();
}int judge(int x, int y, int direction)
square[tox][toy] += square[x][y];
square[x][y] = 0;
gotoxy(locationx[tox],locationy[toy]);
printf("%4d", square[tox][toy]);
gotoxy(locationx[x],locationy[y]);
printf("%4d", square[x][y]);
return 1;
} else }
//遊戲函式
//左 右 上 下
//0 1 2 3
void play()
switch (ch)
sleep(20);
gotoxy(15, 20); }}
void printscore()
//列印棋盤
void printsquare()
//初始化函式
void init()
} //隨機生成乙個2或者4
randsquare();
}//隨機生成乙個方塊
void randsquare()
}} }
else
if (legal == 0)
gotoxy(15, 20);
}int main()
C語言實現2048小遊戲
參考 100 行 擼了乙個 2048 的小遊戲 規則就是 2084 遊戲的規則 j 左 k 下 l 右 i 上 相同數字移動過程中會合併 這裡我把按鍵修改成了方向鍵,並加了些注釋幫助理解 include include include define game size 4 static void l...
c語言小遊戲 精簡 C語言實現簡易2048小遊戲
一直很喜歡玩這個小遊戲,簡單的遊戲中包含運氣與思考與策略,喜歡這種簡約又不失內涵的遊戲風格。於是萌生了用c語言實現一下的想法。博主分析的都很到位,很多演算法技巧都值得借鑑,c語言實現2048的主要思想已經在那個部落格中詳細的分析了,但是我覺得在博主的 中還是有很多很好的思想是值得我借鑑學習的。比如這...
C 實現2048小遊戲
1 define crt secure no warnings 去掉編譯器內部擴增問題 2 include3 include4 include5 include 6 include7 include8 include 9 include10 include11 include12 using nam...