Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
while(true) { char Index; cin >> Index; // nimmt die Eingabe des Spielers an; Spieler X beginnt, dann folgt Spieler O if (Spielfeld[(int)(Index - '0'] != 'O' && Spielfeld[(int)(Index - '0')] != 'X') { Spielfeld[(int)(Index - '0')] = PlayerMark; //prüft ob das Feld noch frei ist wenn ja wird es besetzt // Die Eingabe war korrekt! Schleife verlassen... break; } else { // fehlerhafte Eingabe! Schleife wiederholen... continue; } } |
C-/C++-Quelltext |
|
1 |
[Index - '0'] |
C-/C++-Quelltext |
|
1 |
[((int)Index - 0) |
C-/C++-Quelltext |
|
1 2 |
int iInt = 1; char cChar =(char) iInt |
Community-Fossil
Die Variable Wiederholen könnte man sich eigentlich auch noch sparen:
C-/C++-Quelltext |
|
1 |
std::cout << "48 als Zahl interpretiert: " << 48 << std::endl << " 48 als Zeichen interpretiert: " << static_cast<char>(48) << std::endl; |
C-/C++-Quelltext |
|
1 |
std::cout << " '0' als Zeichen interpretiert: " << '0' << std::endl << " '0' als Zahl interpretiert: " << static_cast<int>('0') << std::endl; |
C-/C++-Quelltext |
|
1 2 3 4 |
int test; char fünf = '5'; test = (int)fünf; std::cout << test << std::endl; |
Heißt also, wenn ich einen char in eine int konvertiere, muss ich immer mit '0' oder 48 subtrahieren, richtig?
Wenn der in int umgewandelte Wert größer als 8 oder kleiner als 0 ist!Und da dann auch Index eine int sein muss(richtig?), wie kann ich im Falle das sich der Spieler vertippt, auf sagen wir R,
dies nachprüfen?
Community-Fossil
Zitat
Heißt also, wenn ich einen char in eine int konvertiere, muss ich immer mit '0' oder 48 subtrahieren, richtig?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NachoMan« (05.07.2011, 20:32)
Gute Idee, werd ich versuchen irgendwo mal einzubringenZitat
Wenn der in int umgewandelte Wert größer als 8 oder kleiner als 0 ist!
Die kenn ich garnichtZitat
Achja, versuch dir C++-Casts anzugewöhnen. Die gibt es nicht ohne Grund.
Stimmt doch, oder?Zitat
static_cast<int>('0')
Community-Fossil
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NachoMan« (05.07.2011, 22:27)
Werbeanzeige