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

代碼片段和文件信息
//?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.?算出應該畫的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)??//最后一爆要重復第三爆
{
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)??//最后顯示分數
{
if?(m_type>4?&&?m_type<255)
{
rc.left?=?3?*??m_width1;?//不同坦克爆炸顯示不同分數
rc.right?=?rc.left?+?m_width1;
}
if?(m_type<=4)
{
rc.left?=?(m_type/2)?*??m_width1;?//不同坦克爆炸顯示不同分數
rc.right?=?rc.left?+?m_width1;
}
DesBmp=bitmap3;
}
}
if?(type==BIGBOMB)
{
if?(status>=(type+2))???//這個加2是為了顯示分數時用的?加2可顯示久一點
{
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++;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????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個文件信息
評論
共有 條評論