Lernpfad:Hehomon/17

Aus Informatik-Box
Zur Navigation springen Zur Suche springen

Der letzte Schritt für unser Spiel. Ein Element fehlt noch, um die grafische Benutzeroberfläche (kurz GUI) komplett zu machen: Das Auswahlmenü für die Fähigkeiten des Angreifers, die vom Spieler ausgewählt werden können.

EA final.jpg

Das Menü ist ähnlich zur Anzeige. Es besteht aus einem dunklen Hintergrund und weißem Text. Das Menü hat aber statt einer Textzeile insgesamt vier, pro Fähigkeit eine. Die setText Methode wird um einen Parameter int zeile erweitert, der angibt, für welche Zeile der Text gesetzt werden soll.

Eine Mögliche Version eines Auswahlmenüs könnte so aussehen:

import ea.*;

public class Auswahlliste extends Knoten {
    
    private Rechteck hintergrund;
    
    private Text zeile1, zeile2, zeile3, zeile4;
    
    public Auswahlliste( int pX, int pY ) {
        hintergrund = new Rechteck(pX, pY, 400, 110);
        hintergrund.farbeSetzen(new Farbe(0, 0, 0, 133));
        add(hintergrund);
        
        zeile1 = new Text("", pX+5, pY+5, "Luckiest Guy Regular", 20, 0, "Weiss");
        zeile2 = new Text("", pX+5, pY+30, "Luckiest Guy Regular", 20, 0, "Weiss");
        zeile3 = new Text("", pX+5, pY+55, "Luckiest Guy Regular", 20, 0, "Weiss");
        zeile4 = new Text("", pX+5, pY+80, "Luckiest Guy Regular", 20, 0, "Weiss");
        add(zeile1);
        add(zeile2);
        add(zeile3);
        add(zeile4);
    }
    
    public void setText( int zeile, String pText ) {
        if( zeile == 1 ) {
            zeile1.setzeInhalt("A: " + pText);
        } else if( zeile == 2 ) {
            zeile2.setzeInhalt("S: " + pText);
        } else if( zeile == 3 ) {
            zeile3.setzeInhalt("D: " + pText);
        } else if( zeile == 4 ) {
            zeile4.setzeInhalt("F: " + pText);
        }
    }
    
}
BlueJ Logo.png
Arbeitsauftrag
  1. Übernehmt die Klasse Auswahlliste in euer Projekt und analysiert die Klasse.
  2. Erzeugt ein neues Objekt der Auswahlliste im Konstruktor der Arena und fügt sie dem Arena-Knoten hinzu.
  3. Setzt den Text der vier Zeilen auf die Namen der Fähigkeiten des Angreifer-Hehomons.
Lösung

Im Konstruktor von Arena:

        auswahl = new Auswahlliste(100, 500);
        auswahl.setText(1, angreifer.getNameAngr1());
        auswahl.setText(2, angreifer.getNameAngr2());
        auswahl.setText(3, angreifer.getNameVert1());
        auswahl.setText(4, angreifer.getNameVert2());
        add(auswahl);