vbnet加access数据库实现FC经典坦克大战设计文档.docx
《vbnet加access数据库实现FC经典坦克大战设计文档.docx》由会员分享,可在线阅读,更多相关《vbnet加access数据库实现FC经典坦克大战设计文档.docx(12页珍藏版)》请在冰点文库上搜索。
vbnet加access数据库实现FC经典坦克大战设计文档
陕西师范大学
专业:
[计算机科学与技术]
班级:
[]
学生姓名:
[]
指导教师:
[]
完成时间:
2018年9月22日
FC坦克大战
FC经典坦克大战(设计)
1.设计目的
一直对游戏的实现有疑问,在学了可视化程序设计这门课程后更是想要自己实现一个游戏。
在做坦克游戏实验后对这个游戏更是产生了浓厚兴趣。
该设计旨在完成一个具有由敌我双方坦克(坦克能发炮弹)以及不同属性的障碍物的模拟坦克大战游戏。
该游戏旨在通过对敌方坦克的缴杀产生快感,愉悦身心,缓解压力,同时可以练习键盘上下左右的按键习惯,锻炼空间逻辑能力以及统筹兼顾的能力。
熟悉工具的使用以及数据库的应用。
2.设计思想与关键技术:
设计思想:
敌我双方属性
敌方坦克
我方坦克
发炮弹
自动
通过按键(F)
初始化位置
三个位置随机
固定
移动
自动
按键(JKIL)
转向造型
有
有
移动速度
自动分快慢
玩家决定
数量
多个
一个
颜色
绿,白,红
黄
炸毁条件
遇我方炮弹
遇敌方炮弹
障碍物属性
钢铁
树林
池塘
墙
城
对坦克
属性
不可跨越
可隐藏
不可跨越
不可跨越
不可跨越
炮弹对其属性
反消失
可隐藏穿过
可从池塘上方穿过
可毁灭墙
不可穿过
1.变量设置:
主要变量
表示量
left_image
right_image
up_image
down_image
玩家坦克上下左右面向时图片
walls_image
symbol11_image
symbol22_image
symbo333_image
symbo444_image
基地图片
grass_image
water_image
steels_image
草地
池塘
钢铁图片
born1_image
born2_image
born3_image
born4_image
敌方坦克出场时绘画的星形图片
bullet_image
bullet2_image
bullet3_image
我方子弹图片
enemy_boom_image1enemy_boom_image2enemy_boom_image3
敌方爆炸图
rt
生成的随机数
2.类库功能与函数设计:
Timer1
判断子弹与墙的关系
Timer2
用于启动加载图片
Timer3
控制玩家坦克移动位置方向类型
Timer4
敌方坦克移动和发射
Timer5
敌机是否上行
Timer6
Timer7
Timer8
Timer9
Timer10
Timer11
控制敌方坦克移动和子弹发射
控制敌方坦克移动和子弹发射
Timer12
Timer13
Timer14
Timer15
敌机炸图片加载次数处理
Timer16
我方坦克炸图片加载次数处理
enemy_is_up
敌机是否上行
E_TYPE
敌方坦克的方向类型
E_BUT_TYPE_Direction
子弹的方向类型
3.图片素材设计
4.界面设计
A.登录界面
B.主界面部分
C.游戏排行界面设计
D.注册界面设计
E.报表设计
5.关键代码与技术
a.主游戏界面设计采取数组设置位图实现
b.通过不同位置的地图数组值设置位图
c.按键实现移动功能
d.模拟实现转向
e.随机生成不同的敌机
f.随机生成敌机位置
g.设置不同敌机不同速度
h.随机生成敌机所转方向
j.遇区域边界问题处理
k.前进方向遇障碍处理
l.异常处理
自我评价:
该实验最大的困难在于游戏过程功能的实现,包括以上等技术,刚刚开始做时觉得该过程是非常简单的,越到最后就发现了各种技术问题。
在做小实验时便想到了将怎个游戏界面用数组实现位图来展示图片,于是便给了自己很大的自信,产生越来越浓厚的兴趣。
在后面坐了坦克游戏,可用按键控制移动方向后便近一步联想到了发射子弹,子弹与坦克的移动同步问题让我思想彻底的崩溃。
参考了网上的大量类似代码,最后解决了大部分问题,但是最终由于时间问题未能解决游戏的计分问题以及游戏胜负问题。
但是通过该次游戏设计熟悉并加深了VB的基本工具的使用,以及数据库连入的方法,锻炼了我的动手能力。
通过完成该游戏的程序设计,累积了我的实际编程经验,也提高了我独立解决问题的能力,让我明白实践中的许许多多不同于理论的东西。
参考文献:
[1].欧阳志宏,MFC程序设计轻松入门,人民邮电出版社,北京,2009-4-1
[2].姚领田,MFC窗口程序设计,水利水电出版社,北京,2007-5-1
系统运行过程截图: