|
发表于 2023-4-10 22:32:19
|
显示全部楼层
本楼为最佳答案
 好的,我可以帮您提供一个示例代码,您可以根据需要进行修改和扩展。
首先,我们需要创建一个名为"Role"的JavaBean类,其中包含姓名,血量和性别这三个属性:
- public class Role {
- private String name;
- private int health;
- private String gender;
-
- public Role() {
-
- }
-
- public Role(String name, int health, String gender) {
- this.name = name;
- this.health = health;
- this.gender = gender;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getHealth() {
- return health;
- }
-
- public void setHealth(int health) {
- this.health = health;
- }
-
- public String getGender() {
- return gender;
- }
-
- public void setGender(String gender) {
- this.gender = gender;
- }
- }
复制代码
接下来,我们可以创建一个名为"Game"的测试类,用于展示游戏效果:
- import java.util.Random;
- public class Game {
- public static void main(String[] args) {
- Role role1 = new Role("张三", 100, "男");
- Role role2 = new Role("李四", 100, "女");
- Random random = new Random();
-
- while (role1.getHealth() > 0 && role2.getHealth() > 0) {
- int damage = random.nextInt(20) + 10; // 伤害随机在10-29之间
- String attacker = random.nextBoolean() ? role1.getName() : role2.getName();
- String victim = attacker.equals(role1.getName()) ? role2.getName() : role1.getName();
- int victimHealth = attacker.equals(role1.getName()) ? role2.getHealth() : role1.getHealth();
-
- victimHealth -= damage;
- victimHealth = Math.max(victimHealth, 0);
-
- System.out.println(attacker + "打了" + victim + "一下,造成了" + damage + "点伤害," + victim + "还剩" + victimHealth + "点血量。");
-
- if (victimHealth == 0) {
- System.out.println(attacker + " KO了" + victim);
- break;
- }
-
- if (attacker.equals(role1.getName())) {
- role2.setHealth(victimHealth);
- } else {
- role1.setHealth(victimHealth);
- }
- }
- }
- }
复制代码
在这个测试类中,我们创建了两个角色"role1"和"role2",并使用Random类生成随机伤害和攻击者。
每次攻击后,我们根据受害者的姓名和当前的血量,打印出相应的信息。如果有一方的血量降为0,游戏就结束了,并打印出胜利者的信息。
这样,一个简单的格斗游戏就完成了,您可以根据需要进行修改和扩展。 |
|