Kartenspiel (Konsoleneben) mit 32Karten
-
Hallo,
ich hab vor kurzem mit c++ begonnen und wollte ein kleines Kartenspiel erstellen (auf Konsolenebene). Allerdings weiß ich nciht so recht, wie ich die Karten mischen kann bzw. dann ausgeben kann. Ich hab mir ein Array mit 32Feldern erzeugt. Bei der Ausgabe von beispielsweise karten[10], erscheint nichts.
Warum?Hier ein kleiner Auszug aus meinem Quelltext:
void Kartenspiel::Karten()
{
for (int i=0; i<32; i++)
{
karten[i] = i;
}karten[10] = 1;
cout << "die 11. Karte lautet: " << karten[10];
}Der Text wird mir in der Konsole angezeigt, allerdings wird mir hinter dem doppelpunkt nichts mehr ausgegeben. Weiß jemand, worn das liegt?
Vielen Dank für die Hilfe!!
-
Ich tippe mal darauf, daß du das Array "karten" als
char karten[32];
definiert hast.
Und da das ASCII-Zeichen 1 ein nicht-druckbares Zeichen ist, wird auch nichts ausgegeben...Also entweder als "int karten[32]" definieren oder aber bei der Ausgabe in int 'casten', d.h.
cout << (int)karten[i];
P.S: Ist evtl. besser im C++-Forum aufgehoben
-
Denke auch es gehört in den C++ bereich...
außerdem sollte Karten denke ich eine eigene Klasse sein.
Und vllt sogar eine Extra für "jede" Karte... Natürlich nicht 32 klassen!!! Sondern 32 Objekt der klasse...speicher mal in deinem array die 150 statt der 1.
Dann bist du aus dem bereich der "unsichtbaren" zeichen raus.