# while Schleife - illegal start of type.



## Anfänger97 (5. Dez 2014)

Hey liebes Forum.
Ich bins wieder und bringe Probleme mit

Meine Aufgabe:
Ich soll ein textbasiertes Rollenspiel programmieren, wo Spieler gegen ein Monster kämpf.
Spieler und Monster sollen 100 HP und einen Angriffswert von 20 haben. Die Trefferchance liegt bei 0.7.
Der Spieler darf bis zu 3 Tränke benutzen, die ihm 20 HP zurückgeben, seine HP dürfen 100 aber nicht übersteigen. Sobald der Spieler den 4 Trank benutzen will, soll ein Fehler ausgegeben werden und das Monster ist an der Reihe.
Der Spieler kann auswählen zwischen case 1 und 2
1. wäre der Angriff, wobei geguckt wird, ob die Zufallszahl ZF größer als die 0.7 sind, falls ja ist der Angriff fehlgeschlagen. Falls kleiner wird dem Monster ATK*ZF HP abgezogen.
Falls er die 2 wählt, wird ein Trank wie oben bereits beschrieben benutzt und das Monster ist an der Reihe.
Nach jeder ''Runde'' sollen die aktuellen Lebens- und Angriffswerte ausgegeben werden, bis einer von beiden 0 HP hat, und somit verloren hat.



Habs glaube soweit eigentlich fertig? Zumindest seh ich da nichts falsches 

Nur gibt java mir : illegal start of type an und ich hab echt nicht den leisesten Schimmer wie ich das beheben kann. Hab die Suchfunktion benutzt aber iwie nichts gefunden, was mein Problem lösen konnte..


```
import java.util.Scanner ;

public class TEST {
  public static void main(String[] args){
    
    int shp = 100;
    int mhp = 100;
    int MAXSHP = 100;                                  
    int SATK = 20;
    int MATK = 20;
    double HIT = 0.7;
    int TRANK = 20;
    
    System.out.println("shp");
    System.out.print("SATK");
    System.out.println("mhp");
    System.out.print("MATK");  
  }
  
}
class TEST2{
  while (shp > 0 || mhp > 0){
    Scanner s = new Scanner(System.in);
    system.out.println("Was wollen Sie tun?: ");
    String eingabe = sc.next(); 
    if (Eingabe == 1) {
      double zf = Math.random();  
      if (zf >= HIT) {
        mhp=mhp-0;
        System.out.println("Angriff fehlgeschlagen!");
      }  else {
        mhp=(SATK*zf)-mhp;
        System.out.println("shp");
        System.out.print("SATK");
        System.out.println("mhp");
        System.out.print("MATK");  
      }
    } if (Eingabe == 2){
      int i = 3;  
      while (i >=3) {
        system.out.println("i Tränke sind noch verfügbar!");
        i=i-1; 
        
        //break;
        System.out.println("Keine Tränke mehr verfügbar!");
      }
    }     
    if (zf >= HIT) {
      double zf = Math.random();  
      shp=shp-0;
      System.out.println("Monsters Angriff fehlgeschlagen!");
    }  else {
      shp=(MATK*zf)-shp;
      System.out.println("shp");
      System.out.print("SATK");
      System.out.println("mhp");
      System.out.print("MATK");  
    }
    if (mhp=0); {
      system.out.println("Monster verliert. Spieler siegt");  
    } 
    if (shp=0){
      system.out.println ("Spieler verliert. Monster siegt");
    }
    
  }
  
}
```


Kann mir da jmd behilflich sein?


----------



## JavaMeister (5. Dez 2014)

Eine While Schleife außerhalb einer Methode???


----------



## Anfänger97 (5. Dez 2014)

public void kampf{


}...


ist das die richtige Lösung für mein Problem?


----------



## JavaMeister (5. Dez 2014)

nein.

Die korrekte Lösung für dein Problem habe ich meine ich schon in dem anderen Thread geschrieben. :rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm::rtfm:


----------



## Sogomn (5. Dez 2014)

Da kann man JavaMeister nur zustimmen. Du solltest vielleicht mit etwas kleinerem anfangen und viel lernen.


----------

