Tag Archives: Gamedevelopment

Mastermind-Clone: Game-Logic – Compare Rows [C#]

Hallo seit einer kleinen Weile arbeite ich in meiner Freizeit an einem Klon des Brettspiel-Klassikers: Mastermind.

Kurz zusammengefasst geht es darum, dass jemand (der Gegenspieler) eine Farbkombination mit Stecknadeln vorgibt, die der Spieler nicht sieht aber erraten muss. Um die Kombination erraten zu können, steckt er auf einem Feld eine Kombination mit Nadeln in eine Reihe.

Wenn die Position der farbigen Nadel die man geraten hat nun mit der Position des Gegners übereinstimmt, erhält man neben der Reihe eine Nadel (meist schwarz).
Wenn die geraten Position jedoch nicht stimmt, aber die Farbe in der Kombination des Gegners enthalten ist, so erhält man eine graue Nadel. Wenn beides nicht zutrifft, so erhält man eine weiße Nadel.

In meiner Variante habe ich die Farben getauscht.
Position-Match: Grün
Color-Match: Gelb
No-Match: Weiß

Und genau um die Prüfung der geratenen Reihe geht es nun.

Den obigen Code habe ich nochmal vereinfacht und lässt sich nun leichter lesen:

 

So erhalten wir nun die Anzahl der Positionstreffer und der Farbtreffer und können diese dem Spieler anzeigen, damit er anhand der gewonnen Informationen seinen nächsten Zug planen kann.

Das Spiel wird übrigens in Unity programmiert, falls ihr euch wundert was es mit GetComponentsInChildren<>() auf sich hat 🙂

In dem Sinne: Viel Spaß beim raten.