Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 4 Min.

Der will doch nur spielen …

Ein Spiel zu implementieren ist immer wieder eine spannende Herausforderung.In diesem Fall geht es um ein Würfelspiel: Kniffel, auch bekannt als Yahtzee.
Kennen Sie Kniffel, das Würfelspiel? Ich spiele es in letzter Zeit häufig. Und natürlich kommt mein Informatikerhirn dabei immer wieder auf die Frage, welche Herausforderungen mit der Implementation dieses Spiels verbunden sein könnten. So entstand die Idee für diese Übungsaufgabe beim Kniffeln auf Gran Canaria.
„Unser“Kniffelspiel(Bild 1) © Bild: Shutterstock / Rafal Olechowski
In Bild 1 ist ein Kniffelspiel zu sehen, das wir derzeit verwenden. Das Besondere: Wir spielen nach Regeln, die etwas von den üblichen abweichen. Daher modifizieren wir zu Beginn des Spiels jeweils den Spielzettel.„Unser“ Kniffel geht wie folgt: Es gibt sechs im Prinzip gleich aufgebaute Spalten. Pro Spalte müssen diverse Würfe erzielt werden. Die einzelnen Spalten unterscheiden sich dadurch, dass in einigen eine Reihenfolge vorgegeben wird.Die erste Spalte muss von oben nach unten gespielt werden. Als Erstes muss dort also ein 1er eingetragen werden, dann ein 2er und so fort. In der zweiten Spalte muss von unten nach oben gespielt werden. Es beginnt ganz unten mit dem Kniffel oder auch Yah­tzee: Fünf gleiche Ziffern sind zu würfeln, also ein 5er-Pasch. Übrigens drehen wir die beiden unteren Zeilen des Spielblocks um: Ganz unten steht der Kniffel, darüber die Chance.In der dritten Spalte muss von der Mitte aus nach oben und unten gespielt werden. Im oberen Teil also 6er, 5er, 4er et cetera. Im unteren Teil 1 Paar, 2 Paare, 3er-Pasch und so weiter. Die Spalten 4 und 5 sind frei, hier gibt es keine Vorgabe der Reihenfolge. In der sechsten Spalte müssen im oberen Bereich jeweils vier gleiche Ziffern gewürfelt werden, die Reihenfolge ist frei.Zur Berechnung ist noch zu ergänzen, dass es im oberen Teil einen Bonus von 35 Punkten gibt, wenn in der jeweiligen Spalte mindestens 63 Punkte erreicht wurden. Man muss also drei Einsen, drei Zweien und so weiter würfeln, um dann zusätzlich 35 Bonuspunkte zu erzielen. In der letzten Spalte, überschrieben mit „4“, müssen je vier gleiche Ziffern erreicht werden, um den doppelten Bonus zu erzielen. Je vier Einsen, Zweien, Dreien etc. ergeben somit in Summe 154 Punkte.Welche Regeln Sie für Ihre Implementation verwenden, ist für die Übung letztlich nicht entscheidend. Unter [1] sind einige Varianten beschrieben. Ein solches Spiel im Rahmen der regelmäßigen Übungszeit von zwei bis vier Stunden pro Woche vollständig zu implementieren, wird innerhalb eines Monats sicher nicht gelingen. Die Aufgabe bietet jedoch viele Möglichkeiten, sich auf einzelne Details zu fokussieren:
  • UI: Erstellen Sie eine grafische Benutzerschnittstelle für das Spiel, mit der die Spielsituationen dargestellt werden können. Definieren Sie dazu ein View Model, welches in einer View mittels Data Binding visualisiert wird.
  • Implementieren Sie die Spielregeln. Als Eingabe dient ein Wurf, bestehend aus fünf Würfeln, sowie die Angabe, in welchem Feld der Wurf eingesetzt werden soll. Die Implementation muss einerseits überprüfen, ob der Wurf in dieses Feld übernommen werden kann, und andererseits die einzutragenden Punkte ermitteln.
  • Implementieren Sie einen „Würfelbecher“, mit dem man fünf Würfel zufällig würfeln kann.
  • Sicher die größte Herausforderung: Implementieren Sie einen Spieler, sodass ich als Anwender gegen den Rechner spielen kann.
Eine ganz konkrete Übungsaufgabe: Erstellen Sie eine Klasse Würfelbecher. Mit dieser Klasse soll es möglich sein, fünf Würfel nach den Regeln von Kniffel zu würfeln. Es darf bis zu drei Mal gewürfelt werden. Nach jedem Wurf kann man entscheiden, welche Würfel liegen bleiben beziehungsweise neu geworfen werden.Sie sehen: viel Material für Ihre Übungszeit. Wie immer wünsche ich Ihnen viel Spaß und gute Erkenntnisse!

Neueste Beiträge

DWX hakt nach: Wie stellt man Daten besonders lesbar dar?
Dass das Design von Websites maßgeblich für die Lesbarkeit der Inhalte verantwortlich ist, ist klar. Das gleiche gilt aber auch für die Aufbereitung von Daten für Berichte. Worauf besonders zu achten ist, erklären Dr. Ina Humpert und Dr. Julia Norget.
3 Minuten
27. Jun 2025
DWX hakt nach: Wie gestaltet man intuitive User Experiences?
DWX hakt nach: Wie gestaltet man intuitive User Experiences? Intuitive Bedienbarkeit klingt gut – doch wie gelingt sie in der Praxis? UX-Expertin Vicky Pirker verrät auf der Developer Week, worauf es wirklich ankommt. Hier gibt sie vorab einen Einblick in ihre Session.
4 Minuten
27. Jun 2025
„Sieh die KI als Juniorentwickler“
CTO Christian Weyer fühlt sich jung wie schon lange nicht mehr. Woran das liegt und warum er keine Angst um seinen Job hat, erzählt er im dotnetpro-Interview.
15 Minuten
27. Jun 2025
Miscellaneous

Das könnte Dich auch interessieren

UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Mythos Motivation - Teamentwicklung
Entwickler bringen Arbeitsfreude und Engagement meist schon von Haus aus mit. Diesen inneren Antrieb zu erhalten sollte für Führungskräfte im Fokus stehen.
13 Minuten
19. Jan 2017
Evolutionäres Prototyping von Business-Apps - Low Code/No Code und KI mit Power Apps
Microsoft baut Power Apps zunehmend mit Features aus, um die Low-Code-/No-Code-Welt mit der KI und der professionellen Programmierung zu verbinden.
19 Minuten
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige