基於C 實現的經典坦克大戰遊戲

2021-09-25 07:51:52 字數 713 閱讀 4392

1 題目描述

這戰車大戰就是指紅白機的戰車大戰,操縱戰車,將敵人通通轟掉,完成這個關卡。

小時後完紅白機時,不能輸人金手指,沒辦法自由控制遊戲,現在剛好有這個oop專題機會,我們就仿製乙個戰車大戰,自己可以完全控制程式碼,做到比輸人金手指更完整的控制。

程式使用 dev-c 編譯器進行開發。

2 系統架構和分析

一剛開始,我們思考這遊戲的雛型該怎麼定義,我們認為,需要有:戰車、子彈、地圖(map)、實體(body)。

有實體(body)的原因是因為,畫在winbgi的圖形就像影子一樣,那只是顯示給我們看的,計算機根本不知道子彈有沒有打到磚塊,有沒有打到戰車,所以就將 winbgi視窗416x416個畫素,都用陣列body[416][416],每個畫素目前是誰佔據著,都會紀錄在這陣列裡,之後計算機要判斷這塊區域中有沒有障礙,子彈有沒有打到磚塊,哪台戰車被打到,都可以直接從陣列判斷。

雖然已經有body[416][416]這個陣列了,另外還有map[26][26]這陣列,因為每種地形(磚塊、海…)都是16x16的方塊,所以416x416畫素,可以分成 26x26 個陣列,map[26][26]這陣列主要有兩個作用:乙個是畫圖時,就讀這個陣列,把相對應的地形都印在winbgi,另乙個是可以直接利用檔案io,從外部編輯地圖 (.txt),所以不用再手動排地圖。

基於C 實現的經典坦克大戰遊戲

這戰車大戰就是指紅白機的戰車大戰,操縱戰車,將敵人通通轟掉,完成這個關卡。小時後完紅白機時,不能輸人金手指,沒辦法自由控制遊戲,現在剛好有這個oop專題機會,我們就仿製乙個戰車大戰,自己可以完全控制程式碼,做到比輸人金手指更完整的控制。程式使用 dev c 編譯器進行開發。一剛開始,我們思考這遊戲的...

C 遊戲《坦克大戰》 坦克

這裡的各種型別,使用struct而不是enum,避免後面強制轉換。子彈資訊 public struct t bulletinfo 坦克型別 public struct t type 坦克行動方向 public struct t dir 公共引數 public struct t commpar 設計框...

基於C 實現的坦克大戰遊戲的最短路

1 專案概述 1.1 專案背景 坦克大戰 battle city 是1985年日本南夢宮namco 遊戲公司開發並且在任天堂fc平上,推出的一款多方位平面射擊遊戲。遊戲以坦克戰鬥及保衛基地為主題,屬於策略型聯機類。本專案 坦克大戰最短路 就是以 坦克大戰 作為背景並結合廣度優先演算法實現的一款 最短...