⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《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. 开始游戏啦