猜数游戏c语言编程_做游戏,学编程(C语言) 10 僵尸危机
這個案例,分享14級同學大一時實現的打僵尸小游戲,電腦點擊下圖可以看到動圖效果:
這個案例的代碼不復雜,但是結合了游戲角色的動畫效果、射擊聲音特效,實現后還是挺酷的。對應的游戲素材、分步驟代碼,可從百度網盤下載:http://pan.baidu.com/s/1o8dMXQi
網盤上5個分步驟代碼的主要內容如下,大家可以自己先嘗試實現,有問題再參考對應的分步驟代碼。
Code1:游戲框架
主要內容:
游戲背景圖片與僵尸圖片的初始化、背景音樂的插入、僵尸的單向移動。
主要技術方法:
1、圖片插入用IMAGE先定義,后loadimage載入圖片,Resize設置圖片的大小,最后用putimage插入圖片;
2、背景音樂用mciSendString函數導入,然后要用“open"來開始播放。要注意的是音樂文件要放在.CPP文件同一目錄下,否則不能運行。
3、該步驟的僵尸只是單純的單向移動,用的是for循環語句
Code2:角色的移動
主要內容:
角色的上下左右移動與輸出子彈的按鍵,僵尸的隨機出現與僵尸的單向移動,閃屏問題的解決。
主要技術方法:
1、角色的移動使用的是switch,case選擇語句來實現
2、僵尸設定為6只隨機出現在左邊和右邊,設定了3種不同的速度,隨機函數用的是rand
3、每一幀用的是背景圖片覆蓋
4、閃屏問題運用到三個函數:BeginBatchDraw();FlushBatchDraw();EndBatchDraw();分別放在插入圖片前,插入圖片后且背景覆蓋前與結束程序前。
Code3:子彈輸出
主要內容:
子彈的輸出與移動。
主要技術方法:
用數組定義子彈坐標,定義子彈方向,用for語句來實現
Code4:相撞判定
主要內容:
修復子彈打不出的問題,加入了開始時的背景與游戲的logo,加入了子彈與僵尸、角色與僵尸的相撞判定函數
主要技術方法:
碰撞判定函數主要是計算兩張圖片的距離的絕對值
Code5:bug修復
主要內容:
修復了子彈可能打不到僵尸的bug,加入了音效,勝負判定,結束畫面
主要技術方法:
將Game函數內判定兩圖片距離的公式改為計算兩圖片中點距離,而不是之前的右上角坐標距離,增加了判定的精確性
補充:百度云盤上的工程代碼,需要先調整圖片音樂素材所在的文件目錄。這塊代碼寫死了,大家可以進一步改進。
總結
以上是生活随笔為你收集整理的猜数游戏c语言编程_做游戏,学编程(C语言) 10 僵尸危机的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【万字长文】创业公司就应该技术选型 Sp
- 下一篇: mysql必须安装在c盘吗_家用冷热水管