-
大小: 611KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2024-01-30
- 語(yǔ)言: C/C++
- 標(biāo)簽: 坦克大戰(zhàn)??坦克90??BATTLECITY??
資源簡(jiǎn)介
前言:
作者系四川大學(xué)計(jì)算機(jī)科學(xué)系畢業(yè),但是畢業(yè)后十幾年都沒(méi)有編過(guò)程序,干的工作有抄水電表,網(wǎng)管,銷售工作,最近發(fā)現(xiàn)人漸漸老去,有心愿未了,于是最近跟著網(wǎng)絡(luò)視頻教學(xué),學(xué)習(xí)了一下VC++和面向?qū)ο缶幊蹋妥砸研r(shí)候最愛(ài)玩的坦克大戰(zhàn)為練習(xí),來(lái)熟悉和鞏固對(duì)VC++的學(xué)習(xí)。
本作特點(diǎn):
1. 可能是世界上最接近“坦克大戰(zhàn)”原作的VC程序. 幾乎99%相似模擬度。
2. 本作還特別包括“坦克90”加強(qiáng)版。
3. 即時(shí)存檔,讀檔功能。
4. 即時(shí)回退,時(shí)光倒流功能。
5. 播放戰(zhàn)斗錄相功能。
6. 智能躲避敵方攻擊的功能。(在演示狀態(tài))
7. 敵方坦克智能躲避工方攻擊的功能。(在TANKE90模式)
8. 對(duì)Win7兼容性不好, 運(yùn)行會(huì)變慢
9. 本作是精確到象素級(jí)的模擬原作了.
如何編譯:
1. 運(yùn)行VC6.
2. 用打開(kāi)工作空間的方式, 打開(kāi)Tank.dsw
3. 如編譯出現(xiàn)Diretx方面的錯(cuò),請(qǐng)下載directx8程序包http://115.com/file/clqzomlm#dx81sdk.zip 加入到你的VC6里面, 如何安裝請(qǐng)查網(wǎng)上.
4. 根目錄下有Tank.exe已經(jīng)編譯好的了, 你可以試一試, 360可能會(huì)誤報(bào), 但保證沒(méi)有病毒. 不信你自已編譯好后, 也可能會(huì)誤報(bào)
后記:
本次放出的是DirectX版本, 如有其它問(wèn)題請(qǐng)聯(lián)系作者.
作者郵箱:
romman@163.com
另外,還有一個(gè)CFrame版本,和一個(gè)WIN32版本,這兩個(gè)版本效率不高,但兼容性好,有需要的聯(lián)系。

代碼片段和文件信息
//?Bomb.cpp:?implementation?of?the?Bomb?class.
//
//////////////////////////////////////////////////////////////////////
#include?“Tank.h“
#include?“Bomb.h“
#include?“spirit.h“
#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
Bomb::Bomb()
{
}
Bomb::~Bomb()
{
}
void?Bomb::DrawBomb(LPDIRECTDRAWSURFACE7?&dc)
{
LPDIRECTDRAWSURFACE7?DesBmp;
//1.?算出應(yīng)該畫的BOMB在源位圖中的位置.
int?xy;
RECT?rc;
if?(status==3?||?status==4)
{//大爆
x=m_x2;
y=m_y2;
rc.left?=?(status-3)?*?m_width2;
rc.right?=?rc.left?+?m_width2;
rc.top?=?0;
rc.bottom?=?rc.top?+?m_height2;
DesBmp=bitmap2;
}
else?
{//小爆
x=m_x1;
y=m_y1;
rc.top?=?0;
rc.bottom?=?rc.top?+?m_height1;
if?(status==5)??//最后一爆要重復(fù)第三爆
{
DesBmp=bitmap1;
rc.left?=?2?*?m_width1;
rc.right?=?rc.left?+?m_width1;
}
else
{
DesBmp=bitmap1;
rc.left?=?status?*?m_width1;
rc.right?=?rc.left?+?m_width1;
}
?
if?(status>=6)??//最后顯示分?jǐn)?shù)
{
if?(m_type>4?&&?m_type<255)
{
rc.left?=?3?*??m_width1;?//不同坦克爆炸顯示不同分?jǐn)?shù)
rc.right?=?rc.left?+?m_width1;
}
if?(m_type<=4)
{
rc.left?=?(m_type/2)?*??m_width1;?//不同坦克爆炸顯示不同分?jǐn)?shù)
rc.right?=?rc.left?+?m_width1;
}
DesBmp=bitmap3;
}
}
if?(type==BIGBOMB)
{
if?(status>=(type+2))???//這個(gè)加2是為了顯示分?jǐn)?shù)時(shí)用的?加2可顯示久一點(diǎn)
{
active=false;
}
}
else
{
if?(status>=type)??
{
active=false;
}
}
//??3.?畫出BOMB?透明的
if?(active)
{
dc->BltFast(?x+OFFSETX?y+OFFSETY?DesBmp?&rc?DDBLTFAST_SRCCOLORKEY?|?DDBLTFAST_WAIT?);
}
//??4.?BOMB的STATUS要加1
status++;
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????766??2011-08-27?19:27??icon1.ico
?????文件???????5390??2011-09-14?14:54??Input.cpp
?????文件???????1098??2011-09-14?14:54??Input.h
?????文件???????5116??2011-09-29?22:49??Label.cpp
?????文件???????1775??2011-09-29?10:04??Label.h
?????文件??????15402??2011-09-30?15:20??Pla
?????文件???????1977??2011-09-30?11:52??Pla
?????文件????????823??2011-09-26?17:26??resource.h
?????文件????????853??2011-08-10?12:28??Score.cpp
?????文件??????????0??2011-08-10?12:18??Score.h
?????文件???????4618??2011-08-24?23:39??Sound.cpp
?????文件???????1193??2011-08-11?17:16??Sound.h
?????文件???????6120??2011-09-30?11:51??Spirit.cpp
?????文件???????1524??2011-09-30?11:51??Spirit.h
?????文件??????????0??2011-08-01?12:39??Star.cpp
?????文件??????????0??2011-08-01?12:38??Star.h
?????文件??????21692??2011-11-08?15:23??Tank.aps
?????文件???????1888??2012-05-08?15:00??Tank.clw
?????文件???????4330??2011-09-23?14:20??Tank.dsp
?????文件????????531??2011-07-03?17:38??Tank.dsw
?????文件?????774144??2012-05-08?14:10??Tank.exe
?????文件???????5972??2011-10-07?13:29??Tank.h
?????文件???????6084??2011-08-12?19:53??tank.map
?????文件??????26280??2011-08-12?19:53??tank.map.txt
?????文件?????500736??2012-05-08?15:00??Tank.ncb
?????文件??????24592??1983-07-15?00:02??tank.nes
?????文件??????60928??2012-05-08?15:00??Tank.opt
?????文件????????934??2012-05-08?14:10??Tank.plg
?????文件???????6183??2011-10-06?19:30??Tank.rc
?????文件??????????0??2011-07-26?12:48??TankDraw.cpp
............此處省略71個(gè)文件信息
評(píng)論
共有 條評(píng)論