#include
#include
#include
#include
//列印函式,列印出遊戲介面
//如果是0的話就為空,否則列印出數值
void print(int a[4][4], int count)
for (int i = 0; i < 4; i++)
printf(" --- "); //列印的是第一行的橫線
printf("\n");
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
if (j == 0)
printf("|"); //列印的是第一列的豎線
if (a[i][j] == 0)
printf(" |"); //如果每乙個a[i][j]裡面是0則列印出豎線
else
printf("%3d |", a[i][j]); //如果每乙個a[i][j]裡面b不是0則列印出豎線
printf("\n");
for (int h = 0; h < 4; h++)
printf(" --- ");//列印出剩下行的橫線
printf("\n");
printf("請使用wsad進行遊戲\n");
printf("當前得分為:%d\n", count);
//為一開始生成隨機的兩個座標
void start(int a[4][4])
srand((unsigned)time(null));//用時間作為隨機數的種子
int x, y;
x = rand() % 4;
y = rand() % 4;
a[x][y] = 2; //一開始隨機的數為2
x = rand() % 4;
y = rand() % 4;
while (a[x][y] == 2)
x = rand() % 4;
y = rand() % 4;
a[x][y] = 2;
return;
//每一回合過後都隨機生成乙個新的2
void fresh(int a[4][4])
srand((unsigned)time(null));
int x, y;
x = rand() % 4;
y = rand() % 4;
while (a[x][y] != 0)
x = rand() % 4;
y = rand() % 4;
a[x][y] = 2;
return;
//判斷是否遊戲結束
//遊戲結束的標誌就是無論從那個方向都沒有可以合成的格仔了
//演算法就是先從行判斷,然後從列判斷
//如果遊戲結束了就返回0,否則返回1
int is_die(int a[4][4])
for (int i = 0; i < 4; i++)
for (int j = 0; j < 3; j++)
if (a[i][j] == a[i][j + 1])
//如果有相等的就是可以合成,遊戲還沒有結束
return 1;
if (a[j][i] == a[j + 1][i])
return 1;
//走到這一步就說明遊戲結束了
return 0;
int can(int a[4][4])
return 1;
//主函式,通過輸入來進行移動
//進行操作的時候分四種情況
//演算法為:先檢查有沒有可以合併的格仔,如果有就合併,然後再緊湊
void run(int a[4][4])
char b;
scanf_s("%c", &b, 1);
char c = getchar();
switch (b) ;
int count = 0;//記錄遊戲分數
start(a);
print(a, count);
run(a);
count++;
system("cls");
fresh(a);
print(a, count);
sleep(50);
while (1) {
if (is_die(a) == 1)
//遊戲還可以繼續進行
run(a);
fresh(a);
system("cls");
count++;
print(a, count);
sleep(5);
else
system("cls");
printf("遊戲結束,最終得分為:%d\n", count);
return 0;
C 實現乙個簡單的控制台計算器
vs官網給新使用者提供了乙個c 控制台建立計算器的例子,用這個例子熟悉了一下vs,順帶做了一些個人改進 vs官網計算器例子的鏈結 官網的計算器有基本的 功能,頭檔案建立的類中宣告乙個計算函式 calculator.h pragma once class calculator 我在計算器的主體上新增了...
c語言控制台 之 彈幕實現
彈幕從從控制台的右端到控制台的左端,位置範圍右端要能顯示字串,左端要 0 結構體儲存每個訊息的內容 移動速度 顏色 和初始位置 初始位置不能變,用於下次還原 include include includestruct node struct node dm 出現位置 void gotoxy int ...
C語言控制台實現字元飛機大戰
先看看效果吧 大一的時候做的,當時沒有好的 習慣,所以 有點亂,直接複製就能用了,功能可以自行拓展。include include include int main 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 for printf n 列印地圖結束 printf...