Ich habe hier ein Spiele-Programmierungs-Tutorial, um zu lernen, wie man Java-Spiele schreibt.
Habe noch keine Erfahrung mit paint() und Graphics gemacht und habe dies als Einstieg benutzt. Habe jetzt eine Tetris-Version programmiert (im Tutorial war was anderes, habe dann aber gedacht: Tetris passt besser und habe das Tut als Hilfe genommen).
Nun habe ich die Anzeige halbwegs hinbekommen, habe aber irgendwo einen Denkfehler, weiß nicht, warum es nicht geht. Es kommt immer nur einer von vier Teilen des Steins runtergefallen, ein weiteres bleibt in der linken oberen Ecke. Beim Bewegen treten manchmal völlig abwegige Exceptions auf, wie ArrayIndexOutOfBounds (-1), obwohl alle Zahlen positiv sind.
Habe hier mal grob zusammengestell, wie ich das Tetris angegangen bin:
-Stein-Objekte mit 4-Koordinaten, davon einer als Referenz, anhand welcher die anderen berechnet werden.
-Color[][] zum speichern der Steine die schon unten sind (schwarz = unbesetzt)
-Feld zeichnen nach den Koordinaten (ein Element 40x40p, ein Pixel schwarzer Rand also 38x38)
-javax.swing.Timer zum Fallenlassen der Steine
Hab den src-Ordner gezippt und angehangen, wer Lust hat kann sich den Lösungsweg anschauen und mir dann vllt meine Fehler mitteilen, das wäre klasse:toll:
Habe noch keine Erfahrung mit paint() und Graphics gemacht und habe dies als Einstieg benutzt. Habe jetzt eine Tetris-Version programmiert (im Tutorial war was anderes, habe dann aber gedacht: Tetris passt besser und habe das Tut als Hilfe genommen).
Nun habe ich die Anzeige halbwegs hinbekommen, habe aber irgendwo einen Denkfehler, weiß nicht, warum es nicht geht. Es kommt immer nur einer von vier Teilen des Steins runtergefallen, ein weiteres bleibt in der linken oberen Ecke. Beim Bewegen treten manchmal völlig abwegige Exceptions auf, wie ArrayIndexOutOfBounds (-1), obwohl alle Zahlen positiv sind.
Habe hier mal grob zusammengestell, wie ich das Tetris angegangen bin:
-Stein-Objekte mit 4-Koordinaten, davon einer als Referenz, anhand welcher die anderen berechnet werden.
-Color[][] zum speichern der Steine die schon unten sind (schwarz = unbesetzt)
-Feld zeichnen nach den Koordinaten (ein Element 40x40p, ein Pixel schwarzer Rand also 38x38)
-javax.swing.Timer zum Fallenlassen der Steine
Hab den src-Ordner gezippt und angehangen, wer Lust hat kann sich den Lösungsweg anschauen und mir dann vllt meine Fehler mitteilen, das wäre klasse:toll: