《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 blog.csdn.net/ILOVEMYDEAR/article/details/116431337 「ILOVEMYDEAR」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

我是一个比较爱玩游戏的人,比如王者荣耀。我常常在想,如果我可以自己创造一个英雄那该多好,现在我要开始以自己的想法来实现我的愿望,也来练习练习自己对于java对象的认识。

一、前期准备

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

二、实现我的英雄梦!

1.英雄基本属性实现

package Hero;

//英雄的基本属性
public class Hero {
public String name; //英雄的名字
public String type; //英雄的职业
public int blood; //英雄的基本血量
public int phyattack; //英雄的基本物理攻击
public int Magicattavk; //英雄的基本法术攻击
public int phyfangyu; //英雄的基础防御
public int attavknum; //普通伤害的值
public int move; //移动速度
public int money; //经济


public Hero(String name, String type, int blood, int phyattack, int magicattavk, int phyfangyu,int attavknum,int move,int money) {
this.name = name;
this.type = type;
this.blood = blood;
this.phyattack = phyattack;
this.Magicattavk = magicattavk;
this.phyfangyu = phyfangyu;
this.attavknum= attavknum;
this.move= move;
this.money= money;
}


//受到普通攻击
public int bnormalAttack(int attavknum){
if(this.phyfangyu-this.attavknum<=0){
int res = this.phyfangyu-this.attavknum;
return this.blood+res;
}
return blood-this.attavknum;
}
//普通攻击
public int znormalAttack(){
if(this.type=="射手"||this.type=="战士"||this.type=="刺客"){
this.attavknum+=phyattack;
}
if(this.type=="法师"){
this.attavknum+=Magicattavk;
}
return attavknum;
}
}

2.装备包

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

package zhuangbei;
//抵抗之靴
/**
* 效果:减低敌方的攻击,也就是增加自己的物防
*/

public class Shoe {

public String name = "抵抗之靴";
public int phyattack=200;
public int mckattack=0;
public int move = 200;//英雄移动速度+200;

}

反甲

package zhuangbei;
//反甲
public class Fajia {

public String name = "反甲";
public int phyattack = 40;
public int phyfanyu = 420;
public double fashang = 0.2; //冷却时间

}

暗影战斧

package zhuangbei;
//暗影战斧
/*
*
* */
public class Anyinzhanfu {

public String name = "暗影战斧";
public int phyattack = 85; //加物理攻击85
public int blood = 500; //生命值加500
public int cool = 15; //冷却缩减15

}

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

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

package yeguai;

public class Pig {

public int num = 80;

}

小鸟

package yeguai;

public class Bird {

public int num = 100;

}

河蟹

package yeguai;

public class Heixie {

public int num = 150;

}

小兵

package yeguai;

public class Xiaobing {

public int num = 150;

}

开始游戏啦

import Hero.Hero;
import yeguai.Bird;
import yeguai.Heixie;
import yeguai.Pig;
import yeguai.Xiaobing;
import zhuangbei.Anyinzhanfu;
import zhuangbei.Fajia;
import zhuangbei.Shoe;

public class Deom {
public static void main(String[] args) {
Hero yase = new Hero("亚瑟","战士",1000,200,0,500,200,50,0);

System.out.println(yase.name);
System.out.println(yase.money);
//开始发育(先产生野怪,小兵,河蟹的实例化对象)
Pig pig1 = new Pig();
Bird Bird = new Bird();
Xiaobing xiaobing = new Xiaobing();
Heixie heixie = new Heixie();
for(int i =0;i<=10;i++){ //打了10轮
yase.money+=pig1.getNum()+Bird.getNum()+xiaobing.getNum()+heixie.getNum();
}
System.out.println(yase.name+"的经济现在是"+yase.money);

//开始创建装备类
System.out.println("购买装备前:");
System.out.println(yase.name+"当前的属性"+"生命值:"+yase.blood+"物理攻击:"+yase.phyattack+"法术攻击:"+yase.Magicattavk+
" 物理防御:"+yase.phyfangyu+"移动速度:"+yase.move);

if(yase.money>=200){
Shoe shoe = new Shoe();
System.out.println(yase.name+"购买了"+shoe.name);
yase.phyfangyu+=shoe.getPhyattack();
yase.move+=shoe.getMove();
yase.money=yase.money-200;
}
if(yase.money>=1200){
Fajia fajia = new Fajia();
System.out.println(yase.name+"购买了"+fajia .name);
yase.phyattack+=fajia.getPhyattack(); //攻击力+
yase.phyfangyu+=fajia.getPhyfanyu(); //防御力+
yase.money=yase.money-1200;
}
if(yase.money>=2000){
Anyinzhanfu anyinzhanfu = new Anyinzhanfu();
System.out.println(yase.name+"购买了"+anyinzhanfu.name);
yase.phyattack+=anyinzhanfu.getPhyattack(); //攻击力+
yase.blood+=anyinzhanfu.getBlood(); //生命力+
yase.money=yase.money-2000;
}
System.out.println("购买装备后:");
System.out.println(yase.name+"当前的属性"+"生命值:"+yase.blood+"物理攻击:"+yase.phyattack+"法术攻击:"+yase.Magicattavk+
" 物理防御:"+yase.phyfangyu+"移动速度:"+yase.move);
}
}

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

文章目录
  1. 1. 一、前期准备
  2. 2. 二、实现我的英雄梦!
    1. 2.1. 1.英雄基本属性实现
    2. 2.2. 2.装备包
    3. 2.3. 3.没有经济来源怎么行?野怪实现
  3. 3. 开始游戏啦