Hallo zusammen.
Ich hatte zwar angekündigt, Assembler zu lernen um Old School Intros machen zu können, aber V2 Basic ließ mich dann doch nicht los.
Anbei findet ihr meinen neuen Pong-Klon. Ich denke mir immer, "das muss doch auch in Basic gehen" - auch wenn hier ein Raster Interrupt bestimmt beim Timing geholfen hätte.
Features:
- Verwendet Get anstelle von Input. Habe aus Euren Tips gelernt. Die Mühe, Backspace-Taste für Eingabekorrekturen abzufangen habe ich mir aber nicht gemacht. Jetzt weiß ich auch, warum String-Felder in Fenstern so eine sinvolle Erfindung sind.
- Man hat im Optionsmenu nur die Wahl zwischen einer Runde und 3 Runden pro Spiel. Ich wollte bis zu 9 Runden möglich machen, aber mehr als 3 Runden (d.h. 5 Durchläufe bis ein Sieger feststeht) klappen nicht ohne Out of Memory Meldung. Default-Rundenzahl ist 3.
- Ich hatte die Wahl zwischen einer Super-KI und einer Dumpfnuss-KI. Wegen der Langeweile hab ich mich für die Super-KI entschieden, auch wenn sie momentan eher schwer zu besiegen ist.
- Dafür gibt es noch einen 2 Spieler Modus, Steuerung erfolgt per Joystick in Port 1 und 2.
- Die Ballkalkulation ist vergleichsweise primitiv. In meinem Basic-Konstrukt habe ich aber keine Möglichkeit gesehen, zufallsgesteuerte, unterschiedlich "flache" Bälle zu verwenden ohne dass das Spiel noch langsamer geworden wäre oder Out of Memory Meldungen gekommen wären. Mein erster Gedanke war ja, beim Aufprall auf den Schläger einen unterschiedlich flachen Streckenverlauf auszuwürfeln, diesen in ein Array zu schreiben, der KI zu sagen wo der Ball landen wird und dann den Ball das Array abfahren lassen. Pustekuchen. Ich habe es in Basic nicht hinbekommen.
- Die einzige Variation die man anstelle von Flachheitsgraden hat: Zu Beginn jeder Runde klebt der Ball am betreffenen Schläger, während man ihn bewegt. Bei Feuerknopf wird der Ball weggeschossen. So kann man den Streckenverlauf zumindest durch unterschiedliche Startpunkte beeinflussen.
Wer etwas besser weiß, kann, oder sonstige Tips für mich hat: Immer her damit.
Jetzt muss ich aber Assembler lernen. Es sei denn ich mache noch ein BASIC-Kartenspiel oder einen BASIC-Scrolltext der sich anhand von Sinusdaten bewegt. Muss doch auch in BASIC gehen.. argh! C64 BASIC ist deshalb so fesselnd, weil das alles so ein gut durchdachter Baukasten ist. Ich denke so oft "Ach, auch daran haben sie also gedacht". Das Zusammenspiel ist gut von dem, was man mit BASIC, Kernel-ROM, Sprites, SID, Registern und Petscii-Bausteinen alles kombinieren kann. BASIC macht auch eigentlich nur Sinn ohne Grafikmodus finde ich.