查看: 28|回复: 0

    怎么用Java的代码制作简单的王者荣耀

    [复制链接]

    394

    主题

    403

    帖子

    953

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    953
    发表于 2023-11-16 12:26:11 | 显示全部楼层 |阅读模式
    怎么用Java的代码制作简单的王者荣耀
    用Java代码实现简单的王者荣耀游戏:
    张飞的生命值:100 攻击力:10 防御力:12 命中率:0.85 )(后羿的生命值:80 攻击力:15 防御力:12 命中率:0.7)(妲己的生命值:50 攻击力:20 防御力:5 命中率:0.75)(元芳的生命值:70 攻击力:10 防御力:8 命中率:0.7)(露露的生命值:70 攻击力:12 防御力:10 命中率:0.8)(大鱼的生命值:100 攻击力:5 防御力:20命中率:0.75) //英雄名字,攻击力,防御力,命中率,用数组来添加,并一 一对应,并添加为英雄类.
    并用game类制作游戏过程
    1. import java.util.Random;
    2. class Hero {
    3.     private String name;
    4.     private int health;
    5.     private int attack;
    6.     private int defense;
    7.     private double hitRate;
    8.      public Hero(String name, int health, int attack, int defense, double hitRate) {
    9.         this.name = name;
    10.         this.health = health;
    11.         this.attack = attack;
    12.         this.defense = defense;
    13.         this.hitRate = hitRate;
    14.     }
    15.      public String getName() {
    16.         return name;
    17.     }
    18.      public int getHealth() {
    19.         return health;
    20.     }
    21.      public int getAttack() {
    22.         return attack;
    23.     }
    24.      public int getDefense() {
    25.         return defense;
    26.     }
    27.      public double getHitRate() {
    28.         return hitRate;
    29.     }
    30.      public void attack(Hero target) {
    31.         Random random = new Random();
    32.         if (random.nextDouble() < hitRate) {
    33.             int damage = (int) (attack * (1 - target.getDefense() / 100.0));
    34.             target.takeDamage(damage);
    35.             System.out.println(name + "攻击了" + target.getName() + ",造成了" + damage + "点伤害!");
    36.         } else {
    37.             System.out.println(name + "攻击了" + target.getName() + ",但未命中!");
    38.         }
    39.     }
    40.      public void takeDamage(int damage) {
    41.         health -= damage;
    42.         if (health < 0) {
    43.             health = 0;
    44.         }
    45.     }
    46.      public boolean isAlive() {
    47.         return health > 0;
    48.     }
    49. }
    50. public class Game {
    51.     public static void main(String[] args) {
    52.         Hero zhangFei = new Hero("张飞", 100, 10, 12, 0.85);
    53.         Hero houYi = new Hero("后羿", 80, 15, 12, 0.7);
    54.         Hero daJi = new Hero("妲己", 50, 20, 5, 0.75);
    55.         Hero yuanFang = new Hero("元芳", 70, 10, 8, 0.7);
    56.         Hero luLu = new Hero("露露", 70, 12, 10, 0.8);
    57.         Hero daYu = new Hero("大鱼", 100, 5, 20, 0.75);
    58.          Hero[] heroes = { zhangFei, houYi, daJi, yuanFang, luLu, daYu };
    59.          while (true) {
    60.             int attackerIndex = new Random().nextInt(heroes.length);
    61.             int targetIndex = new Random().nextInt(heroes.length);
    62.              Hero attacker = heroes[attackerIndex];
    63.             Hero target = heroes[targetIndex];
    64.              if (attacker.isAlive() && target.isAlive() && attacker != target) {
    65.                 attacker.attack(target);
    66.                 if (!target.isAlive()) {
    67.                     System.out.println(target.getName() + "被击败了!");
    68.                 }
    69.             }
    70.              boolean allDead = true;
    71.             for (Hero hero : heroes) {
    72.                 if (hero.isAlive()) {
    73.                     allDead = false;
    74.                     break;
    75.                 }
    76.             }
    77.              if (allDead) {
    78.                 System.out.println("所有英雄都被击败了!");
    79.                 break;
    80.             }
    81.         }
    82.     }
    83. }
    复制代码
    在这个示例中,我们首先创建了一个 Hero 类,包含了英雄的各项属性和方法。然后,在 Game 类的 main 方法中,我们创建了各个英雄对象,并将它们存储在一个数组中。然后,通过循环不断进行攻击,直到所有英雄都被击败。 每次攻击时,随机选择一个攻击者和一个目标英雄。攻击者使用自己的攻击力和命中率对目标英雄造成伤害,如果未命中则不造成伤害。如果目标英雄的生命值降为0,则被击败。 最后,检查是否所有英雄都被击败,如果是,则游戏结束。




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

    本版积分规则

    免责声明:
    1、转载或引用本网站内容须注明原网址,并标明本网站网址“源码资源网”
    2、转载或引用本网站中的署名文章,请按规定向原作者支付稿酬
    3、对于不当转载或引用本网站内容而引起的民事纷争、行政处理或其他损失,本网站不承担责任
    4、对不遵守本声明或其他违法、恶意使用本网站内容者,本网站保留追究其法律责任的权利
    5、资源部分来自网络,不保证资源的完整性,仅供学习研究,如需运营请购买正版,如有侵权请联系客服删除
    6、本站所有资源不带技术支持,下载资源请24小时内删除,如用于违法用途,或者商业用途,一律用于者承担

    QQ|手机版|小黑屋|依星源码资源网-分享编程干货的网站 ( 鲁ICP备2021043233号-3 )

    GMT+8, 2023-12-11 22:51

    邮箱:312337667@qq.com 客服QQ:312337667(工作时间:7:00~23:00)

    © Powered by Net188.com X3.4

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