引數設定
場景一
場景二
idea+gradle+jdk1.8
建造者模式
碼雲-tank_rebuild
本次坦克大戰遊戲使用了建造者模式,對於tank類來說這是乙個複雜的類物件,採用建造者模式將複雜的tank類進行劃分,劃分出來的子部件各自負責各自相應的功能互不干擾,這樣就減少了耦合,tank分為tankframe、pt、engine、explode、missile、guard。tank類由上面幾個部件構成。另外還有wall、skill、direction_。enemybuilder、tankbuilder、wallbuilder是建造者類。enemybuilder和tankbuilder繼承了tankdecorator類。projector實現場景規劃,customize和windows是介面展示。類功能
tankframe
控制坦克的顏色、高度和寬度
pt這是坦克的炮筒,負責控制坦克發射子彈的方向
engine
坦克的發動機,負責控制坦克的位置,其中由move方法根據鍵盤控制坦克移動,movee()方法根據場地環境隨機移動。
missile
炮彈類依賴於tank類、wall類,通過move方法來控制子彈移動
guard
坦克的護甲,屬性life值表示坦克的血量當life小於等於0時坦克死亡。
wall
牆體,控制牆的位置、高、寬和顏色。
skill
技能類,依賴於tank類,可以向八個方向發射子彈。
direction_
方向類,其中僅含有乙個列舉型別的屬性
tankdecrator
這是抽象的坦克建造者,關聯了tank和enemytank類
tankbuilder
繼承了tankdecrator,用於構造我方坦克
enemytankbuilder
繼承了tankdecrator,用於建造敵方坦克
wallbuilder
含有很多wall例項物件作為其實例,用於構建場景中需要的牆體
projector
聚合和多個建造者例項用於控制場景構建
customize
使用者關卡設定介面
windows
遊戲介面
helloworld_ee
大戰設計模式 17 建造者模式
設計模式使用的例子 將乙個複雜物件的構建與它的表示相分離,使得同樣的構建過程可以建立不同的表示。builder 抽象建造者 為建立乙個產品物件的各個部件指定抽象介面,在其介面中一般包含兩類方法 一類是buildpartx 用於建立複雜物件的各個部件 另一類是getresult 用於返回生成好的複雜物...
基於C 實現的經典坦克大戰遊戲
這戰車大戰就是指紅白機的戰車大戰,操縱戰車,將敵人通通轟掉,完成這個關卡。小時後完紅白機時,不能輸人金手指,沒辦法自由控制遊戲,現在剛好有這個oop專題機會,我們就仿製乙個戰車大戰,自己可以完全控制程式碼,做到比輸人金手指更完整的控制。程式使用 dev c 編譯器進行開發。一剛開始,我們思考這遊戲的...
基於C 實現的經典坦克大戰遊戲
1 題目描述 這戰車大戰就是指紅白機的戰車大戰,操縱戰車,將敵人通通轟掉,完成這個關卡。小時後完紅白機時,不能輸人金手指,沒辦法自由控制遊戲,現在剛好有這個oop專題機會,我們就仿製乙個戰車大戰,自己可以完全控制程式碼,做到比輸人金手指更完整的控制。程式使用 dev c 編譯器進行開發。2 系統架構...