Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:projects:minesweeper:spielfeld:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
api:projects:minesweeper:spielfeld:start [2020/12/28 19:52] – angelegt Martin Pabstapi:projects:minesweeper:spielfeld:start [2020/12/28 19:59] Martin Pabst
Zeile 7: Zeile 7:
 <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 16: Zeile 21:
    private int zeilen;          // Anzahl der Zeilen des Spielfelds    private int zeilen;          // Anzahl der Zeilen des Spielfelds
    private int minenAnzahl;     // Anzahl der vesteckten Minen    private int minenAnzahl;     // Anzahl der vesteckten Minen
-   private Minesweeper minesweeper;   // Das Spielfeld "kennt" das Minesweeper-Objekt und kann dessen öffentliche Methoden aufrufen. 
  
-   Spielfeld(int spalten, int zeilen, int minenAnzahl, Minesweeper minesweeper) {+   Spielfeld(int spalten, int zeilen, int minenAnzahl) {
       this.spalten = spalten;       this.spalten = spalten;
       this.zeilen = zeilen;       this.zeilen = zeilen;
-      this.minesweeper = minesweeper; 
       this.minenAnzahl = minenAnzahl;       this.minenAnzahl = minenAnzahl;
       zellen = new Zelle[spalten][zeilen];       zellen = new Zelle[spalten][zeilen];
Zeile 69: Zeile 72:
          }          }
       }       }
-   } 
- 
-   public Minesweeper getMinesweeper() { 
-      return minesweeper; 
    }    }
  
Zeile 167: Zeile 166:
     */     */
    public void setFahne(Zelle zelle) {    public void setFahne(Zelle zelle) {
-      if(minesweeper.getMinenCounter().getNumber() > 0) { 
          zelle.setZustand(zelle.getInhalt(), true, true);          zelle.setZustand(zelle.getInhalt(), true, true);
-         minesweeper.getMinenCounter().add(-1); 
-      } 
    }    }
  
Zeile 178: Zeile 174:
    public void löscheFahne(Zelle zelle) {    public void löscheFahne(Zelle zelle) {
       zelle.setZustand(zelle.getInhalt(), true, false);       zelle.setZustand(zelle.getInhalt(), true, false);
-      minesweeper.getMinenCounter().add(1); 
    }    }
  
Zeile 220: Zeile 215:
    }    }
  
-} +}</script> 
-</script>+
 <script type="text/plain" title="Zelle.java"> <script type="text/plain" title="Zelle.java">
 // Indizes der Sprites für die verschiedenen Zellbilder // Indizes der Sprites für die verschiedenen Zellbilder
Zeile 313: 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 339: 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 347: Zeile 341:
             inhalt = ZellBild.mine_explodiert;             inhalt = ZellBild.mine_explodiert;
             setZustand(inhalt, zugedeckt, fahne);             setZustand(inhalt, zugedeckt, fahne);
-            spielfeld.getMinesweeper().setZustand(Zustand.spiel_verloren); 
             return;             return;
          }          }
Zeile 360: Zeile 353:
             }             }
          }          }
-      } 
- 
-      // Spiel gewonnen? 
-      if(spielfeld.alleAufgedeckt()) { 
-         spielfeld.getMinesweeper().setZustand(Zustand.spiel_gewonnen); 
       }       }
                    
Zeile 373: Zeile 361:
    }    }
  
-   public Zustand getSpielZustand() { +
-      return spielfeld.getMinesweeper().getZustand(); +</script>
-   +
-}</script>+
 </div> </div>
 </HTML> </HTML>
api/projects/minesweeper/spielfeld/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki