-
大小: 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个文件信息
相关资源
- c++坦克大战源码_写的不错
- C++&easyx;的坦克大战
- VC++坦克大战多人在线大型网络游戏
- 北邮C++小学期坦克大战代码及报告
- 对战坦克大战源代码(vc++)
- OpenGL开发的二维坦克大战游戏,小时
- VS2012工程坦克大战
- c++坦克大战
- VC++6.0 分布式坦克大战游戏 源码
- 我用VS2010 C++和windows API制作的坦克大
- C++程序坦克大战MFC
- 坦克大战完整源代码
- 坦克大战C语言easyx图形插件源代码
- 这是我在VC6.0下设计的一个坦克大战的
- C++控制台版坦克大战源码.rar
- VS平台下的MFC版坦克大战
- 坦克大战 c++ 源代码
- C++多人2D坦克大战源码.rar
- C++(qt)游戏实战项目:坦克大战(源
- 坦克大战C++编程坦克大战C++编程
- 坦克大战:(MFC]).zip
- 使用C++编写超经典的坦克大战
- MFC 实现的坦克大战
- 坦克大战游戏源代码C++源代码
- linux c语言写的坦克大战小游戏
- 用MFC写的坦克大战
- c++ 大作业 实现坦克大战
- C++ 坦克大战(Tank)
- c++ 坦克大战 小游戏源码
- funcode 坦克大战游戏
评论
共有 条评论