利用陣列,我們可以在空戰遊戲中實現多台敵機、發射閃彈等效果。大家可以用之前教程的思路,嘗試分步驟實現:飛機的顯示、單個敵機、多個敵機、發射常規子彈、發射閃彈,以下是完整的**。
// 遊戲畫面尺寸
#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語言的基礎知識,大家可以找些經典的教材,在每次教程前,我會寫上所需的基礎語法知識,大家可以事先學習。主要會給多個步驟...