Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.57 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. class RuneLite {
  4.   public static void main(String[] args) {
  5.     Scanner scan = new Scanner(System.in);
  6.     Random rand = new Random();
  7.     Data data1 = new Data("Carson",99,99,99,99);
  8.     Data data2 = new Data("Goblin",99,1,99,99);
  9.     System.out.println(data1+"\n");
  10.     tick(600);
  11.     System.out.println(data2);
  12.     tick(600);
  13.    
  14.     while(data1.isAlive() && data2.isAlive()) {
  15.       System.out.println(data1.getHealthbar());
  16.       tick(600);
  17.       System.out.println(data2.getHealthbar());
  18.       tick(600);
  19.       System.out.println("\nA - Attack, ~ - Exit");
  20.       String input = scan.nextLine();
  21.       switch (input) {
  22.         case "~":
  23.           return;
  24.         case "a":
  25.           data1.dealDmg(data2);
  26.           tick(1200);
  27.           if(data2.isAlive()) {
  28.             data2.dealDmg(data1);
  29.             tick(1200);
  30.           }
  31.           System.out.println();
  32.           break;
  33.         default:
  34.           System.out.println("Invalid command.");
  35.           tick(600);
  36.           break;
  37.       }
  38.     }
  39.   }
  40.  
  41.   public static void tick(int amt) {
  42.     try{
  43.       Thread.sleep(amt);
  44.     }catch(Exception e) {}
  45.   }
  46.  
  47. }
  48.  
  49.  
  50. import java.util.Random;
  51.  
  52. class Data {
  53.   private String name;
  54.   private int atk;
  55.   private int str;
  56.   private int def;
  57.   private int cHp;
  58.   private int mHp;
  59.   private Random rand;
  60.  
  61.   public Data(String name, int atk, int str, int def, int mHp) {
  62.     this.name = name;
  63.     this.atk = atk;
  64.     this.str = str;
  65.     this.def = def;
  66.     this.mHp = mHp;
  67.     cHp = mHp;
  68.     rand = new Random();
  69.   }
  70.  
  71.   public void advanceLevel(String name, int amt) {
  72.     switch (name) {
  73.       case "atk":
  74.         atk += amt;
  75.         break;
  76.       case "str":
  77.         str += amt;
  78.         break;
  79.       case "def":
  80.         def += amt;
  81.         break;
  82.       case "hp":
  83.         mHp += amt;
  84.         cHp = mHp;
  85.         break;
  86.     }
  87.   }
  88.  
  89.   public void dealDmg(Data data) {
  90.     int accRoll = rand.nextInt(1000);
  91.     int accuracy = getAccuracy()-data.getDefAccuracy();
  92.     int dmg = 0;
  93.     if(accRoll < 500) {
  94.       dmg = rand.nextInt(getMaxHit())+1;
  95.     }
  96.     data.takeDmg(dmg);
  97.   }
  98.  
  99.   public void takeDmg(int amt) {
  100.     cHp -= amt;
  101.     System.out.println(name+" takes "+amt+" damage.");
  102.     if(!isAlive()) {
  103.       cHp = 0;
  104.       System.out.println(name+" has died.");
  105.     }
  106.   }
  107.  
  108.   public boolean isAlive() {
  109.     return cHp > 0;
  110.   }
  111.  
  112.   public void heal(int amt) {
  113.     cHp += amt;
  114.     if(cHp > mHp) cHp = mHp;
  115.   }
  116.  
  117.   public int getMaxHit() {
  118.     return Math.min(50,atk/8 + (int)(str/2.6) + mHp/19);
  119.   }
  120.  
  121.   public int getAccuracy() {
  122.     return (int)(201.851*Math.pow(atk/16.0,0.55))+400;
  123.   }
  124.  
  125.   public int getDefAccuracy() {
  126.     return (int)(198.805*Math.pow(def/32.0,0.55));
  127.   }
  128.  
  129.   public String getName() {
  130.     return name;
  131.   }
  132.  
  133.   public int getAtk() {
  134.     return atk;
  135.   }
  136.  
  137.   public int getStr() {
  138.     return str;
  139.   }
  140.  
  141.   public int getDef() {
  142.     return def;
  143.   }
  144.  
  145.   public int getMHp() {
  146.     return mHp;
  147.   }
  148.  
  149.   public int getCHp() {
  150.     return cHp;
  151.   }
  152.  
  153.   public String getHealthbar() {
  154.     String healthbar = name+": [";
  155.     int barLength = 10;
  156.     int unit = mHp/barLength;
  157.     for(int i=0; i<barLength; i++) {
  158.       if(i*unit<cHp) healthbar += "#";
  159.       else healthbar += " ";
  160.     }
  161.     healthbar += "] "+cHp+" / "+mHp;
  162.     return healthbar;
  163.   }
  164.  
  165.   @Override
  166.   public String toString() {
  167.     String res = "NAME: "+name+"\nHP: "+cHp+" / "+mHp+"\tATK: "+atk+"\nSTR: "+str+"\nDEF: "+def+"\nMAX HIT: "+getMaxHit();
  168.     return res;
  169.   }
  170.  
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement