api:projects:minesweeper:zelle:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
api:projects:minesweeper:zelle:start [2020/12/28 19:40] – angelegt Martin Pabst | api:projects:minesweeper:zelle:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Projekt Minesweeper: | ====== Projekt Minesweeper: | ||
[[../ | [[../ | ||
+ | |||
+ | Ein Objekt der Klasse Zelle stellt eine quadratische Zelle des Spielfelds dar. Mithilfe der Methode '' | ||
< | < | ||
Zeile 6: | Zeile 8: | ||
<script type=" | <script type=" | ||
+ | // Kurzes Hauptprogramm zum Testen der Klasse Zelle und ihrer Methoden | ||
+ | Zelle zelle1 = new Zelle(0, 0, 0); | ||
+ | Zelle zelle2 = new Zelle(3, 2, 0); | ||
+ | |||
+ | zelle1.aufdecken(); | ||
+ | zelle2.setZustand(15, | ||
+ | |||
+ | // Indizes der Sprites für die verschiedenen Zellbilder | ||
+ | class ZellBild { | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Die Klasse Zelle repräsentiert eine quadratische Zelle des Spielfeldes. Sie wird mithilfe von | ||
+ | * zwei Sprites gezeichnet: dem Hintergrund (Zell-Objekt ist selbst ein Sprite) und dem Vordergrund | ||
+ | * (gleichnamiges Attribut). | ||
+ | */ | ||
+ | class Zelle extends Sprite { | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | super(spalte * 16 + 20, zeile *16 + 20, SpriteLibrary.Minesweeper, | ||
+ | vordergrund = new Sprite(spalte * 16 + 20, zeile *16 + 20, SpriteLibrary.Minesweeper, | ||
+ | this.spalte = spalte; | ||
+ | this.zeile = zeile; | ||
+ | setZustand(zustand, | ||
+ | } | ||
+ | |||
+ | | ||
+ | return inhalt; | ||
+ | } | ||
+ | |||
+ | | ||
+ | return zeile; | ||
+ | } | ||
+ | |||
+ | | ||
+ | return spalte; | ||
+ | } | ||
+ | |||
+ | | ||
+ | return zugedeckt; | ||
+ | } | ||
+ | |||
+ | | ||
+ | return fahne; | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Ändert sich der Zustand der Zelle, so sorgt die Methode setZustand dafür, | ||
+ | * dass die Bilder der Sprites entsprechend gesetzt werden. | ||
+ | */ | ||
+ | | ||
+ | if(zugedeckt) { | ||
+ | | ||
+ | vordergrund.setImageIndex(ZellBild.fahne); | ||
+ | } else { | ||
+ | vordergrund.setImageIndex(ZellBild.zugedeckt); | ||
+ | } | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | this.zugedeckt = zugedeckt; | ||
+ | this.fahne = fahne; | ||
+ | this.inhalt = inhalt; | ||
+ | } | ||
+ | |||
+ | | ||
+ | super.destroy(); | ||
+ | vordergrund.destroy(); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Wird vom Browser aufgerufen, wenn der Mauszeiger sich von außen in die Zelle hineinbewegt | ||
+ | */ | ||
+ | | ||
+ | if(zugedeckt) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Wird vom Browser aufgerufen, wenn der Mauszeiger sich aus der Zelle | ||
+ | * hinausbewegt. | ||
+ | */ | ||
+ | | ||
+ | vordergrund.tint("# | ||
+ | getWorld().setCursor(" | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Wird vom Browser aufgerufen, wenn eine der Maustasten nach unten gedrückt wird. | ||
+ | */ | ||
+ | | ||
+ | vordergrund.tint("# | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * Wird vom Browser aufgerufen, wenn eine der Maustasten losgelassen wird. | ||
+ | */ | ||
+ | | ||
+ | } | ||
+ | |||
+ | | ||
+ | setZustand(inhalt, | ||
+ | } | ||
+ | |||
+ | } | ||
</ | </ | ||
</ | </ | ||
</ | </ |
api/projects/minesweeper/zelle/start.1609180812.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)