豪华炸弹人java版在哪里可以下载

版权声明:本文为博主原创文章,遵循 版权协议,转载请附上原文出处链接和本声明。

  1.  发文目的:怀念当初在大专写代码的时光
  2.  项目时间:2019年6月大一上学期JAVA课程设计
  3.  项目亮点:BFS算法实现电脑AI 完成像小时候玩的炸弹人游戏
  • 游戏相关:换关卡、操作玩家、AI电脑、背景音乐、数值提升
  • 游戏管理:重开、暂停/开始、退出、切换模式、音乐开关
  • 关卡管理:关卡显示、关卡界面设计
  • 知识点:BFS算法实现AI、数据结构、JavaSwing界面、paint绘图、线程

1. 巩固这一学期学的java基础,为下一学期的学习做准备

2. 展现自我的想法和能力的平台,提高对这门课程更深的理解

3. 锻炼创造能力、搜集资料能力、开发能力,提升思维能力

我开发的这个项目是炸弹人,对我个人来说想再追忆儿时诺基亚上玩的炸弹人游戏,基于基础功能代码开发JAVA 版本,完善和创新新玩法,美化界面,引入AI。虽然是小游戏,但目标是做成完整的游戏,有游戏的许多要素,开发也是以工程为目的的开发模式,系统模块分明,功能完善。

       Java是一门编程语言,不仅吸收了语言的各种优点,还摒弃了C++里难以理解的、等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

       我实现这个项目,使用了Java挺多内容,用多线程来实现游戏的自动寻路、用面向对象思想使项目结构分明。

BFS算法全称是宽度优先(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra算法和Prim算法都采用了和宽度优先搜索类似的思想。属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。

       我将BFS算法带入游戏中,使用在电脑玩家自动行动寻找最近的箱子,原理就是根据电脑玩家位置不断搜索地图中存在箱子的坐标,然后保存在List中再读取路线从而达到寻路AI功能。

  1. 用户键盘按下释放来控制游戏人物移动和放置炸弹

1. 玩家可以操作人物,放置炸弹

2. 放置的炸弹会爆炸,把箱子夷为平地,有几率生成道具

3. 玩家可以选择与玩家对战,还是与电脑对战

4. 玩家可以暂停,播放音乐,重开游戏

对战中先炸死对方的玩家胜利

  1. 只能走草地,墙和箱子无法通过
  2. 人物可以拾取道具,以加强自身属性
  1. 关卡从写好的二维数组读取
  1. 电脑自动行走,寻找最近箱子并放置炸弹
  2. 放置完炸弹立马躲避炸弹火焰范围

主界面分左右两块,左边是游戏的实时状态,右边是功能菜单

2.点击右边功能菜单的帮助按钮,弹出帮助菜单

3.可以选择不同的游戏模式,有三种,玩家对玩家,玩家对电脑,电脑对电脑

4.可以选择不同的游戏音乐播放

这是主要代码,通过监听,获取玩家输入的健值,匹配到相应的流程,更改方向属性,然后再绘图中根据相应方向更改玩家的图片显示和位置。

这个类是一个线程类,一直运行,根据状态而执行不同操作,涉及到有限状态机概念,根据不同的状态来更改不同的自动模式,0状态下制定找到箱子炸的BFS路线或者行走在BFS路线中,1状态下制定寻找下一个箱子炸的BFS但是不能在火焰范围内或者行走在BFS路线中。

1. 完成度80%,大体完善

2. 有许多改进和增加功能方向,比如玩家设置游戏界面大小,美工。AI完成度不够,没有攻击玩家和躲避攻击功能。

3. 充分利用多线程完成AI效果

4. 利用面向对象思想 使类划分细明,更容易实现效果

  1. 开发程序必须要有设计,设计游戏存在的对象,提取出属性和行为,再关联各个类之间的关系,才能写出高效和可扩展的代码
  2. 知识面太窄,需要多学习,才能扩展思维,实现更好的游戏或程序
  3. 算法以及数据结构很重要
  4. 提高写代码的效率,不能写代码10分钟,找bug1小时,太耗时间,应该先有思路再写,可在本子上先验算下
  5. 特别注意数组是引用类型的问题
  6. 提高找bug的精确性,先要理清思路,逐步跟踪,特别是可以利用eclipse中的调试功能 一步一步下去。
}

我要回帖

更多关于 肉先生1.9无限子弹版本怎么下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信