鱼C论坛

 找回密码
 立即注册
查看: 608|回复: 4

[已解决]求助大佬们,这个怎么用java写出来啊,对我来说超纲了

[复制链接]
发表于 2023-4-10 22:29:50 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
格斗游戏(每个游戏角色的姓名,血量,性别都不相同,在选人物的时候(new对象的时候),这些信息就应该被确定下来)游戏启动后,展示如下效果:
“NNN打了MMM一下,造成了XXX点伤害,MMM还剩XXX点血量““NNN/MMM KO了MMM/NNN”具体要求如下:
(1)创建一个Javabean类,在其中写入角色的属性,包含:①姓名,②血量,③性别,)
(2)分别生成每个属性的getXX和setXX方法(3)生成无参和全参构造(4)创建一个测试类
(5)        伤害随机
最佳答案
2023-4-10 22:32:19
好的,我可以帮您提供一个示例代码,您可以根据需要进行修改和扩展。

首先,我们需要创建一个名为"Role"的JavaBean类,其中包含姓名,血量和性别这三个属性:

  1. public class Role {
  2.     private String name;
  3.     private int health;
  4.     private String gender;
  5.    
  6.     public Role() {
  7.         
  8.     }
  9.    
  10.     public Role(String name, int health, String gender) {
  11.         this.name = name;
  12.         this.health = health;
  13.         this.gender = gender;
  14.     }
  15.    
  16.     public String getName() {
  17.         return name;
  18.     }
  19.    
  20.     public void setName(String name) {
  21.         this.name = name;
  22.     }
  23.    
  24.     public int getHealth() {
  25.         return health;
  26.     }
  27.    
  28.     public void setHealth(int health) {
  29.         this.health = health;
  30.     }
  31.    
  32.     public String getGender() {
  33.         return gender;
  34.     }
  35.    
  36.     public void setGender(String gender) {
  37.         this.gender = gender;
  38.     }
  39. }
复制代码


接下来,我们可以创建一个名为"Game"的测试类,用于展示游戏效果:

  1. import java.util.Random;

  2. public class Game {
  3.     public static void main(String[] args) {
  4.         Role role1 = new Role("张三", 100, "男");
  5.         Role role2 = new Role("李四", 100, "女");
  6.         Random random = new Random();
  7.         
  8.         while (role1.getHealth() > 0 && role2.getHealth() > 0) {
  9.             int damage = random.nextInt(20) + 10; // 伤害随机在10-29之间
  10.             String attacker = random.nextBoolean() ? role1.getName() : role2.getName();
  11.             String victim = attacker.equals(role1.getName()) ? role2.getName() : role1.getName();
  12.             int victimHealth = attacker.equals(role1.getName()) ? role2.getHealth() : role1.getHealth();
  13.             
  14.             victimHealth -= damage;
  15.             victimHealth = Math.max(victimHealth, 0);
  16.             
  17.             System.out.println(attacker + "打了" + victim + "一下,造成了" + damage + "点伤害," + victim + "还剩" + victimHealth + "点血量。");
  18.             
  19.             if (victimHealth == 0) {
  20.                 System.out.println(attacker + " KO了" + victim);
  21.                 break;
  22.             }
  23.             
  24.             if (attacker.equals(role1.getName())) {
  25.                 role2.setHealth(victimHealth);
  26.             } else {
  27.                 role1.setHealth(victimHealth);
  28.             }
  29.         }
  30.     }
  31. }
复制代码


在这个测试类中,我们创建了两个角色"role1"和"role2",并使用Random类生成随机伤害和攻击者。

每次攻击后,我们根据受害者的姓名和当前的血量,打印出相应的信息。如果有一方的血量降为0,游戏就结束了,并打印出胜利者的信息。

这样,一个简单的格斗游戏就完成了,您可以根据需要进行修改和扩展。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-10 22:32:19 | 显示全部楼层    本楼为最佳答案   
好的,我可以帮您提供一个示例代码,您可以根据需要进行修改和扩展。

首先,我们需要创建一个名为"Role"的JavaBean类,其中包含姓名,血量和性别这三个属性:

  1. public class Role {
  2.     private String name;
  3.     private int health;
  4.     private String gender;
  5.    
  6.     public Role() {
  7.         
  8.     }
  9.    
  10.     public Role(String name, int health, String gender) {
  11.         this.name = name;
  12.         this.health = health;
  13.         this.gender = gender;
  14.     }
  15.    
  16.     public String getName() {
  17.         return name;
  18.     }
  19.    
  20.     public void setName(String name) {
  21.         this.name = name;
  22.     }
  23.    
  24.     public int getHealth() {
  25.         return health;
  26.     }
  27.    
  28.     public void setHealth(int health) {
  29.         this.health = health;
  30.     }
  31.    
  32.     public String getGender() {
  33.         return gender;
  34.     }
  35.    
  36.     public void setGender(String gender) {
  37.         this.gender = gender;
  38.     }
  39. }
复制代码


接下来,我们可以创建一个名为"Game"的测试类,用于展示游戏效果:

  1. import java.util.Random;

  2. public class Game {
  3.     public static void main(String[] args) {
  4.         Role role1 = new Role("张三", 100, "男");
  5.         Role role2 = new Role("李四", 100, "女");
  6.         Random random = new Random();
  7.         
  8.         while (role1.getHealth() > 0 && role2.getHealth() > 0) {
  9.             int damage = random.nextInt(20) + 10; // 伤害随机在10-29之间
  10.             String attacker = random.nextBoolean() ? role1.getName() : role2.getName();
  11.             String victim = attacker.equals(role1.getName()) ? role2.getName() : role1.getName();
  12.             int victimHealth = attacker.equals(role1.getName()) ? role2.getHealth() : role1.getHealth();
  13.             
  14.             victimHealth -= damage;
  15.             victimHealth = Math.max(victimHealth, 0);
  16.             
  17.             System.out.println(attacker + "打了" + victim + "一下,造成了" + damage + "点伤害," + victim + "还剩" + victimHealth + "点血量。");
  18.             
  19.             if (victimHealth == 0) {
  20.                 System.out.println(attacker + " KO了" + victim);
  21.                 break;
  22.             }
  23.             
  24.             if (attacker.equals(role1.getName())) {
  25.                 role2.setHealth(victimHealth);
  26.             } else {
  27.                 role1.setHealth(victimHealth);
  28.             }
  29.         }
  30.     }
  31. }
复制代码


在这个测试类中,我们创建了两个角色"role1"和"role2",并使用Random类生成随机伤害和攻击者。

每次攻击后,我们根据受害者的姓名和当前的血量,打印出相应的信息。如果有一方的血量降为0,游戏就结束了,并打印出胜利者的信息。

这样,一个简单的格斗游戏就完成了,您可以根据需要进行修改和扩展。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-10 22:40:29 | 显示全部楼层
好的,我来为您完成这个任务。

首先,我会创建一个名为Fighter的JavaBean类,并在其中定义角色的属性:姓名、血量和性别。代码实现如下:
  1. public class Fighter {
  2.     private String name;
  3.     private int hp;
  4.     private String gender;

  5.     public Fighter() {}

  6.     public Fighter(String name, int hp, String gender) {
  7.         this.name = name;
  8.         this.hp = hp;
  9.         this.gender = gender;
  10.     }

  11.     public String getName() {
  12.         return name;
  13.     }

  14.     public void setName(String name) {
  15.         this.name = name;
  16.     }

  17.     public int getHp() {
  18.         return hp;
  19.     }

  20.     public void setHp(int hp) {
  21.         this.hp = hp;
  22.     }

  23.     public String getGender() {
  24.         return gender;
  25.     }

  26.     public void setGender(String gender) {
  27.         this.gender = gender;
  28.     }
  29. }
复制代码

然后,我会创建一个测试类FightGame,包括了随机伤害的实现。具体代码如下:
  1. import java.util.Random;

  2. public class FightGame {
  3.     public static void main(String[] args) {
  4.         Fighter fighter1 = new Fighter("张三", 100, "男");
  5.         Fighter fighter2 = new Fighter("李四", 100, "女");
  6.         Random random = new Random();
  7.         
  8.         while (fighter1.getHp() > 0 && fighter2.getHp() > 0) {
  9.             int damage = random.nextInt(20) + 10; // 产生10~30的随机伤害
  10.             if (random.nextBoolean()) {
  11.                 fighter2.setHp(fighter2.getHp() - damage);
  12.                 System.out.println(fighter1.getName() + "打了" + fighter2.getName() + "一下,造成了" + damage + "点伤害," + fighter2.getName() + "还剩" + fighter2.getHp() + "点血量");
  13.             } else {
  14.                 fighter1.setHp(fighter1.getHp() - damage);
  15.                 System.out.println(fighter2.getName() + "打了" + fighter1.getName() + "一下,造成了" + damage + "点伤害," + fighter1.getName() + "还剩" + fighter1.getHp() + "点血量");
  16.             }
  17.         }

  18.         if (fighter1.getHp() <= 0) {
  19.             System.out.println(fighter2.getName() + " KO了" + fighter1.getName());
  20.         } else {
  21.             System.out.println(fighter1.getName() + " KO了" + fighter2.getName());
  22.         }
  23.     }
  24. }
复制代码

以上就是我的代码实现,您可以在此基础上进行测试和修改。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-4-10 22:44:35 | 显示全部楼层
歌者文明清理员 发表于 2023-4-10 22:40
好的,我来为您完成这个任务。

首先,我会创建一个名为Fighter的JavaBean类,并在其中定义角色的属性: ...

感谢帮助,可以睡个好觉了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-10 22:45:11 | 显示全部楼层
感谢帮助,我会继续加油的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 14:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表