lehrkraefte:blc:informatik:ffprg2-2024:tetris

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:ffprg2-2024:tetris [2025/01/08 09:55] – [Code zum Starten] Ivo Blöchligerlehrkraefte:blc:informatik:ffprg2-2024:tetris [2025/01/20 12:36] (current) – [Code zum Starten] Ivo Blöchliger
Line 2: Line 2:
  
 ===== Code zum Starten ===== ===== Code zum Starten =====
-  * {{lehrkraefte:blc:informatik:ffprg2-2024:tetris.zip}} (Anfang 2-Spieler Version vom 8. Januar)+  * {{lehrkraefte:blc:informatik:ffprg2-2024:tetris.zip}} (spielbare 2-Spieler Version vom 20. Januar)
  
 Was schon läuft: Was schon läuft:
Line 31: Line 31:
 </code> </code>
  
 +==== Callback für Game-Handling ====
 +Ziel: Code in ui.js soll aufgerufen werden, wenn etwas Spezielles im Tetris-Objekt passiert, z.B.
 +  * Game over
 +  * mehr als eine Zeile auf einmal abgebaut wurde (damit dem Gegner welche «untergeschoben» werden können).
 +
 +Vorgehen: Beim Anlegen eines Tetris-Objekts wird ein Object mit Callbacks übergeben.
 +<code javascript>
 +function unterschieben(tetrisInstanz, anzahlLinien) {
 +   // Tu was mit der Tetris-Instanz
 +}
 +function machMalFertig() {
 +   // Tu wat
 +}
 +
 +tetris = new Tetris(raster, {"multipleLinesCallback":unterschieben, "gameOver":machMalFertig});
 +</code>
 +
 +In der Tetris-Klasse sieht die Sache dann wie folgt aus:
 +<code javascript>
 +   // im Constructor die callbacks speichern:
 +   this.callbacks = ...;
 +   
 +   // in der Funktion, die Linien abbaut, den Callback aufrufen
 +   this.callbacks["multipleLinesCallback"](this, anzahlZeilen);
 +</code>
  
  • lehrkraefte/blc/informatik/ffprg2-2024/tetris.1736330118.txt.gz
  • Last modified: 2025/01/08 09:55
  • by Ivo Blöchliger