怎樣用C 製作小遊戲的介面,如何用C 編寫乙個小遊戲

時間 2021-10-14 21:25:55

1樓:匿名使用者

要有介面的話,又是c/c++確實要學mfc的,mfc全部弄明白挺麻煩的,建議買本入門的書《深入淺出mfc》不錯,網上也有不少電子版下,這個被認為是遊戲入門的標準教科書,大部分所謂的遊戲學院也都在用這個做課本。

然後軟體製作流程上需要注意的就是一開始很容易犯乙個錯誤,就是把所有的功能和介面都寫到一起了,到了後期要調整一下介面你會發現非常痛苦,不過這個路是一定要自己走過一遍才能體會的,之後你就會發現模組化程式設計最終解決的問題,介面歸介面,功能歸功能,兩個模組之間是弱耦合的。

軟體製作的流程沒有必要特別的遵守,經驗還是最重要的,建議你先設計好你要做什麼樣的東西,總共有哪些介面,介面之間是如何聯絡起來的,要顯示哪些內容,都列成乙個表,然後根據這些功能來設計你的程式的結構。

比如說,你要做乙個rpg,那麼要有乙個主角,主角有hp,mp,有攻擊力和防禦力,你就要設計乙個類裡面包含這些引數,同時在介面上也要設計有地方顯示這些數值。然後就可以開始考慮如何來同步這些資料,比如說你角色的血已經減少了100,但是要如何通知介面來更新最新的血量之類的。

最後還是那句話,一定要多練習,當你能保證每天300行左右的有效**,並堅持了2個月左右的時候,你一定會有很多心得。

2樓:匿名使用者

能,但是c語言的是最接近系統的高階語言,像這類小遊戲,建議你學c++,再用開發平台來做,比如qt,mfc等等,用物件導向的語言來寫遊戲,軟體,便於擴充套件,維護。

3樓:匿名使用者

建議學習net版的c++,這樣做頁面比較簡單

如何用c++編寫乙個小遊戲

4樓:念周夕陽飄羽

乙個用c++程式設計的小遊戲,可以實現的功能如下:

1、隨機生成數字;

2、數字消除合併;

3、判定遊戲結束;

一、遊戲主體:

因為用c++寫的,所以用了類,棋盤用了乙個二維陣列,m是棋盤規格,取了4。

class game

public:

int i, j;

game() //構造初始棋盤

void add(int count1);//新增數字

void showchessboard();//顯示棋盤

void up();

void down();

void left();

void right();

bool gameover();//遊戲失敗

private:

int chessboard[m][m];

int x, y, count1, count2, temp1, temp2, k;//c1-連消,c2-空位標記,t1-判連消,t2,k-臨時變數

bool flag;//判消

二、隨機生成數字

void game::add(int count1)

for (i = 0; i < m; i++)

for (j = 0; j < m; j++)

if (chessboard[i][j] == 0)

goto loop;

showchessboard();

return;

loop:srand((unsigned)time(null));

do while (chessboard[x][y] != 0);

if (count1 < 2)

chessboard[x][y] = 2;

else

chessboard[x][y] = 4;

showchessboard();

三、數字消除合併

void game::up()

temp1 = count1;

flag = false;

for (j = 0; j < m; j++)

for (i = 0; i < m;)

for (; i < 4 && chessboard[i][j] == 0; i++); // 找非零值

if (i == 4)

break;

else

for (k = i + 1; k < 4 && chessboard[k][j] == 0; k++);//找下乙個非零值

if (k == 4)

break;

else if (chessboard[i][j] == chessboard[k][j])//匹配

chessboard[i][j] *= 2;

chessboard[k][j] = 0;

i = k + 1;

flag = true;

else if (chessboard[i][j] != chessboard[k][j] && k < 4)//不匹配

i = k;

for (j = 0; j < m; j++)//排列棋盤

for (i = 0, count2 = 0; i < m; i++)

if (chessboard[i][j] != 0)

temp2 = chessboard[i][j];

chessboard[i][j] = 0;

chessboard[count2][j] = temp2;

count2++;

四、判斷遊戲結束

bool game::gameover()

if (flag)

count1++;//判連消

if (temp1 == count1)

count1 = 0;//未消除,連消歸零

add(count1);

for (i = m - 1, j = 0; j < m; j++)//最後一行

if (j == m - 1)//右下角

if (chessboard[i][j] == 0)

return false;

else if (chessboard[i][j] == 2048)

cout << "you win~\n";

return true;

else

if (chessboard[i][j] == 0 || chessboard[i][j] == chessboard[i][j + 1])

return false;

else if (chessboard[i][j] == 2048)

cout << "you win~\n";

return true;

for (i = 0, j = m - 1; i < m; i++)//最後一列

if (i == m - 1)//右下角

if (chessboard[i][j] == 0)

return false;

else if (chessboard[i][j] == 2048)

cout << "you win~\n";

return true;

else

if (chessboard[i][j] == 0 || chessboard[i][j] == chessboard[i + 1][j])

return false;

else if (chessboard[i][j] == 2048)

cout << "you win~\n";

return true;

for (i = 0; i < m - 1; i++)

for (j = 0; j < m - 1; j++)

if (chessboard[i][j] == 2048)

cout << "you win!\n";

return true;

else if (chessboard[i][j] == chessboard[i][j + 1] || chessboard[i][j] == chessboard[i + 1][j] || chessboard[i][j] == 0)

return false;

cout << "game over.\n";

return true;

5樓:熊貓話球

分享乙個大家小時候常玩的小遊戲。希望能夠喜歡。

6樓:夏蟲勿語冰

使用語言:c++使用工具:vs2019

7樓:

什麼小遊戲?如果用qt的話,像五子棋什麼的小遊戲就很簡單了

8樓:陳馬珩

猜數字遊戲

**如下:

#include

using namespace std;

int main(int argc, char** ar**)}system("cls");

cout << "猜數字遊戲" << endl;

while(1)

}intacount = 0;

intbcount = 0;

for(int idangqian = 0; idangqian < 4; idangqian++)

if(intdangqiannumbers[idangqian] == intmiminumbers[imimi] && idangqian != imimi)}}

inttrytimes ++;

cout <<"[" << inttrytimes << "] : "<< intacount << "a" << intbcount << "b" << endl;

if(intacount == 4)

}return 0;}

9樓:藍豆

殺手遊戲

#include

#include

#include

#include

int main()

,k[10]=;

aa:while(n!=1)

if(i==6) i=1;

if(a[i]==0)

sleep(1000);

printf("輪到%d號\n",i);

if(i==b)

else

dop=rand()%5+1;

while(p!=i);

while(a[p]==0||p==i) p=rand()%5+1;

sleep(1000);

printf("%d號選擇了%d號\n",i,p);

sleep(1000);

printf("%d號擲出了%d\n",i,c=rand()%6+1);

if(i>=c)

else

if(i==5&&a[p]==0)

if(p==2&&h==0)

if(p==3&&o==0)}}

if(a[1]==0)

}else a[1]=0;

}if(a[2]==0&&h==0)

else

h=1;

}if(a[3]==0&&o==0)

if(i==4&&a[p]==0)

}if(a[b]==0&&e==0)

i++;

}for(j=1;j<=5;j++) if(a[j]!=0) d=j;

if(x!=1)

else

printf("遊戲結束");

return 0;

}要的原始碼拿走,把贊留下。

如何用C語言編寫圖形遊戲,怎樣用C語言編寫乙個小遊戲?

那樣太麻煩 還是學 flash把 怎樣用c語言編寫乙個小遊戲?請問如何用c語言做乙個圖形介面呢?比如乙個迷宮遊戲的介面 不過你得知道怎麼建工程,不然就得在命令列編譯 鏈結 還是用qt或者mfc,c語言桑不起!用windows gdi 繪圖 要先看下有關方面資料 要不用陣列也行 如何使用c語言編寫簡單...

如何用易拉罐手工製作椅子,怎樣用易拉罐製作椅子

要用剪刀,注意安全。1,準備材料。鋁製的易拉罐乙個,拿剪刀小心把上面的蓋剪掉。2,剪罐筒。沿鋁製的罐筒垂直剪到罐底,剪二十條左右,當然剪得越細,成品的效果越精緻,把罐筒倒扣後使整體像流蘇一樣,不要把鋁條剪下來。3,整形。倒扣罐筒,使其底部朝上,這樣這個底就是椅子的面了。把鋁條的頭沿同一方向折兩下,折...

如何用PS做印章,怎樣用ps製作個印章

1.利用橢圓工具在背景上拉出乙個圓形 按住shfit 2.然後點選右下角的路徑,再點選下面一排的 從選區生成工作路徑 3.這時選擇好你要用的顏色,一般改成紅色。4.選好顏色後,就在剛才那一排選項中,點選用畫筆描邊路徑。當然,如果想色彩感覺深一些,可以連續點選幾次 5.在用剛才的方法在圓內拉出乙個小一...