Mastodon

Delphi 2D-Autorennen

Als Abschluss des Informatik Grundkurses der 11. Klasse möchte ich euch nun unsere Delphi Implementierung eines 2D Autorennspiels vorstellen.
Anfangs bestand die Aufgabenstellung darin ein ein-dimensionales Spiel 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. Un da wir noch genügend Zeit hatten, struktuierten wir unseren Code grundlegend neu und fügten die Simulation von Beschleunigung und Verzögerung hinzu.

2dauto

Trotzdem sind wir noch nicht über die 1. Dimension hinaus gekommen. Nachdem nach der 4. Doppelstunde immer noch nicht alle fertig waren und wir schon dabei waren Extras und Cheats einzubauen, habe ich mich dann entschlossen in die 2. Dimension zu gehen. Die kleine Physikengine 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? Eine Strecke mit Canvas Objekten zu zeichnen war uns zu aufwendig und auch nicht gerade sehr schön. Wir bediehnten 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.

colorcoding

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 Autorennprogram ist also als Gegenstrück zum Potenzübungsprogram 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

Download: 2D Delphi-Autorennen (Anwendung + Quellcode)

Desweiteren ist das Projekt auch auf GitHub zu finden.