如何用java实现一个格斗游戏_用AspectJ做的一个回合格斗小游戏

本文展示了如何使用Java设计一个战士类,包含攻击、治疗、躲避等行为,并通过AspectJ创建切面记录战斗过程。战士类与主程序MainTest实现了两个战士的回合制对战,切面RecordGame用于输出战斗细节。文章提供了完整的代码示例,包括随机数生成器和一个名为'super'的超级角色,该角色在大多数情况下会获胜。
摘要由CSDN通过智能技术生成

这个示例中有一个设计了一个战士Soldier类,这个类具有一些随机功能,包括发动攻击、治疗、躲避、移动等功能。另外有一个简单的主程序MainTest,里面的功能就是让两个战士回合制互相攻击。另外有一个切面,是用来观察并输入战斗的详细过程,直到一个被打倒下:

先看战士Soldier的代码:

package springroad.demo.chap5.aspectj;

public class Soldier {

private String name;

private int health=100;

private int damage=10;

private int x=10;

private int y=10;

public boolean attack(Soldier target){

boolean ret=false;

if(!target.dodge())

{

target.setHealth(target.getHealth()-this.damage);

ret=true;

}

move();

treat();

return ret;

}

public void move()

{

this.x+=getRandom(5);

this.y+=getRandom(5);

}

//躲避x及y随机变动,成功率为50%

public boolean dodge()

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值