Breakout: Steinwand

Nun sollen die Steine ins Spielfeld eingebettet werden. Dafür wird ein Klasse SteinWand eingeführt, welche die Steine dann in einer Liste verwaltet.

Bei der Programmierung hat es sich ergeben, dass mit den Steinen auch gleich die ganze Wand eingeführt wurde. Eine Trennung der Arbeitsschritte war überflüssig und unpraktisch. Dieser Punkt war auch recht einfach.

Breakout mit Steinwand

Weiterlesen

Breakout: Spielfeld und Schiff

Das Spielfeld mit beweglichem Schiff ist nun fertig.

Bei der Erstellung sollten diese Punkte berücksichtigt werden:

  • Das Spielfeld soll sich in zwei Bereiche aufteilen. Eines zur Anzeige von Daten wie Punktestand und Level, ein weiteres für das eigentliche Spielfeld. Das Spielfeld soll nicht fix sein, sondern vergrößerbar, bis hin zum Vollbildmodus.
  • Alle Interaktionen (z.B. zwischen Formular und Schiff) werden über einen Controller gesteuert.
  • Alle Zeichenoperationen sollen über eine Klasse Renderer gehen, welcher dann die Zeichenmethoden der einzelnen Instanzen aufruft.
  • Neben dem Formular sind folgende Klassen sind zu erstellen: Spielfeld, Schiff, Controller und Renderer

Hier das Klassendiagramm:

Klassendiagramm Spielfeld mit Schiff

Und hier der Quellcode zum runterladen:  Quellcode_Step01

Im nächsten Schritt geht es mit dem Ball und den Wänden weiter…

Projekt Breakout

Um noch mehr Erfahrung in C# zu sammeln habe ich mir überlegt einen Clone des Arcade Klassikers Breakout zu erstellen. Ich unterteile das Projekt in einzelne Schritte. Das wären:

  1. Spielfeld mit beweglichen Schiff
  2. Ball der sich im Spielfeld bewegt und von den Wänden und dem Schiff abprallt.
  3. Einführen von Steinen die bei Ballkontakt zerstört werden.
  4. Eine ganze Wand von Steinen  als ersten Level.
  5. Ein Leveleditor in welchen der Anwender Steinwände definieren kann.
  6. Level aus Leveleditor ins Spiel einbinden und mehrere Level hintereinander spielen.
  7. Einführen von Sondersteinen mit verschiedenen Verhalten bei Ballkontakt.

Ich werde jeden Schritt hier ausführlich dokumentieren und am Ende hoffentlich ein Cooles Spiel präsentieren können.

Agil 2.0 – das Agile Development Framework

Diese Woche war ich mal wieder in Regensburg auf einen Vortrag der .Net usergroup.

Sprecher war Golo Roden, der sein Agile Development Framework (ADF) vorstellte. Dabei handelt es sich um einen Ansatz die verschiedenen Methode des Agilen Development wie z. B. Scrum und XP neu zu bewerten und zu einem umfassenden Rahmenwerk zu vereinen. Ein spannender Vortrag der auch mir als Einzelkämpfer in Form von ADF White einige Anregungen gab.

Ich werde das Projekt auf jeden Fall im Auge behalten, zumal ich das pair programming gerne mal ausprobieren würde.

EKON 12

Diese Jahr findet vom 27.-31. Oktober die Entwickler Konferenz (EKON) in Mainz statt.

Seit 1997 bietet die EKON jeden Herbst eine Woche lang Top-Informationen für alle, die mit Delphi, C++, C++ Builder, InterBase & Co. arbeiten, und ist somit das ultimative Event für alle Entwickler. Hier erhalten Sie die neuesten Informationen und fundierte Tipps & Tricks. Im Mittelpunkt stehen in diesem Jahr Delphi 2009 und weitere Produkte aus dem Hause CodeGear/Embarcadero, aber auch Themen wie native Entwicklung für Windows, PHP sowie ASP.NET und AJAX.

Leider werde ich es wieder nicht schaffen dabei zu sein. Aber beim nächsten Mal kann nichts nichts mehr aufhalten!

ModelMaker 10

Seit dem 26. September ist die neueste Version von ModelMaker verfügbar. Natürlich mit Delphi 2009 support.

  • New Delphi 2009 syntax supported:
    • Generic types: for example in classes, interfaces, records and delegates.
    • Anonymous methods: the „reference to procedure“ construct is emitted as a special delegate type. Anonymous method implementations are emitted as Live Metric hints with navigation support.
    • Parsing support for the deprecated hint directive with string comment. Note: editing the hint using MM is not supported yet.
    • Other parser improvements to make the above possible: improved asm handling, improved operator keyword handling,
    • To enable Delphi 2009 syntax, make sure the pascal language mode on Project Options | General is set to D2009 win32. Selected Language mode is also displayed on the statusbar

Ich arbeite seit einem Jahr mit ModelMaker 9 und werde die Tage updaten.

Alles weiter hier.