Delphi 2D-Autorennen
Als Abschluss des Informatik Grundkurses der elften Klasse möchte ich hier nun unsere Implementierung eines 2D Autorennspiels in Delphi vorstellen. Anfangs bestand die Aufgabenstellung darin ein ein-dimensionales Rennspiel zu entwickeln, bei dem der Spieler mit den schnelleren Fingern gewinnt. Also quasi ein einfaches Geschicklichkeitsspiel. Anfangs sind wir daher nur auf einer Linie gefahren. Aber wer hätte es gedacht? Nach einer Zeit wurde das ziemlich langweilig. Und da wir noch genügend Zeit hatten, strukturierten wir unseren Code grundlegend neu und fügten die Simulation von Beschleunigung und Verzögerung hinzu.
Trotzdem sind wir noch nicht über die erste Dimension hinaus gekommen. Nachdem nach der vierte Doppelstunde immer noch nicht alle fertig waren und wir schon dabei waren Extras und Cheats einzubauen, habe ich mich dann entschlossen in die zweite Dimension zu gehen. Die kleine Physik-Engine behielten wir bei und fügten die Möglichkeit hinzu die Autos zu lenken. Aber nun hatten wir ein Problem: wie wird die nun zwei-dimensionale Strecke begrenzt? ine Strecke mit Canvas Objekten zu zeichnen war uns zu aufwendig und auch nicht gerade sehr schön. Wir bedienten uns daher einer Technik die auch als “Colorcoding” bekannt ist: verschiedene Farben in einer Bitmap markieren, fahrbare Bereich und Barrieren. Einen Rundenzähler und eine Konfigurationsdatei rundeten schließlich das Projekt ab.
Wir legten diesmal viel Wert auf die objektorientierte Entwicklung des Codes, da dies das aktuelle Unterrichtsthema ist.
Ein Frontend für die Einstellungen sparten wir uns, um uns mehr auf die “Physik” konzentrieren zu können. Die Einbindung eines INI-Files lernte ich nebenbei auch noch. Das Autorenn Program ist also als Gegenstück zum Potenzübungs Program zu sehen. Hierbei legten wir mehr Wert auf ein schönes GUI mit Hilfe und Installer.
Ihr könnt den Quellcode gerne für eure Projekte weiterverwenden. Ich bitte jedoch um einen kurzen Kommentar und einen Hinweis im GUI, Danke
Des Weiteren ist das Projekt auch auf Codeberg zu finden: /stv0g/2d_autos .