C++: Ausgabe der Hand beim Kartenspielen |
24.05.2019, 12:05 | Arigatoo | Auf diesen Beitrag antworten » | ||||||||||||||||||||
C++: Ausgabe der Hand beim Kartenspielen Hallo zusammen! Ich versuche folgende Vorversion eines Blackjack-Spiels zu programmieren: Ein Spieler erhält beim Kartenspielen zunächst 2 Karten aus einem Stapel, der unendlich oft die Karten enthält. Dann zieht er so lange weiter, bis der Handwert >=21 ist. Nach jedem Zug werden ihm seine aktuelle Hand und der Handwert angezeigt. Die Karten sollen erzeugt werden mittels
Meine Ideen: Ein Problem ist, dass man die Anzahl gezogener Karten nicht weiß, sonst könnte ich einfach die integer-Variablen k_1, k_2, ..., k_5 (oder so) definieren, die dann in die char-Variablen h_1, h_2, ..., h_5 umgewandelt werden. Meine Idee ist, die Zufallszahlen aus sein zu lassen, die den Karten entsprechen:
Die Handsumme ist ja noch recht einfach:
Aber ich habe keine Ahnung, wie ich die Hand ausgeben soll, da die "Länge" der Hand ja dynamisch ist (mit jedem Zug eine Karte mehr wird). Vielleicht über ein Array in der main-Funktion?:
|
||||||||||||||||||||||
24.05.2019, 13:34 | HAL 9000 | Auf diesen Beitrag antworten » | ||||||||||||||||||||
Mehrere Anmerkungen: 1) Es mutet ein wenig seltsam an, dass du mit der globalen Variable zufallszahl arbeitest, die noch dazu verwirrenderweise exakt denselben Namen trägt wie die Funktion, die dieser Variablen einen Wert zuweist. Für mich wäre es einleuchtender, ohne globale Variable zu arbeiten mittels
2) In C mag es ja so sein, dass char (für Zeichen) zuweisungskompatibel zu int-Variablen ist. Ist trotzdem in Hinblick Typenstrenge kein guter Stil. 3) k_1, k_2, k_n sind immer genau drei Werte, und nicht etwa Werte mit variabler Anzahl , wie der letzte Bezeichner suggeriert... 4) Willst du direkt die Werte 1..14 summieren? Ich bin zwar kein BlackJack-Experte, meine mich aber zu erinnern, dass Bube/Dame/König mitnichten die Werte 12,13,14 haben, sondern einheitlich 10,10,10. Insofern brauchst du eine "Übersetzung" zwischen Kartenindex und Kartenwert - das ist dir hoffentlich bewusst. Generell solltest du mal darüber nachdenken, ob derlei Fragen nicht besser hier http://www.informatikerboard.de aufgehoben sind. |
||||||||||||||||||||||
24.05.2019, 17:23 | Finn_ | Auf diesen Beitrag antworten » | ||||||||||||||||||||
Ich würde auch empfehlen, möglichst auf globale Variablen zu verzichten. Die Alternative dazu ist, den Programmzustand in einer struct zu speichern. Ein kurzes Beispiel dazu:
|
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |