Quelle: dotnetpro
dojoLösung: Ein spieleklassiker 13.05.2019, 00:00 Uhr

Worm? – Snake!

Mit den Cursortasten steuert man einen „Wurm“ über den Bildschirm – oder wie hieß das Tier gleich noch? Egal, Hauptsache, wir wissen, wie man so etwas programmiert ...
In der Aufgabenstellung war ich noch davon ausgegangen, dass das Spiel „damals“ Worm hieß. Doch da habe ich mich getäuscht: Es hieß Snake. Da ich das erst relativ spät erkannt habe, ist in meinen Entwürfen und der Implementation weiterhin von Worm die Rede.
Ich habe diese Übungsaufgabe wieder auf die für mich ­typische Weise gelöst: mit Flow-Design-Entwürfen. Ich bin überzeugt, dass sie nicht alleine mit TDD zu bewerkstelligen ist: Sie benötigt beispielsweise einen Timer, der periodisch eine Aktualisierung der Wurmposition anstößt. Mir ist schleierhaft, wo man hier mit TDD beginnen sollte. Was wäre der erste Test? Ich vermute, dass bei einer Vorgehensweise nach TDD eine ganze Reihe von Refactorings anstehen, weil man immer wieder feststellen wird, dass die Struktur nicht passt. Der TDD-Bestandteil Test-First ist wunderbar. Aber vor dem ersten Test muss durch Nachdenken eine Lösung entworfen werden. Meine Vorgehensweise dabei ist folgende:

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar