做遊戲,學程式設計(C語言) 6 陣列之空戰遊戲

2021-10-18 20:49:26 字數 1913 閱讀 3512

利用陣列,我們可以在空戰遊戲中實現多台敵機、發射閃彈等效果。大家可以用之前教程的思路,嘗試分步驟實現:飛機的顯示、單個敵機、多個敵機、發射常規子彈、發射閃彈,以下是完整的**。

// 遊戲畫面尺寸

#define width 25

#define enemynum 5

// 敵機個數

// 全域性變數

intposition_x

,position_y

;// 飛機位置

intenemy_x

[enemynum

],enemy_y

[enemynum

];// 敵機位置

intcanvas

[high

][width]=

;// 二維陣列儲存遊戲畫布中對應的元素

// 0為空格,1為飛機*,2為子彈|,3為敵機@

intscore

;// 得分

intbulletwidth

;// 子彈寬度

intenemymovespeed

;// 敵機移動速度

void

gotoxy

(intx,

inty

)//游標移動到(x,y)位置

void

startup

()// 資料初始化

score=0

;bulletwidth=0

;enemymovespeed=20

;}void

show

()// 顯示畫面

printf("

\n");}

printf

("得分:%d\n"

,score

);sleep(20

);}void

updatewithoutinput

()// 與使用者輸入無關的更新

}// 子彈向上移動

canvas[i

][j]=

0;if(

i>0)

canvas[i

-1][j

]=2;

}}}static

intspeed=0

;if(speed

<

enemymovespeed

)speed++;

for(k=

0;k<

enemynum;k

++)if(

enemy_x[k

]>

high

)// 敵機跑出顯示螢幕if(

speed

==enemymovespeed)}

}}void

updatewithinput

()// 與使用者輸入有關的更新

elseif(

input

=='d'

&&position_y

<

width-1

)elseif(

input

=='w'

)elseif(

input

=='s'

)elseif(

input

==' '

)// 發射子彈}}

intmain

()return0;

}這個**快200行了,大家吃透這個**,相信對c語言的基本語法和邏輯結構都有了較好的掌握。

思考題:嘗試讓敵機也發射子彈,增加形狀血量不一樣的敵機boss。

做遊戲,學程式設計(C語言) 11 2048

遊戲簡介 2048是比較流行的一款數字遊戲。原版2048首先在github上發布,原作者是gabriele cirulli。這是20歲的gabriele cirulli開發的一款數字遊戲。初衷就是覺得好玩,將開源版本放到github後意外走紅。這款遊戲的玩法很簡單,每次可以選擇上下左右滑動,每滑動一...

做遊戲,學程式設計(C語言) 18 瑞克快跑

的主題功能描述 void startmenu 開始遊戲時的介面 void rules 遊戲規則介面 void showscore 顯示得分情況 void startup 資料初始化 void delay 延遲函式 void restartup 人物死亡後,遊戲資料初始化 void runimg 載入...

做遊戲,學程式設計(C語言) 1 實現彈跳小球

沒想到這裡的一篇文章 對於乙個大一計科新生,有什麼 行數在500 1000的程式 c語言 可以試著寫來練手?電腦科學 知乎 有這麼多的同學點讚,謝謝大家的支援!首先,這個教程不會講解c語言的基礎知識,大家可以找些經典的教材,在每次教程前,我會寫上所需的基礎語法知識,大家可以事先學習。主要會給多個步驟...