From fe1abe5757e4b66aabc74a6e27697b4dc7b42ef9 Mon Sep 17 00:00:00 2001 From: Chris Kearney <chris.kearney@urbanairship.com> Date: Wed, 27 Aug 2014 23:22:46 -0700 Subject: [PATCH] ok --- .../java/com/comandante/creeper/Main.java | 3 +- .../managers/NewUserRegistrationManager.java | 4 +- .../com/comandante/creeper/model/Stats.java | 32 ++++++--- .../creeper/model/StatsBuilder.java | 68 +++++++++++++++++++ .../com/comandante/creeper/npc/Derper.java | 4 +- 5 files changed, 97 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/comandante/creeper/model/StatsBuilder.java diff --git a/src/main/java/com/comandante/creeper/Main.java b/src/main/java/com/comandante/creeper/Main.java index b5f7dd57..595c1901 100644 --- a/src/main/java/com/comandante/creeper/Main.java +++ b/src/main/java/com/comandante/creeper/Main.java @@ -10,6 +10,7 @@ import com.comandante.creeper.managers.RoomManager; import com.comandante.creeper.model.Player; import com.comandante.creeper.model.PlayerMetadata; import com.comandante.creeper.model.Stats; +import com.comandante.creeper.model.StatsBuilder; import com.comandante.creeper.npc.Derper; import com.comandante.creeper.server.CreeperServer; import org.apache.commons.codec.binary.Base64; @@ -31,7 +32,7 @@ public class Main { EntityManager entityManager = new EntityManager(roomManager, db); PlayerManager playerManager = new PlayerManager(db); - Stats chrisBrianStats = new Stats(7, 8, 6, 5, 4, 10, 100,10, 20, 1); + Stats chrisBrianStats = new StatsBuilder().setStrength(7).setWillpower(8).setAim(6).setAgile(5).setArmorRating(4).setMeleSkill(10).setHealth(100).setWeaponRatingMin(10).setWeaponRatingMax(20).setNumberweaponOfRolls(1).createStats(); if (playerManager.getPlayerMetadata(new Player("chris").getPlayerId()) == null) { System.out.println("Creating Chris User."); playerManager.savePlayerMetadata(new PlayerMetadata("chris", "poop", new String(Base64.encodeBase64("chris".getBytes())), chrisBrianStats)); diff --git a/src/main/java/com/comandante/creeper/managers/NewUserRegistrationManager.java b/src/main/java/com/comandante/creeper/managers/NewUserRegistrationManager.java index 81367379..0e6ef752 100644 --- a/src/main/java/com/comandante/creeper/managers/NewUserRegistrationManager.java +++ b/src/main/java/com/comandante/creeper/managers/NewUserRegistrationManager.java @@ -3,7 +3,7 @@ package com.comandante.creeper.managers; import com.comandante.creeper.model.Player; import com.comandante.creeper.model.PlayerMetadata; -import com.comandante.creeper.model.Stats; +import com.comandante.creeper.model.StatsBuilder; import com.comandante.creeper.server.CreeperSession; import com.google.common.base.Optional; import org.jboss.netty.channel.MessageEvent; @@ -58,7 +58,7 @@ public class NewUserRegistrationManager { return; } session.setPassword(Optional.of(password)); - PlayerMetadata playerMetadata = new PlayerMetadata(session.getUsername().get(), session.getPassword().get(), new Player(session.getUsername().get()).getPlayerId(), new Stats(7, 8, 6, 5, 4, 10, 100, 10, 20, 1)); + PlayerMetadata playerMetadata = new PlayerMetadata(session.getUsername().get(), session.getPassword().get(), new Player(session.getUsername().get()).getPlayerId(), new StatsBuilder().setStrength(7).setWillpower(8).setAim(6).setAgile(5).setArmorRating(4).setMeleSkill(10).setHealth(100).setWeaponRatingMin(10).setWeaponRatingMax(20).setNumberweaponOfRolls(1).createStats()); playerManager.savePlayerMetadata(playerMetadata); e.getChannel().write("User created.\r\n"); session.setState(CreeperSession.State.newUserRegCompleted); diff --git a/src/main/java/com/comandante/creeper/model/Stats.java b/src/main/java/com/comandante/creeper/model/Stats.java index d918d948..6f10c017 100644 --- a/src/main/java/com/comandante/creeper/model/Stats.java +++ b/src/main/java/com/comandante/creeper/model/Stats.java @@ -124,7 +124,29 @@ public class Stats implements Serializable { int totalVictimWin = 0; int NUM_EXECUTION = 30000; for (int i = 0; i < NUM_EXECUTION; i++) { - boolean results = fight(new Stats(10, 2, 2, 2, 2, 10, 100, 10, 20, 1), new Stats(5, 1, 1, 1, 5, 1, 100, 5, 10, 1)); + boolean results = fight( + new StatsBuilder() + .setStrength(10) + .setWillpower(2) + .setAim(2) + .setAgile(2) + .setArmorRating(2) + .setMeleSkill(10) + .setHealth(100) + .setWeaponRatingMin(10) + .setWeaponRatingMax(20) + .setNumberweaponOfRolls(1).createStats(), + new StatsBuilder() + .setStrength(5) + .setWillpower(1) + .setAim(1) + .setAgile(1) + .setArmorRating(5) + .setMeleSkill(1) + .setHealth(100) + .setWeaponRatingMin(5) + .setWeaponRatingMax(10) + .setNumberweaponOfRolls(1).createStats()); //strength, willpower, aim, agile, armorRating, meleSkill, health, weaponRatingMin, weaponRatingMax, numberweaponOfRolls if (results) { totalChallengerWin++; @@ -162,35 +184,27 @@ public class Stats implements Serializable { damageToVictim = getAttack(challenger, victim); chanceToHitVictim = (challenger.getStrength() + challenger.getMeleSkill()) * 5 - victim.getAgile() * 5; if (randInt(0, 100) < chanceToHitVictim) { - // System.out.println("Attack landed on victim for : " + damageToVictim + " damage."); victim.setHealth(victim.getHealth() - damageToVictim); TOTAL_DAMAGE_CHALLENGER = TOTAL_DAMAGE_CHALLENGER + damageToVictim; - // System.out.println("Victim has: " + victim.getHealth() + " health left."); NO_HITS_CHALLENGER++; } else { - // System.out.println("Miss!"); NO_MISSES_CHALLENGER++; } damageToChallenger = getAttack(victim, challenger); chanceToHitChallenger = (victim.getStrength() + victim.getMeleSkill()) * 5 - (challenger.getAgile() * 5); if (randInt(0, 100) < chanceToHitChallenger) { - // System.out.println("Attack landed on challenger for : " + damageToChallenger + " damage."); challenger.setHealth(challenger.getHealth() - damageToChallenger); TOTAL_DAMAGE_VICTIM = TOTAL_DAMAGE_VICTIM + damageToVictim; NO_HITS_VICTIM++; - // System.out.println("Challenger has: " + challenger.getHealth() + " health left."); } else { - //System.out.println("Miss!"); NO_MISSES_VICTIM++; } } if (challenger.getHealth() > victim.getHealth()) { - //System.out.println("CHALLENGER WINS!"); return true; } else { - // System.out.println("VICTIM WINS!"); return false; } diff --git a/src/main/java/com/comandante/creeper/model/StatsBuilder.java b/src/main/java/com/comandante/creeper/model/StatsBuilder.java new file mode 100644 index 00000000..4e5cf483 --- /dev/null +++ b/src/main/java/com/comandante/creeper/model/StatsBuilder.java @@ -0,0 +1,68 @@ +package com.comandante.creeper.model; + +public class StatsBuilder { + private int strength; + private int willpower; + private int aim; + private int agile; + private int armorRating; + private int meleSkill; + private int health; + private int weaponRatingMin; + private int weaponRatingMax; + private int numberweaponOfRolls; + + public StatsBuilder setStrength(int strength) { + this.strength = strength; + return this; + } + + public StatsBuilder setWillpower(int willpower) { + this.willpower = willpower; + return this; + } + + public StatsBuilder setAim(int aim) { + this.aim = aim; + return this; + } + + public StatsBuilder setAgile(int agile) { + this.agile = agile; + return this; + } + + public StatsBuilder setArmorRating(int armorRating) { + this.armorRating = armorRating; + return this; + } + + public StatsBuilder setMeleSkill(int meleSkill) { + this.meleSkill = meleSkill; + return this; + } + + public StatsBuilder setHealth(int health) { + this.health = health; + return this; + } + + public StatsBuilder setWeaponRatingMin(int weaponRatingMin) { + this.weaponRatingMin = weaponRatingMin; + return this; + } + + public StatsBuilder setWeaponRatingMax(int weaponRatingMax) { + this.weaponRatingMax = weaponRatingMax; + return this; + } + + public StatsBuilder setNumberweaponOfRolls(int numberweaponOfRolls) { + this.numberweaponOfRolls = numberweaponOfRolls; + return this; + } + + public Stats createStats() { + return new Stats(strength, willpower, aim, agile, armorRating, meleSkill, health, weaponRatingMin, weaponRatingMax, numberweaponOfRolls); + } +} \ No newline at end of file diff --git a/src/main/java/com/comandante/creeper/npc/Derper.java b/src/main/java/com/comandante/creeper/npc/Derper.java index c387f788..d698d10b 100644 --- a/src/main/java/com/comandante/creeper/npc/Derper.java +++ b/src/main/java/com/comandante/creeper/npc/Derper.java @@ -2,7 +2,7 @@ package com.comandante.creeper.npc; import com.comandante.creeper.managers.GameManager; -import com.comandante.creeper.model.Stats; +import com.comandante.creeper.model.StatsBuilder; import java.util.Arrays; import java.util.List; @@ -22,7 +22,7 @@ public class Derper extends Npc { .append(RESET).toString(); public Derper(GameManager gameManager, Integer roomId) { - super(gameManager, roomId, NAME, colorName, 0, new Stats(7, 8, 6, 5, 4, 10, 100,10, 20, 1)); + super(gameManager, roomId, NAME, colorName, 0, new StatsBuilder().setStrength(7).setWillpower(8).setAim(6).setAgile(5).setArmorRating(4).setMeleSkill(10).setHealth(100).setWeaponRatingMin(10).setWeaponRatingMax(20).setNumberweaponOfRolls(1).createStats()); this.random = new Random(); } -- GitLab