0
点赞
收藏
分享

微信扫一扫

基于C#实现AC自动机算法

小龟老师 2023-11-28 阅读 33

本设计所开发实现的是基于Java的一个王者荣耀游戏,主要实现键盘控制人物移动,按钮点击事件,英雄动作的改变,鼠标事件,碰撞检测,妲己的三个技能外加普攻,显示生命值,小兵的自动生成和自动移动,防御塔自动攻击,子弹自动追击,野怪的自动复活,窗口的移动,添加背景音乐等功能。

分为游戏主窗口,游戏元素类(野怪类,小兵类,防御塔类,背景类,英雄类)两大部分

主要功能

键盘W,A,S,D键:控制玩家上下左右移动。按钮一:控制英雄发射一个矩形攻击红方小兵。按钮二:控制英雄发射魅惑技能,伤害小兵并让小兵停止移动。技能三:攻击多个敌人并让小兵停止移动。普攻:对小兵造成基础伤害。小兵每隔一段时间自动生成,在王者峡谷下路移动,遇到敌人则自动攻击。防御塔可以自动识别敌人进行攻击。野怪分为RedBuff,BlueBuff,普通野怪,死亡后都可以复活。游戏胜利的条件是红方水晶生命值为零,游戏失败条件是蓝方水晶生命值为零。游戏的设计模式为可以偷塔。

游戏流程图

一,主窗口类


作用:初始化变量,窗口的启动方法,键盘监听事件,添加按钮事件,游戏不同状态的变化,播放背景音乐。

二,游戏元素父类


作用:初始化基本变量,定义addHp()方法,两点之间的距离方法,矩形与矩形的碰撞检测方法,矩形与圆形的碰撞检测方法,定义防御塔,英雄,小兵的攻击方法,用线程实现攻击的冷却时间。

三,防御塔类


作用:初始化防御塔并添加到窗口中,游戏失败与胜利方法,在绘制自身方法中通过判断血量删除元素或者绘制防御塔。

1.英雄妲己


作用:定义三个技能的具体实现方法,用线程实现技能的冷却时间,控制时间,鼠标监视器实现释放技能一,定义技能效果。

五,小兵类


作用:初始化小兵的基本参数,实现找到目标方法,向目标移动方法。每波小兵生成的时间,每个小兵生成的时间,在绘制自身方法中通过判断血量是否为零实现删除元素功能和绘制小兵功能。

2.蓝方小兵


作用:具体的蓝方小兵移动方法。

六,子弹类


作用:子弹移动方法。

七,背景类


作用:初始化背景。

八,野怪类


作用:在绘制自身方法中通过判断血量删除元素或者绘制自身,用线程实现自动复活功能。

图片资源

游戏效果图

举报

相关推荐

0 条评论