1.今天用java做一个大型面向对象编程——LOL游戏
LOL数据建模:
(1)用户的游戏账号(昵称)
(2)用户所在的大区
(3)用户该局使用的英雄
(4)购买的装备
(5)英在该局雄击杀人数
(6)英雄在该局助攻人数
(7)英雄击杀小兵个数
(8)英雄击杀野怪个数
(9)英雄获得金币数
(10)本局获得积分
(11)用户获得总分
(12)本局得分 <20,英雄等级为1级
20< 本局得分 <40,英雄等级为2级
40< 本局得分 <60,英雄等级为3级
60< 本局得分 <80,英雄等级为2级
本局得分 >80,英雄等级为5级
注意:出了账号和所在大区,其他数据都是变动的
需求:
在程序中创建一个游戏用户对象
然后修改该用户对象的各个能直接修改的属性值
然后查看该用户的当前状态(即对象中的所有当前属性值)
装备类代码
package exe_lol;
public class equiment {
//装备名称
private String eName;
//装备价格
private float ePrice;
//装备被动
private String eFluent;
public equiment(String eName) {
this.eName = eName;
if(this.eName.equals("板甲")) {
this.ePrice = 3000;
this.eFluent = "加速";
System.out.println("板甲备需要花费金币:"+ this.ePrice);
System.out.println("板甲装备的效果:" + this.eFluent );
}
if(this.eName.equals("日炎")) {
this.ePrice = 2500;
this.eFluent = "灼烧";
System.out.println("日炎装备需要花费金币:" + this.ePrice );
System.out.println("日炎装备的效果:" + this.eFluent );
}
}
}
用户基本信息代码
package exe_lol;
import java.util.ArrayList;
public class player {
//游戏昵称
private String name;
//所在大区
private String missionId;
//使用英雄
private String hero;
//装备
private ArrayList<equiment> pdts ;
//助攻数
private int assistants;
//击杀数
private int kills;
//击杀小兵数
private int killsolid;
//击杀野怪数
private int creeps;
//获得金钱数
private int money;
//当局得分
private int missSocre;
//总得分
private int accont;
//英雄等级
private int heroLevel;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMissionId() {
return missionId;
}
public void setMissionId(String missionId) {
this.missionId = missionId;
}
public String getHero() {
return hero;
}
public void setHero(String hero) {
this.hero = hero;
}
public ArrayList<equiment> getPdts() {
return pdts;
}
public void setPdts(ArrayList<equiment> pdts) {
this.pdts = pdts;
}
public int getAssistants() {
return assistants;
}
public void setAssistants(int assistants) {
this.assistants = assistants;
}
public int getKills() {
return kills;
}
public void setKills(int kills) {
this.kills = kills;
}
public int getKillsolid() {
return killsolid;
}
public void setKillsolid(int killsolid) {
this.killsolid = killsolid;
}
public int getCreeps() {
return creeps;
}
public void setCreeps(int creeps) {
this.creeps = creeps;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
public int getMissSocre() {
return missSocre;
}
public void setMissSocre(int missSocre) {
this.missSocre = missSocre;
}
public int getAccont() {
return accont;
}
public void setAccont(int accont) {
this.accont = accont;
}
public int getHeroLevel() {
return heroLevel;
}
public void setHeroLevel(int heroLevel) {
this.heroLevel = heroLevel;
}
public void addAssistants() {
//助攻加1
this.assistants++;
//金钱加100
this.money += 300;
//当局得分加5
this.missSocre += 5;
//总得分加2
this.accont += 2;
//判断英雄等级
this.addHeroLevel();
}
public void addAssistantsNumber() {
System.out.println("助攻人头总数" + this.assistants);
}
public void addEquiment(equiment equiment) {
if(this.money > 3000) {
this.pdts.add(equiment);
System.out.println("购买成功");
}else {
System.out.println("金钱不够,不能买装备");
}
//金钱减3000
this.money -= 3000;
//当局得分加5
this.missSocre += 5;
//总得分加2
this.accont += 2;
//判断英雄等级
this.addHeroLevel();
}
public void addKillSolid() {
this.killsolid++;
//金钱加100
this.money += 100;
//当局得分加5
this.missSocre += 5;
//总得分加2
this.accont += 2;
//判断英雄等级
this.addHeroLevel();
}
//击杀小兵总数
public void addKillSolidNumber() {
System.out.println("击杀小兵数" + this.killsolid);
}
public void addKills() {
this.kills++;
//金钱加2000
this.money += 2000;
//当局得分加5
this.missSocre += 5;
//总得分加2
this.accont += 2;
//判断英雄等级
this.addHeroLevel();
}
public void addKillsNumber() {
System.out.println("击杀人头总数" + this.kills);
}
public void addkillCreep() {
this.creeps++;
//金钱加100
this.money += 100;
//当局得分加5
this.missSocre += 5;
//总得分加2
this.accont += 2;
//判断英雄等级
this.addHeroLevel();
}
public void addKillCreepNumeber() {
System.out.println("击杀野怪总数" + this.creeps);
}
public void sumMoney() {
System.out.println("金钱总数" + this.money);
}
public void sumMissScore() {
System.out.println("该局分数是:" + this.missSocre);
}
public void sumAccount() {
System.out.println("总的分是:" + this.accont);
}
//私有成员方法,只能在该类中调用
private void addHeroLevel() {
if(this.missSocre < 20) {
this.heroLevel = 1;
}else if(this.missSocre < 40) {
this.heroLevel = 2;
}else if(this.missSocre < 60) {
this.heroLevel = 3;
}else if (this.missSocre < 80) {
this.heroLevel = 4;
}else {
this.heroLevel = 5;
}
}
}
用户测试代码
package exe_lol;
import java.util.ArrayList;
public class play_test {
public static void main(String[] args) {
player p1 =new player();
//用户名
p1.setName("牛牛");
// System.out.println(p1.getName());
//所在大区
p1.setMissionId("守望之海");
// System.out.println(p1.getMissionId());
//所用英雄
p1.setHero("赵信");
// System.out.println(p1.getHero());
//击杀小兵
p1.addKillSolid();
p1.addKillSolid();
p1.addKillSolid();
p1.addKillSolid();
p1.addKillSolid();
//统计击杀小兵数
p1.addKillSolidNumber();
//击杀人头
p1.addKills();
p1.addKills();
//统计击杀人头总数
p1.addKillsNumber();
//助攻
p1.addAssistants();
p1.addAssistants();
p1.addAssistants();
//统计助攻总数
p1.addAssistantsNumber();
//击杀野怪
p1.addkillCreep();
p1.addkillCreep();
p1.addkillCreep();
p1.addkillCreep();
//统计击杀野怪总数
p1.addKillCreepNumeber();
//获得宗金钱数
p1.sumMoney();
//买装备
ArrayList<equiment> ps = new ArrayList<equiment>();
equiment p2 = new equiment("日炎");
equiment p3 = new equiment("板甲");
ps.add(p2);
ps.add(p3);
p1.setPdts(ps);
p1.addEquiment(p2);
p1.addEquiment(p3);
//查询剩余金币数
p1.sumMoney();
System.out.println("游戏结束");
//查询本局得分
p1.sumMissScore();
//查询总的分
p1.sumAccount();
}
}
输出的结果截图为: