Category Archives: C#

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.

Snippet: Ersten Buchstaben großschreiben [C#]

Hallo, vor kurzem wollte ich ein kleines Getter-Setter-Interface erstellen, um möglichst komfortabel Get und Set-Blöcke für eine C#-Klasse zu erstellen.

Dazu wollte ich einen Text-String einer Variable zuweisen welcher kleingeschrieben wird und den selben Text-String einer anderen Variable zuweisen bei der der erste Buchstabe großgeschrieben wird.

Nach etwas probieren, kam ich auf folgende Funktion für den Text-String aus der Textbox:

Ja man hätte auch den String zu einer Char-Array konvertieren können um dann das erste Element manipulieren. Aber die obige Lösung empfinde ich als effektiver und schöner.

Habt ihr noch weitere Vorschläge oder Ideen?

In dem Sinne: Frohes manipulieren.