Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:projects:snake:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
api:projects:snake:start [2024/08/31 10:03] – angelegt - Externe Bearbeitung 127.0.0.1api:projects:snake:start [2025/06/29 05:51] (aktuell) – [Snake] martin
Zeile 4: Zeile 4:
   * In der ersten Version ist die Klasse ''Snake'' eine Unterklasse von ''Group'', die den Schlangenkörper in Form von lauter Kreisen enthält. Der Kopf ist ein rot gefärbter Kreis. Die Schlange kriecht, indem vorne ein neuer Kopf hinzugefügt wird, der alte Kopf hellblau gefärbt (und damit zu einem Körperstück) wird und am hinteren Ende ein Kreis entfernt wird.   * In der ersten Version ist die Klasse ''Snake'' eine Unterklasse von ''Group'', die den Schlangenkörper in Form von lauter Kreisen enthält. Der Kopf ist ein rot gefärbter Kreis. Die Schlange kriecht, indem vorne ein neuer Kopf hinzugefügt wird, der alte Kopf hellblau gefärbt (und damit zu einem Körperstück) wird und am hinteren Ende ein Kreis entfernt wird.
   * In der zweiten Version füllt ein Objekt der Klasse ''Bitmap'' mit der Auflösung von 30x30 Punkten den kompletten Grafikausgabebereich. Jeder Punkt er Bitmap wird als Quadrat dargestellt, dessen Farbe man mit der Methode ''bitmap.setColor'' setzen und mit ''bitmap.getColor'' auslesen kann. Der Schlangenkörper besteht einfach nur aus gefärbten Punkten der Bitmap. Damit das jeweils letzte Schlangenglied gelöscht werden kann, muss die Schlange die Koordinaten aller ihrer Glieder (einschließlich des Kopfes) speichern. Dazu dienen die Arrays ''punkteX'' und ''punkteY''   * In der zweiten Version füllt ein Objekt der Klasse ''Bitmap'' mit der Auflösung von 30x30 Punkten den kompletten Grafikausgabebereich. Jeder Punkt er Bitmap wird als Quadrat dargestellt, dessen Farbe man mit der Methode ''bitmap.setColor'' setzen und mit ''bitmap.getColor'' auslesen kann. Der Schlangenkörper besteht einfach nur aus gefärbten Punkten der Bitmap. Damit das jeweils letzte Schlangenglied gelöscht werden kann, muss die Schlange die Koordinaten aller ihrer Glieder (einschließlich des Kopfes) speichern. Dazu dienen die Arrays ''punkteX'' und ''punkteY''
 +Beide Programme sind nur sehr **unvollständige Projektvorlagen**. 
 </WRAP> </WRAP>
  
Zeile 249: Zeile 250:
          int x = Math.floor(Math.random() * 31);          int x = Math.floor(Math.random() * 31);
          int y = Math.floor(Math.random() * 31);          int y = Math.floor(Math.random() * 31);
-         bitmap.setColor(x, y, Color.green);+         bitmap.setColor(x, y, 0x00ff00);
       }       }
  
Zeile 287: Zeile 288:
       punkteY[0] = 15;       punkteY[0] = 15;
       länge = 1;       länge = 1;
-      bitmap.setColor(15, 15, Color.red);+      bitmap.setColor(15, 15, 0xff0000);
    }    }
  
Zeile 322: Zeile 323:
  
       // An der alten Stelle des Kopfes wird ein Schlangenglied gezeichnet       // An der alten Stelle des Kopfes wird ein Schlangenglied gezeichnet
-      bitmap.setColor(kopfX, kopfY, Color.lightblue);+      bitmap.setColor(kopfX, kopfY, 0x6060ff);
  
       // Neue Kopfkoordinaten berechnen       // Neue Kopfkoordinaten berechnen
Zeile 329: Zeile 330:
  
       if(kopfX < 0 || kopfY < 0 || kopfX > 29 || kopfY > 29 ||        if(kopfX < 0 || kopfY < 0 || kopfX > 29 || kopfY > 29 || 
-            bitmap.getColor(kopfX, kopfY).toInt() == Color.lightblue.toInt()) {+            bitmap.getColor(kopfX, kopfY).toInt() == 0x6060ff) {
          // TODO: Game over          // TODO: Game over
          println("Game Over!");          println("Game Over!");
Zeile 353: Zeile 354:
  
       // Neue Kopfposition rot färben:       // Neue Kopfposition rot färben:
-      bitmap.setColor(kopfX, kopfY, Color.red);+      bitmap.setColor(kopfX, kopfY, 0xff0000);
  
    }    }
api/projects/snake/start.1725098581.txt.gz · Zuletzt geändert: 2024/08/31 10:03 von 127.0.0.1