文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

王者荣耀中的英雄是怎么被创造的?

2024-12-03 00:03

关注

[[415741]]

前期准备

我们要在 IDEA 上创建一个新的项目,创建好一个项目后,我们需要创建5个包,分别是英雄包,装备包,铭文包,野怪包,皮肤包,然后我们就可以一个一个的实现这些功能了。

实现我的英雄梦

①英雄基本属性实现

代码如下:

  1. package Hero; 
  2.  
  3. //英雄的基本属性 
  4. public class Hero { 
  5.     public String  name; //英雄的名字 
  6.     public String type; //英雄的职业 
  7.     public int blood; //英雄的基本血量 
  8.     public int phyattack; //英雄的基本物理攻击 
  9.     public int Magicattavk; //英雄的基本法术攻击 
  10.     public int phyfangyu; //英雄的基础防御 
  11.     public int attavknum; //普通伤害的值 
  12.     public int move; //移动速度 
  13.     public int money; //经济 
  14.  
  15.  
  16.     public Hero(String name, String type, int blood, int phyattack, int magicattavk, int phyfangyu,int attavknum,int move,int money) { 
  17.         this.name = name
  18.         this.type = type; 
  19.         this.blood = blood; 
  20.         this.phyattack = phyattack; 
  21.         this.Magicattavk = magicattavk; 
  22.         this.phyfangyu = phyfangyu; 
  23.         this.attavknum= attavknum; 
  24.         this.movemove
  25.         this.money= money; 
  26.     } 
  27.  
  28.     public String  getName() { 
  29.         return name
  30.     } 
  31.  
  32.     public String getType() { 
  33.         return type; 
  34.     } 
  35.  
  36.     public int getBlood() { 
  37.         return blood; 
  38.     } 
  39.  
  40.     public int getPhyattack() { 
  41.         return phyattack; 
  42.     } 
  43.  
  44.     public int getMagicattavk() { 
  45.         return Magicattavk; 
  46.     } 
  47.  
  48.     public int getPhyfangyu() { 
  49.         return phyfangyu; 
  50.     } 
  51.  
  52.     public int getAttavknum() { 
  53.         return attavknum; 
  54.     } 
  55.  
  56.     public void setName(String name) { 
  57.         this.name = name
  58.     } 
  59.  
  60.     public void setType(String type) { 
  61.         this.type = type; 
  62.     } 
  63.  
  64.     public void setBlood(int blood) { 
  65.         this.blood = blood; 
  66.     } 
  67.  
  68.     public void setPhyattack(int phyattack) { 
  69.         this.phyattack = phyattack; 
  70.     } 
  71.  
  72.     public void setMagicattavk(int magicattavk) { 
  73.         Magicattavk = magicattavk; 
  74.     } 
  75.  
  76.     public void setPhyfangyu(int phyfangyu) { 
  77.         this.phyfangyu = phyfangyu; 
  78.     } 
  79.  
  80.     public void setAttavknum(int attavknum) { 
  81.         this.attavknum = attavknum; 
  82.     } 
  83.  
  84.     //受到普通攻击 
  85.     public  int  bnormalAttack(int attavknum){ 
  86.         if(this.phyfangyu-this.attavknum<=0){ 
  87.             int res = this.phyfangyu-this.attavknum; 
  88.             return  this.blood+res; 
  89.         } 
  90.         return blood-this.attavknum; 
  91.     } 
  92.     //普通攻击 
  93.     public  int  znormalAttack(){ 
  94.         if(this.type=="射手"||this.type=="战士"||this.type=="刺客"){ 
  95.             this.attavknum+=phyattack; 
  96.         } 
  97.         if(this.type=="法师"){ 
  98.             this.attavknum+=Magicattavk; 
  99.         } 
  100.        return attavknum; 
  101.     } 

②装备包

装备太多了,我主要写一些我平时比较喜欢的几个装备,有兴趣的盆友可以自己练习多写几个。

鞋子:

  1. package zhuangbei; 
  2. //抵抗之靴 
  3.  
  4.  
  5. public class Shoe { 
  6.     public  String name = "抵抗之靴"
  7.     public  int phyattack=200; 
  8.     public  int mckattack=0; 
  9.     public  int move = 200;//英雄移动速度+200; 
  10.  
  11.     public Shoe() { 
  12.  
  13.     } 
  14.  
  15.     public String getName() { 
  16.         return name
  17.     } 
  18.  
  19.     public void setName(String name) { 
  20.         this.name = name
  21.     } 
  22.  
  23.     public int getPhyattack() { 
  24.         return phyattack; 
  25.     } 
  26.  
  27.     public void setPhyattack(int phyattack) { 
  28.         this.phyattack = phyattack; 
  29.     } 
  30.  
  31.     public int getMckattack() { 
  32.         return mckattack; 
  33.     } 
  34.  
  35.     public void setMckattack(int mckattack) { 
  36.         this.mckattack = mckattack; 
  37.     } 
  38.  
  39.     public int getMove() { 
  40.         return move
  41.     } 
  42.  
  43.     public void setMove(int move) { 
  44.         this.move = move
  45.     } 

反甲:

  1. package zhuangbei; 
  2. //反甲 
  3. public class Fajia { 
  4.     public  String name = "反甲"
  5.     public  int phyattack = 40; 
  6.     public  int phyfanyu = 420; 
  7.     public  double fashang = 0.2; //冷却时间 
  8.  
  9.     public int getPhyattack() { 
  10.         return phyattack; 
  11.     } 
  12.  
  13.     public void setPhyattack(int phyattack) { 
  14.         this.phyattack = phyattack; 
  15.     } 
  16.  
  17.     public int getPhyfanyu() { 
  18.         return phyfanyu; 
  19.     } 
  20.  
  21.     public void setPhyfanyu(int phyfanyu) { 
  22.         this.phyfanyu = phyfanyu; 
  23.     } 
  24.  
  25.     public double getFashang() { 
  26.         return fashang; 
  27.     } 
  28.  
  29.     public void setFashang(double fashang) { 
  30.         this.fashang = fashang; 
  31.     } 

暗影战斧:

  1. package zhuangbei; 
  2. //暗影战斧 
  3.  
  4. public class Anyinzhanfu { 
  5.     public  String name = "暗影战斧"
  6.     public int phyattack = 85; //加物理攻击85 
  7.     public int blood = 500;   //生命值加500 
  8.     public int cool = 15;    //冷却缩减15 
  9.  
  10.     public int getPhyattack() { 
  11.         return phyattack; 
  12.     } 
  13.  
  14.     public void setPhyattack(int phyattack) { 
  15.         this.phyattack = phyattack; 
  16.     } 
  17.  
  18.     public int getBlood() { 
  19.         return blood; 
  20.     } 
  21.  
  22.     public void setBlood(int blood) { 
  23.         this.blood = blood; 
  24.     } 
  25.  
  26.     public int getCool() { 
  27.         return cool; 
  28.     } 
  29.  
  30.     public void setCool(int cool) { 
  31.         this.cool = cool; 
  32.     } 

③没有经济来源怎么行?野怪实现

我主要写了野猪,小鸟,河蟹,小兵的类。

野猪:

  1. package yeguai; 
  2.  
  3. public class Pig { 
  4.     public int num = 80; 
  5.  
  6.     public int getNum() { 
  7.         return num; 
  8.     } 
  9.  
  10.     public void setNum(int num) { 
  11.         this.num = num; 
  12.     } 

小鸟:

  1. package yeguai; 
  2.  
  3. public class Bird { 
  4.     public int num = 100; 
  5.  
  6.     public int getNum() { 
  7.         return num; 
  8.     } 
  9.  
  10.     public void setNum(int num) { 
  11.         this.num = num; 
  12.     } 

河蟹:

  1. package yeguai; 
  2.  
  3. public class Heixie { 
  4.     public  int num = 150; 
  5.  
  6.     public int getNum() { 
  7.         return num; 
  8.     } 
  9.  
  10.     public void setNum(int num) { 
  11.         this.num = num; 
  12.     } 

小兵:

  1. package yeguai; 
  2.  
  3. public class Xiaobing { 
  4.     public  int num = 150; 
  5.  
  6.     public int getNum() { 
  7.         return num; 
  8.     } 
  9.  
  10.     public void setNum(int num) { 
  11.         this.num = num; 
  12.     } 

开始游戏啦

  1. import Hero.Hero; 
  2. import yeguai.Bird; 
  3. import yeguai.Heixie; 
  4. import yeguai.Pig; 
  5. import yeguai.Xiaobing; 
  6. import zhuangbei.Anyinzhanfu; 
  7. import zhuangbei.Fajia; 
  8. import zhuangbei.Shoe; 
  9.  
  10. public class Deom { 
  11.     public static void main(String[] args) { 
  12.          Hero yase = new Hero("亚瑟","战士",1000,200,0,500,200,50,0); 
  13.  
  14.          System.out.println(yase.name); 
  15.         System.out.println(yase.money); 
  16.         //开始发育(先产生野怪,小兵,河蟹的实例化对象) 
  17.         Pig pig1 = new Pig(); 
  18.         Bird Bird = new Bird(); 
  19.         Xiaobing xiaobing = new Xiaobing(); 
  20.         Heixie heixie = new Heixie(); 
  21.         for(int i =0;i<=10;i++){  //打了10轮 
  22.             yase.money+=pig1.getNum()+Bird.getNum()+xiaobing.getNum()+heixie.getNum(); 
  23.         } 
  24.         System.out.println(yase.name+"的经济现在是"+yase.money); 
  25.  
  26.         //开始创建装备类 
  27.         System.out.println("购买装备前:"); 
  28.         System.out.println(yase.name+"当前的属性"+"生命值:"+yase.blood+"物理攻击:"+yase.phyattack+"法术攻击:"+yase.Magicattavk+ 
  29.                 " 物理防御:"+yase.phyfangyu+"移动速度:"+yase.move); 
  30.  
  31.         if(yase.money>=200){ 
  32.             Shoe shoe = new Shoe(); 
  33.             System.out.println(yase.name+"购买了"+shoe.name); 
  34.             yase.phyfangyu+=shoe.getPhyattack(); 
  35.             yase.move+=shoe.getMove(); 
  36.             yase.money=yase.money-200; 
  37.         } 
  38.         if(yase.money>=1200){ 
  39.             Fajia fajia = new Fajia(); 
  40.             System.out.println(yase.name+"购买了"+fajia .name); 
  41.             yase.phyattack+=fajia.getPhyattack(); //攻击力+ 
  42.             yase.phyfangyu+=fajia.getPhyfanyu();  //防御力+ 
  43.             yase.money=yase.money-1200; 
  44.         } 
  45.         if(yase.money>=2000){ 
  46.             Anyinzhanfu anyinzhanfu = new Anyinzhanfu(); 
  47.             System.out.println(yase.name+"购买了"+anyinzhanfu.name); 
  48.             yase.phyattack+=anyinzhanfu.getPhyattack(); //攻击力+ 
  49.             yase.blood+=anyinzhanfu.getBlood();  //生命力+ 
  50.             yase.money=yase.money-2000; 
  51.         } 
  52.         System.out.println("购买装备后:"); 
  53.         System.out.println(yase.name+"当前的属性"+"生命值:"+yase.blood+"物理攻击:"+yase.phyattack+"法术攻击:"+yase.Magicattavk+ 
  54.                 " 物理防御:"+yase.phyfangyu+"移动速度:"+yase.move); 
  55.     } 

我基本可以实现简单的创建一个英雄,实现刷野怪,购买装备的简单操作,后序我将实现英雄的三个技能和铭文的实现。

作者:沉默着忍受

编辑:陶家龙

出处:http://adkx.net/wkxf2

 

来源:adkx.net内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯