资源简介
策划程序美工全是自己一人完成,用VS2010 和c++写的,同学帮忙测试,画面操作可玩性感觉很不错,哈哈~而且自带地图编辑器哦~~
想回顾经典游戏的朋友,或者新手想学windows游戏开发可以参考源码,注释很详细,代码基本是纯C++加上STL容器和win32 API手工编写的,逻辑不是很复杂,也适合初学者学习GDI图形编程和windows编程入门。。
代码片段和文件信息
#include “baseTank.h“
#include “tank.h“
baseTank::baseTank(
int _id
int _life
int _armor
int _face
int _x
int _y
int _gun_face
bool _gun_lock
int _move
int _speed
int _fire_speed
int _bullet_id
int _bullet_max
int _bullet_power
int _bullet_speed):
id(_id)
life(_life)
armor(_armor)
face(_face)
x(_x)
y(_y)
gun_face(_gun_face)
gun_lock(_gun_lock)
gun_step(0)
move(_move)
move_step(0)
speed(_speed)
speed_real(speed)
fire_step(0)
fire_speed(_fire_speed)
bullet_id(_bullet_id)
bullet_num(0)
bullet_max(_bullet_max)
bullet_power(_bullet_power)
bullet_speed(_bullet_speed)
delay(0)
{
}
baseTank::~baseTank(void)
{
}
void baseTank::Move()
{
if ( face == DOWN ) y+=speed_real;
else if ( face == LEFT ) x-=speed_real;
else if ( face == UP ) y-=speed_real;
else x+=speed_real;
if (++move_step>2) move_step=0;
}
void baseTank::Change(int _face)
{
face=_face;
if(gun_lock==false)gun_face=face;
if (++move_step>2) move_step=0;
}
void baseTank::Fire()
{
if(!gun_step)
{
gun_step=100;
fire_step=3;
}
}
void baseTank::Death()
{
}
void baseTank::Draw(HDC &DC1HDC &DC2bool fire)
{
int gun_x;
int gun_y;
int fire_x;
int fire_y;
int _gun_step;
_gun_step=gun_step/20;
switch(gun_face)
{
case DOWN:
gun_x=x;
gun_y=y-_gun_step*(bullet_power/10);
fire_x=gun_x;
fire_y=gun_y+48;
break;
case LEFT:
gun_x=x+_gun_step*(bullet_power/10);
gun_y=y;
fire_x=gun_x-48;
fire_y=gun_y;
break;
case UP:
gun_x=x;
gun_y=y+_gun_step*(bullet_power/10);
fire_x=gun_x;
fire_y=gun_y-48;
break;
case RIGHT:
gun_x=x-_gun_step*(bullet_power/10);
gun_y=y;
fire_x=gun_x+48;
fire_y=gun_y;
}
if(fire==false)
{
//坦克底盘
BitBlt(DC1xy6464DC2face*64id*1280+move_step*128+64SRCPAINT);
BitBlt(DC1xy6464DC2face*64id*1280+move_step*128SRCAND);
//坦克炮台
BitBlt(DC1gun_xgun_y6464DC2gun_face*64id*1280+(5-_gun_step)*128+128*3+64SRCPAINT);
BitBlt(DC1gun_xgun_y6464DC2gun_face*64id*1280+(5-_gun_step)*128+128*3SRCAND);
}
else
{
//坦克火花
if(fire_step>0)
{
--fire_step;
BitBlt(DC1fire_xfire_y6464DC2gun_face*64id*1280+9*128+64SRCPAINT);
BitBlt(DC1fire_xfire_y6464DC2gun_face*64id*1280+9*128SRCAND);
}
if(gun_step>0)
{
gun_step-=fire_speed;
if(gun_step<0)gun_step=0;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 556856 2010-12-15 10:54 坦克大战源码\background.bmp
文件 3226 2010-12-23 20:32 坦克大战源码\ba
文件 876 2010-12-21 10:08 坦克大战源码\ba
文件 192056 2010-12-21 13:27 坦克大战源码\bullet.bmp
文件 1040 2010-12-18 13:27 坦克大战源码\Bullet.cpp
文件 435 2010-12-17 13:29 坦克大战源码\Bullet.h
文件 16044 2010-12-18 14:55 坦克大战源码\death.wav
文件 69840 2010-12-18 12:50 坦克大战源码\fire.bmp
文件 328 2010-12-18 20:21 坦克大战源码\Fire.cpp
文件 192 2010-12-18 13:37 坦克大战源码\Fire.h
文件 7268 2010-12-17 18:37 坦克大战源码\hit.wav
文件 688184 2010-12-21 19:22 坦克大战源码\map_block.bmp
文件 12242 2010-12-17 18:37 坦克大战源码\motor.wav
文件 7864376 2010-12-21 15:40 坦克大战源码\pla
文件 1976 2010-12-18 14:55 坦克大战源码\resource.h
文件 9518 2010-12-17 18:37 坦克大战源码\shoot.wav
文件 217990 2010-12-15 09:16 坦克大战源码\start.wav
文件 61707 2012-03-20 18:26 坦克大战源码\tank.cpp
文件 2356 2010-12-24 12:55 坦克大战源码\tank.h
文件 115919 2010-12-13 08:42 坦克大战源码\tank.ico
文件 6754 2010-12-18 14:55 坦克大战源码\TANK.rc
文件 4266 2010-12-17 18:37 坦克大战源码\turret.wav
文件 9988096 2012-03-20 18:26 坦克大战.exe
目录 0 2012-03-20 18:30 坦克大战源码
----------- --------- ---------- ----- ----
19821545 24
- 上一篇:算术编码C++ 源代码
- 下一篇:基于ITK、VTK与MFC读取DICOM图像
相关资源
- 算术编码C++ 源代码
- MFC扫雷游戏
- linux游戏编程c语言
- C++开发漂亮的软件界面
- vc++收发电子邮件系统
- C++ CAsyncSocket类聊天室程序
- C++课程设计 学籍管理系统82049
- mfc酒店管理系统C++编写,程序简单,
- C++编写Genesis200自动化
- C++实现线程池源文件
-
最简单的c++ xm
l类,跨平台使用 - c++ 、MFC 实现中点画圆算法及工程代码
- 用C++语言编写一个班级信息管理系统
- VC++ 球体 Phong光照模型
- VC6.0--计算器
- C、C++、C# 函数手册合集chm
- 用c++写的曲线拟合程序
- C+++视频监控系统.zip
- CACertification Authoritcationc++源代码
- funcode.c++弹弹堂游戏程序及源代码
- 哈夫曼编码vc++6.0
- VC++6.0 MFC使用ODBC链接MySQL把图片写入
- C++浏览器.rar
- Visual C++编程技巧典型案例解析
- Visual C++编程全能词典破解文件
- OpenGL三维图形程序设计及源码 c++
- QQ农场源代码C++版
- C++课程设计报告(人事管理系统).
- c++写的迷宫
- Qt版推箱子源码-鼠标键盘功能都有
评论
共有 条评论