首先感謝這位大俠的無私分享,仔細學習這個程式以後收穫很多,試著新增一些注釋
源程式是從開源中國看到的,原作者是 劉地(sir?)
位址為geek_monkey於2023年3月5日為拜讀該程式,受益匪淺
為了方便自己,以及更多初學者閱讀,我試著寫了寫了注釋供參考
我是c語言初學者,如有錯誤希望指正。輕噴
複製** **如下:
#include
#include
#include
#include
int x[4][4],y[4][4],z=0,o=0;//z表示的是當前矩陣中的非零數字的數量,z為16則說明數字排滿了,本局輸了
//o表示最大數字的值,本例設定的是1024
typedef int row[4]; //row代表具有4個元素的整型陣列
row *p=x, *q=y;//p是整型指標陣列,有4組,每組有4個元素。p[1]=x[1]=*(x+1)
void show()//顯示函式
else
}printf("\n\n");
}printf("\n\n");
}void over()//將2維陣列左右對調
r=p,p=q,q=r;
}void left()//將2維陣列逆時針轉動90
r=p,p=q,q=r;
}void right()//將2維陣列順時針轉動90
r=p,p=q,q=r;
}void inc()//此函式的作用是在0數字的位置上隨機放置乙個2或者4
if(rand()%2) //隨機產生2或者4,理論上rand()%2的結果,0,1,機率各佔一半
else
z++;
}void merge(char c)
//上邊這個switch語句是將矩陣變換程式設計客棧,將數字推向上,左或者下的操作轉換為推向右的操作。
//下邊這個迴圈語句的功能是,把每一行的數字都往右邊推,數字大小一樣則合併。
for(i=0;i<4;i++)//一行一行地檢測
else
&nbkoytowyptsp; }}}
switch(c)
inc();
}int main()}}
if(o)
else
getch();
return 0;}/*
特殊按鍵是兩個位元組,第乙個位元組是表示按的是特殊鍵的(普通鍵就乙個位元組),第 二個位元組就是按鍵的ascii碼,
當按下「普通鍵」時,它的低8位數存放該字元的ascii碼。
對於特殊鍵,低8位為0。特殊鍵包括箭頭鍵、功能鍵等。高8位位元組存放該鍵的掃瞄碼
#define key_left 75 k 左
#define key_right 77 m 右
#define key_up 72 h 上
#define key_down 80 p 下
本文標題: 用vc++6.0的控制台實現2048小遊戲的程式
本文位址:
VC 6 0利用控制台輸出除錯資訊
方法一 windows為你提供了一系列的api來完成這個功能,例如 readconsole,writeconsole等,具體參見msdn。1。首先呼叫allocconsole函式來為你程序建立乙個console,該api是將當前程序attache到乙個新建立的console上。你還可以通過呼叫set...
VC6 0控制台程式下實現最簡單的TCP網路通訊
本工程還需鏈結乙個庫檔案 解決方案一 程式 中加入 pragma comment lib,ws2 32.lib 解決方案二 在project setting link 中object library modules加入 ws2 32.lib 客服端 pragma comment lib,ws2 32...
2048 控制台版 c實現
這是效果圖 用c 寫的,其實就是用了c 的輸入輸出,剩下全是c的內容 中有詳解,很簡單,歡迎借鑑和交流 include include include include include 為了讀取方向鍵 include 設定控制台填充字元等 using namespace std int score 0...