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:55] Martin Pabst
Zeile 16: Zeile 16:
    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 67:
          }          }
       }       }
-   } 
- 
-   public Minesweeper getMinesweeper() { 
-      return minesweeper; 
    }    }
  
Zeile 167: Zeile 161:
     */     */
    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 169:
    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 210:
    }    }
  
-} +}</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 303:
     */     */
    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 329:
     */     */
    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 336:
             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 348:
             }             }
          }          }
-      } 
- 
-      // Spiel gewonnen? 
-      if(spielfeld.alleAufgedeckt()) { 
-         spielfeld.getMinesweeper().setZustand(Zustand.spiel_gewonnen); 
       }       }
                    
Zeile 373: Zeile 356:
    }    }
  
-   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