Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.66 KB | None | 0 0
  1. import java.util.ArrayList; // Funktionen för arraylist finns inbyggd, importerar den för att vi ska kunna jobba med vår egna arraylist
  2.  
  3. public class SuperHjalte // Skapar vår klass superhjälte
  4. {
  5.     private ArrayList<SuperVapen> vapen; // Deklarerar ett fält av typen ArrayList
  6.     private String namn; // Deklarerar en variabel som som heter namn och är av typen String
  7.     private String overvakadStad; // Deklarerar en variabel som heter overvakadStad och är av typen String
  8.  
  9.     public SuperHjalte(String namn, String overvakadStad) // konstruktor för vår klass
  10.     {
  11.         this.vapen = new ArrayList<>();
  12.         this.namn = namn;
  13.         this.overvakadStad = overvakadStad;
  14.     }
  15.  
  16.     public void addSuperVapen(SuperVapen vapen) // Vår metod för att lägga in superhjältens vapen
  17.     {
  18.         String vapenNamn = vapen.getNamn(); // Spara vapennamn som lokal variabel så vi kan använda sen
  19.         boolean nameExists = false; // Vår bool för att se om vapennamnet redan finns
  20.         for(int i = 0; i < this.vapen.size(); i++) // Iterera vår vapenlista och se om namnet förekommer i listan
  21.         {
  22.             if(this.vapen.get(i).getNamn().equals(vapenNamn)) // Kontroll av vapennamnet, finns den så körs nedanstående
  23.             {
  24.                 // Förekommer namnet så slutar vi iterera och sätter vår boolean till true
  25.                 nameExists = true;
  26.                 System.out.println("Superhjälten har redan ett supervapen med namnet: " + vapenNamn);
  27.                 break;
  28.             }
  29.         }
  30.         if(!nameExists) // Om vapnet ej finns läggs den in i vår arraylist och meddelandet skrivs ut på skärmen
  31.         {
  32.             this.vapen.add(vapen);
  33.             System.out.println("Ett nytt supervapen har registreras för superhjälten");
  34.         }
  35.     }
  36.  
  37.     public String getNamn(){ // Returnerar namnet på vår hjälte
  38.         return this.namn;
  39.     }
  40.  
  41.     public String getOvervakadStad(){ // Returnerar namnet på vår övervakade stad
  42.         return this.overvakadStad;
  43.     }
  44.  
  45.     public void printInfo(){  // Vår metod för att få information om hjältens namn, stad, vapen och antal laddningar
  46.         System.out.println("Superhjälten " + this.getNamn() + " vakar över staden " + this.getOvervakadStad());  // Använder oss av metoderna ovanför för att få inmatade namnet och staden
  47.         System.out.println("Hjältens supervapen: ");
  48.         for(int i = 0; i < this.vapen.size(); i++) // Itererar vår array för att få vapennamn och antal laddningar
  49.         {
  50.             SuperVapen iterVapen = this.vapen.get(i);  
  51.             System.out.println(iterVapen.getNamn() + " antal laddningar " + this.vapen.get(i).getAntalLaddningar()); // Skriver ut namnet plus antal laddningar
  52.         }
  53.  
  54.     }
  55.  
  56.     public void anvandVapen(String vapen, int laddningar) // Metoden för att få skjuta vapen och kontrollera antal laddningar
  57.     {
  58.         for(int i = 0; i < this.vapen.size(); i++) // Iterera vår vapenlista igen
  59.         {
  60.             if(this.vapen.get(i).getNamn().equals(vapen)) // Kontrollera om vapnet har skjutit
  61.             {
  62.                 boolean weaponFired = false;
  63.                 SuperVapen valtVapen = this.vapen.get(i);
  64.                 if(valtVapen.getAntalLaddningar() >= laddningar) { // Kolla om det finns tillräckligt många laddningar
  65.                     weaponFired = true;
  66.                     for(int y = 0; y < laddningar; y++)
  67.                     {
  68.                         valtVapen.anvandSuperVapen(); // Skjut vapnet så många ggr som det var angivet i parametern
  69.                     }
  70.                     System.out.println("Supervapen har använts och det finns nu "+ valtVapen.getAntalLaddningar() + " kvar");
  71.                 }
  72.                 if(!weaponFired) // Om vapnet inte har skjutits skriver vi ut något annat
  73.                 {
  74.                     System.out.println("Det fanns inte tillräckligt antal laddningar kvar, försök med ett annat supervapen istället");
  75.                 }
  76.             }
  77.         }      
  78.     }
  79.  
  80.     public int getTotaltAntalLaddningar() // Vår metod för att hämta antalladdningar och addera till totalet
  81.     {
  82.         int antalLaddningar = 0;
  83.         for(int i = 0; i < this.vapen.size(); i++) // Iterera vår vapenlista
  84.         {
  85.             antalLaddningar += this.vapen.get(i).getAntalLaddningar(); // Hämta antalLaddningar och addera till totalet
  86.         }
  87.         return antalLaddningar;
  88.     }
  89.  
  90.     public void printTotaltAntalLaddningar() // Skriv ut totalt antal laddningar
  91.     {
  92.  
  93.         System.out.println("Hjälten " + this.getNamn() + " har " + this.getTotaltAntalLaddningar() + " laddningar kvar!");
  94.  
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement