大二上java结课实验:模仿炸弹人的小游戏

来源:互联网 发布:c语言vector用法 编辑:程序博客网 时间:2024/05/17 18:48

       感觉写游戏还是有些好玩的,虽然没有啥参考,自己开始乱写,写着写着才发现了刚开始规划的重要性。最后由于时间的关系,勉强完成了一些功能,看看效果吧:

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)、某些机子上会莫名的卡住


怎么上传文件来着。。。有待完善!

0 0