| CODE |
| /* * Made by the member Alex of Fire Emblem Wars. * To use this calculator, change the variables, or stats (like "int user1Level"), * so they match with the fighters' stats. For example, if the first fighter had 25 HP, * I would change the first user's HP from 30 to 25. It would now look like: * int user1HP=25; * To judge the battle and come up with the outcome, click the arrow down next to the green right arrow. * Go to Run As * Click Java Application. * Copy and paste everything under "Console" at the bottom. */ /* * Made by the member Alex of Fire Emblem Wars. * To use this calculator, change the variables, or stats (like "int user1Level"), * so they match with the fighters' stats. For example, if the first fighter had 25 HP, * I would change the first user's HP from 30 to 25. It would now look like: * int user1HP=25; * To judge the battle and come up with the outcome, click the arrow down next to the green right arrow. * Go to Run As * Click Java Application. * Copy and paste everything under "Console" at the bottom. */ import java.util.*; public class BattleCalculator { public static void main(String[] args) { int user1Level=14; int user1HP=27; int user1StrengthOrMagic=16; int user1Skill=15; int user1Speed=15; int user1Luck=0; int user1DefenseOrResistance=0; int user1Con=10; int user1WeaponPower=7; int user1WeaponAccuracy=80; int user1WeaponCritical=5; int user1WeaponWeight=8; int user2Level=14; int user2HP=30; int user2StrengthOrMagic=20; int user2Skill=20; int user2Speed=10; int user2Luck=0; int user2DefenseOrResistance=0; int user2Con=10; int user2WeaponPower=8; int user2WeaponAccuracy=85; int user2WeaponCritical=10; int user2WeaponWeight=12; int user1Damage=getDamage(user1StrengthOrMagic, user1WeaponPower, user2DefenseOrResistance); int user1Critical=getCriticalRate(user1Skill, user1WeaponCritical, user2Luck); int user1AttackSpeed=getAttackSpeed(user1Speed, user1Skill, user1Con, user1WeaponWeight); int user1Evade=getEvade(user1Speed, user1Luck); int user2HitRate=getHitRate(user2Skill, user2Luck, user2WeaponAccuracy, user1Evade); int user2Damage=getDamage(user2StrengthOrMagic, user2WeaponPower, user1DefenseOrResistance); int user2Critical=getCriticalRate(user2Skill, user2WeaponCritical, user1Luck); int user2AttackSpeed=getAttackSpeed(user2Speed, user2Skill, user2Con, user2WeaponWeight); int user2Evade=getEvade(user2Speed, user2Luck); int user1HitRate=getHitRate(user1Skill, user1Luck, user1WeaponAccuracy, user2Evade); boolean user1DoubleAttack=doDoubleAttack(user1AttackSpeed, user2AttackSpeed); boolean user2DoubleAttack=doDoubleAttack(user2AttackSpeed, user1AttackSpeed); int userWhoAttacksFirst = whoAttacksFirst(user1AttackSpeed, user2AttackSpeed); System.out.println("User One Battle Finals: "); System.out.println("HP: " + user1HP); System.out.println("Hit: " + user1HitRate); System.out.println("Damage: " + user1Damage); System.out.println("Critical: " + user1Critical); System.out.println("Double Attack: " + user1DoubleAttack); System.out.println("\nUser Two Battle Finals: "); System.out.println("HP: " + user2HP); System.out.println("Hit: " + user2HitRate); System.out.println("Damage: " + user2Damage); System.out.println("Critical: " + user2Critical); System.out.println("DoubleAttack: " + user2DoubleAttack + "\n"); int c=0; int d=0; if(userWhoAttacksFirst==1){ while(user1HP>0 && user2HP>0) { boolean a = hitOrMiss(user1HitRate); if(a==true) { int user2HPHolder = user2HP; user2HP=takeOffHP(user2HP, user1Damage, user1Critical); if(user2HPHolder==user2HP+user1Damage*3) System.out.println("Critical! User Two has " + user2HP + " HP left."); else System.out.println("Hit! User Two has " + user2HP + " HP left."); c++; } else System.out.println("Miss! User Two has " + user2HP + " HP left."); boolean b; if(user2HP>0) { b = hitOrMiss(user2HitRate); if(b==true) { int user1HPHolder = user1HP; user1HP=takeOffHP(user1HP, user2Damage, user2Critical); if(user1HPHolder==user2Damage*3+user1HP) System.out.println("Critical! User One has " + user1HP + " HP left."); else System.out.println("Hit! User One has " + user1HP + " HP left."); d++; } else System.out.println("Miss! User One has " + user1HP + " HP left."); } if(user1DoubleAttack==true && user1HP>0 && user2HP>0) { a = hitOrMiss(user1HitRate); if(a==true) { int user2HPHolder = user2HP; user2HP=takeOffHP(user2HP, user1Damage, user1Critical); if(user2HPHolder==user2HP+user1Damage*3) System.out.println("Critical! User Two has " + user2HP + " HP left."); System.out.println("Hit! User Two has " + user2HP + " HP left."); c++; } else System.out.println("Miss! User Two has " + user2HP + " HP left."); } if(user2DoubleAttack==true && user2HP>0 && user1HP>0) { b = hitOrMiss(user2HitRate); if(b==true) { int user1HPHolder = user1HP; user1HP=takeOffHP(user1HP, user2Damage, user2Critical); if(user1HPHolder==user2Damage*3+user1HP) System.out.println("Critical! User One has " + user1HP + " HP left."); else System.out.println("Hit! User One has " + user1HP + " HP left."); d++; } else System.out.println("Miss! User One has " + user1HP + " HP left."); } } } else{ while(user1HP>0 && user2HP>0) { boolean a = hitOrMiss(user2HitRate); if(a==true) { int user1HPHolder = user1HP; user1HP=takeOffHP(user1HP, user2Damage, user2Critical); if(user1HPHolder==user1HP+user1Damage*3) System.out.println("Critical! User One has " + user1HP + " HP left."); else System.out.println("Hit! User One has " + user1HP + " HP left."); d++; } else System.out.println("Miss! User One has " + user1HP + " HP left."); boolean b; if(user1HP>0) { b = hitOrMiss(user1HitRate); if(b==true) { int user2HPHolder = user2HP; user2HP=takeOffHP(user2HP, user1Damage, user1Critical); if(user2HPHolder==user1Damage*3+user2HP) System.out.println("Critical! User Two has " + user2HP + " HP left."); else System.out.println("Hit! User Two has " + user2HP + " HP left."); c++; } else System.out.println("Miss! User Two has " + user1HP + " HP left."); } if(user1DoubleAttack==true && user1HP>0 && user2HP>0) { a = hitOrMiss(user1HitRate); if(a==true) { int user2HPHolder = user2HP; user2HP=takeOffHP(user2HP, user1Damage, user1Critical); if(user2HPHolder==user2HP+user1Damage*3) System.out.println("Critical! User Two has " + user2HP + " HP left."); System.out.println("Hit! User Two has " + user2HP + " HP left."); d++; } else System.out.println("Miss! User Two has " + user2HP + " HP left."); } if(user2DoubleAttack==true && user2HP>0 && user1HP>0) { b = hitOrMiss(user2HitRate); if(b==true) { int user1HPHolder = user1HP; user1HP=takeOffHP(user1HP, user2Damage, user2Critical); if(user1HPHolder==user2Damage*3+user1HP) System.out.println("Critical! User One has " + user1HP + " HP left."); else System.out.println("Hit! User One has " + user1HP + " HP left."); c++; } else System.out.println("Miss! User One has " + user1HP + " HP left."); } } } if (user1HP<=0) { System.out.println("\nUser Two Wins!"); System.out.println("User Two wins: " + getExperience(user2Level, user1Level) + " experience points, -" + d + " weapon uses."); System.out.println("User One loses: -" + c + "weapon uses."); } if (user2HP<=0) { System.out.println("\nUser One Wins!"); System.out.println("User One wins: " + getExperience(user1Level, user2Level) + " experience points, -" + c + " weapon uses."); System.out.println("User Two loses: -" + d + "weapon uses."); } } public static boolean hitOrMiss(int hitRate) { boolean hit=false; Random myRandom = new Random(); int randomNumberAverage=myRandom.nextInt(100)+1; System.out.print("( " + randomNumberAverage + " + "); int randomNumberTwo=myRandom.nextInt(100)+1; randomNumberAverage=randomNumberAverage + randomNumberTwo; System.out.print(randomNumberTwo); randomNumberAverage=randomNumberAverage/2; System.out.print(" /2 " + " = " + randomNumberAverage + " , "); if(randomNumberAverage<=hitRate) hit=true; if(randomNumberAverage>hitRate) hit=false; return(hit); } public static int takeOffHP (int health, int damage, int critical) { Random myRandom = new Random(); int randomNumber=myRandom.nextInt(100)+1; System.out.println(randomNumber + ": "); if(randomNumber<=critical) { damage=damage*3; } int hp = health-damage; return(hp); } public static int getHitRate (int skill, int luck, int weaponAccuracy, int evade) { int hitRate = (skill*2) + (luck/2)+ weaponAccuracy - evade; if(hitRate<0) hitRate=0; if(hitRate>100) hitRate=100; return(hitRate); } public static int getDamage (int strengthOrMagic, int weaponMight, int defenseOrResistance) { int damage = strengthOrMagic+weaponMight-defenseOrResistance; if(damage<0) damage=0; return(damage); } public static int getCriticalRate (int skill, int weaponCritical, int luck){ int critical = (skill/2) + weaponCritical - luck; if(critical<0) critical=0; return(critical); } public static int getAttackSpeed (int speed, int skill, int con, int weaponWeight) { int attackSpeed = (speed/2) + (skill/2); if (weaponWeight>con) attackSpeed = attackSpeed - (weaponWeight-con); if (attackSpeed<0) attackSpeed=0; return(attackSpeed); } public static int getEvade (int speed, int luck) { int evade = (speed*2) + luck; if (evade<0) evade=0; return(evade); } public static boolean doDoubleAttack (int user1AttackSpeed, int user2AttackSpeed) { boolean doubleAttack=false; if(user1AttackSpeed>=user2AttackSpeed+6) doubleAttack=true; return(doubleAttack); } public static int getExperience (int level, int level2) { int experience = 100 + (level2 - level)*2; return (experience); } public static int whoAttacksFirst (int userOneAttackSpeed, int userTwoAttackSpeed){ int a; if(userOneAttackSpeed>userTwoAttackSpeed) a=1; else if(userTwoAttackSpeed>userOneAttackSpeed) a=2; else a=0; return(a); } } |