大二上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)、某些机子上会莫名的卡住
怎么上传文件来着。。。有待完善!
- 大二上java结课实验:模仿炸弹人的小游戏
- 【Java】炸弹人小游戏
- CSAPP的二进制炸弹实验
- JAVA 炸弹人(一)
- JAVA 炸弹人(二)
- java 制作炸弹人
- Java小游戏-----人的一生
- 大二上,java基础结束了
- 二进制炸弹实验报告
- 二进制炸弹(第二次实验)
- 二进制炸弹实验
- bomb炸弹实验
- 大二的一些计划,上学年吧
- unity 实现炸弹人放炸弹后只进不出的一种方法
- CSAPP第二次实验 bomb二进制炸弹的破解
- CSAPP Lab2: bomblab拆炸弹实验(汇编代码的理解)
- 模仿猎杀潜航的一个小游戏,作了一下午。
- google logo上的小游戏
- Android开发学习之路--Android系统架构初探
- python项目之 增加博客访问量
- 字符串操作strcpy、strstr、strcat函数如何实现
- WEB开发中路径的问题
- 多种JS引擎的介绍与比较
- 大二上java结课实验:模仿炸弹人的小游戏
- HDU1005
- Android滑动冲突--代码
- 判断移动网络是否连接可用!
- udp协议简单实现登录功能
- c语言中,逗号运算符的问题
- OV2685翻转问题
- 《笨办法学Python》 第26课手记
- 算法导论15.1钢条切割 练习总结