C qt 遊戲實戰專案 坦克大戰(前言)

2021-08-01 12:11:39 字數 1511 閱讀 8062

坦克遊戲,兒時的經典,同樣是練手的經典小專案之一!

準備好開發環境

必須備註1

備註2window或linux系統

推薦window

qt5.5以上

整體框架偽**描述

遊戲開始

遊戲初始化

while(true)

}繪圖訊號處理函式()

地圖類::display()

鍵盤訊號處理函式()

......

......

......

if(gamestatus==gameing)

}}滑鼠訊號處理函式()

}時鐘訊號處理函式()

attack()

以上偽**中主迴圈訊號的收集和派發已經由qt幫我們封裝完成,我們需要完成的是各個訊號處理函式和類的編寫,類的結構層次如下類父類

備註wanwu

無抽出坦克,炮彈,地圖塊等共性的類

mapcell

wanwu

地圖塊類

gamemap

無地圖類,包含地圖塊指標的二維矩陣

tank

wanwu

坦克playtank

tank

玩家坦克

badtank

tank

敵人坦克類

boom

wanwu

**類bullet

wanwu

子彈類

wanwu類,先完成我們的萬物類

#ifndef wanwu_h

#define wanwu_h

#include

#include

#include

enum dir ;

class wanwu

; // 繪圖

virtual

void display(qpainter &paint) = 0;

// 移動

virtual

void move() = 0;

// 判斷是否消失

//判斷兩物體是否碰撞

bool isboom(const wanwu &wanwu)const;

////

qpoint getpos()

};#endif // wanwu_h

//file:wanwu.c

#include "wanwu.h"

bool wanwu::isboom(const wanwu &wanwu)const

//可能以後地圖塊也可以移動和攻擊,就這樣吧

C qt 遊戲實戰專案 坦克大戰 四

ifndef tank h define tank h include wanwu.h include main.h include gamemap.h class tank public wanwu float lifes 8 float wulis 8 float fashus 8 float ...

C 遊戲《坦克大戰》 坦克

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

Java專案 坦克大戰1

我們既然要做這個遊戲,首先我們必須知道這個遊戲裡面應該有什麼成員,成員都有什麼屬性。成員 1 遊戲介面的面板 關卡 難度 總成績 2 自己的英雄坦克 方向 子彈 生命值 3 敵軍坦克 方向隨機 總數量,單次數量 4 子彈 5 記錄成績以及生命值 如圖 所有的坦克都有的屬性 方向 顏色 速度 生命 所...