gpt4 book ai didi

java - 如何为游戏生成随机伤害点? - java

转载 作者:行者123 更新时间:2023-12-01 19:35:04 53 4
gpt4 key购买 nike

我正在构建一个迷你游戏,其中两个怪物互相战斗(对手和玩家)。当回合开始时,怪物会进行战斗,它们的生命值会减少 1、2、3、4 或 5。

我使用Math.random来随机化对每个怪物造成的伤害。

当程序运行并且回合开始时,如何减少每个怪物的生命值?

这是迄今为止我的代码(Monster.java 文件):

import java.util.Random;

public class Monster {
// Monster properties
private String name;
private int health;
private int damage;

// Random damage points that vary from 1 to 5
int randomDamagePoints = (int)(Math.random() * 1 + 5);

// Constructor
public Monster(String name, int health, int damage) {
this.name = "Monster";
this.health = 50;
this.damage = 2;
}

// Opponent attacks Monster 1 - Player
public void AttackPlayer(Monster player) {
while(health > 0) {
// Part I need help with
}
}

// Player attacks Monster 2 - Opponent
public void AttackOpponent(Monster opponent) {
while(health > 0) {
// Part I need help with
}
}
}

感谢您的帮助!

最佳答案

首先,你的伤害公式:

int randomDamagePoints = (int)(Math.random() * 1 + 5);

这总是会导致 5。你想要

int randomDamagePoints = (int)(Math.random() * 5 + 1);

如果你想让伤害逐轮改变,你应该把它放在它自己的函数或攻击函数中。另外,我建议您只使用一个 attack 函数,将其称为 attackMe,并带有损坏参数。然后只需从生命值中减去伤害,例如

public boolean attackMe(int damage) {
health -= damage;
return hitPoints > 0;
}

关于java - 如何为游戏生成随机伤害点? - java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58136583/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com