感觉写游戏还是有些好玩的,虽然没有啥参考,自己开始乱写,写着写着才发现了刚开始规划的重要性。最后由于时间的关系,勉强完成了一些功能,看看效果吧:
1、开始界面:
2、单人模式(AI很渣,没空写搜索。。)
3、本地双人模式:
一、需求分析:
实现泡泡堂类似游戏的基本功能:
1、地图、人物、场景的绘制
2、人物可以移动、放置泡泡。泡泡可以摧毁障碍物、人物、道具等等
3、实现人机对战
4、实现本地人人对战
5、实现联网模式对战
二、程序版本修改:
0.1、 写完游戏主窗口,实现对象的移动
0.2、 写了全局的map矩阵,通过矩阵导入障碍物
0.3、 代码基本没有变化,美化了下图片
0.4、 对人物、泡泡、障碍物实现了map矩阵,绘图对象的映射
0.5、 实现了障碍物的碰撞
0.6、 1、新增了碰撞检测2、将泡泡爆炸检测移到Game_frame里面3、可摧毁物可以被摧毁
0.7、 修正了一下泡泡爆炸的效果,新增加了道具,道具会在可摧毁物爆炸后出现,吃到之后可以提升效果
0.8、 1、修正了泡泡的碰撞(多角色泡泡碰撞需要在Game_frame里边修订)2、修正了泡泡的爆炸绘图和地图修改3、增加了角色的死亡选项(简单弹出消息提示框)4、挨在一起的泡泡能够同时爆炸
0.81、 新增双人模式
0.9、 修正0.81版本中的bug,新增了单人模式,简单的Ai
0.10、 增加游戏开始面板,选择单双人模式,以及联网模式
三、版本构思
1、语言内部的char 二维数组作为底层矩阵,映射到显示界面为绘画单位
2、同时,绘图界面的操作也会对矩阵产生影响
每个点映射成60x60的方格0表示空地,可行走
9为不可摧毁障碍物
8为可摧毁障碍物---->
z:zero表示没有物品
a:鞋子:速度加+1
b:泡泡:可放炮数目+1
c:药水:泡泡范围+1
7为未引燃炸弹
6为引燃炸弹区域
5为物品栏
008080080800
008880088800
888880088888
000090090000
000000000000
000000000000 -----------------》 GUI绘图界面
000090090000
888880088888
008880088800
008080080800
四、基本实现
1、总体实现:
人物:移动、放置炸弹。
障碍物:(1)、不可摧毁障碍物:不可被摧毁、不能直接穿越
(2)、可摧毁障碍物:可以被摧毁、没被摧毁前不能被穿越,摧毁后可以
道具:通过随机函数产生,由可摧毁障碍物摧毁之后显示在地图上,一共分为三种,分别有不同的功能。
炸弹:几乎可触碰所有场景物品:
(1)、摧毁可摧毁障碍物
(2)、炸掉道具
(3)、炸到人物
2、未实现功能:联网模式
3、莫名Bug:
(1)、双人模式下某个主角会自然死亡
(2)、某些机子上会莫名的卡住
怎么上传文件来着。。。有待完善!