Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:projects:minesweeper:spielfeld:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
api:projects:minesweeper:spielfeld:start [2020/12/28 19:54] Martin Pabstapi:projects:minesweeper:spielfeld:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 2: Zeile 2:
 [[../start|Zurück zur Hauptseite des Projekts Minesweeper]] \\ \\  [[../start|Zurück zur Hauptseite des Projekts Minesweeper]] \\ \\ 
  
-Ein Objekt der Klasse Spielfeld enthält viele Objekte der Klasse Zelle und stellt damit das gesamte Spielfeld im Grafikbereich dar.+Ein Objekt der Klasse Spielfeld enthält viele Objekte der Klasse Zelle und stellt damit das gesamte Spielfeld im Grafikbereich dar. Starte das Programm unten, decke mit der Maus verschiedene Zellen auf und entdecke - ausgehend von der Methode ''Zelle.onMouseUp'', welche Programmanweisungen nach dem Loslassen der Maustaste über einer Zelle ausgeführt werden.
  
 <HTML> <HTML>
 <div class="java-online" style="height: 620px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'Zelle'}"> <div class="java-online" style="height: 620px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'Zelle'}">
 <script type="text/plain" title="Spielfeld.java"> <script type="text/plain" title="Spielfeld.java">
 +Spielfeld sp = new Spielfeld(10, 15, 20);
 +sp.init();
 +
 +while(true);  // Endlos-Wiederholung, damit weiter Mausereignisse entgegengenommen werden
 +
 /** /**
  * Ein Objekt der Klasse Spielfeld enthält und verwaltet alle Zellen.  * Ein Objekt der Klasse Spielfeld enthält und verwaltet alle Zellen.
Zeile 303: Zeile 308:
     */     */
    public void onMouseEnter(double x, double y) {    public void onMouseEnter(double x, double y) {
-      if(zugedeckt && getSpielZustand() == Zustand.spiel_läuft) {+      if(zugedeckt) {
          vordergrund.tint("#ff8080");          vordergrund.tint("#ff8080");
          getWorld().setCursor("pointer");          getWorld().setCursor("pointer");
Zeile 329: Zeile 334:
     */     */
    public void onMouseUp(double x, double y, int key) {    public void onMouseUp(double x, double y, int key) {
-      if(getSpielZustand() != Zustand.spiel_läuft) return; 
  
       if(key == 0) {  // linke Maustaste, also aufdecken       if(key == 0) {  // linke Maustaste, also aufdecken
Zeile 336: Zeile 340:
          if(inhalt == ZellBild.mine) {          if(inhalt == ZellBild.mine) {
             inhalt = ZellBild.mine_explodiert;             inhalt = ZellBild.mine_explodiert;
-            setZustand(inhalt, zugedecktfahne); +            setZustand(inhalt, falsefalse);
-            spielfeld.getMinesweeper().setZustand(Zustand.spiel_verloren);+
             return;             return;
          }          }
Zeile 350: Zeile 353:
             }             }
          }          }
-      } 
- 
-      // Spiel gewonnen? 
-      if(spielfeld.alleAufgedeckt()) { 
-         spielfeld.getMinesweeper().setZustand(Zustand.spiel_gewonnen); 
       }       }
                    
Zeile 363: Zeile 361:
    }    }
  
-   public Zustand getSpielZustand() { +
-      return spielfeld.getMinesweeper().getZustand(); +</script>
-   +
-}</script>+
 </div> </div>
 </HTML> </HTML>
api/projects/minesweeper/spielfeld/start.1609181662.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki