Du bist nicht angemeldet.

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

1

22.02.2007, 14:22

Bedigte Verzweigungen

Hallo community. Ich hab eine frage zu den if zweigen -> mit if(input - 48 ) usw.. also das kapier ich nicht kann mir das einer erklären?
bei dem konsolen tic tac toe tutorial von riddick.

* Anmerkung von koschka:

Um das Zeile 120 gehts
Dave Matthews Band ROCKT !!!

www.davematthewsband.com

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

2

22.02.2007, 14:27

mach mal folgendes:

C-/C++-Quelltext

1
2
char input = 48;
std::cout << input;
Und guck was passiert ;)

Ist einfach eine andere Schreibweise als mit ' '. Ist aber leicht unglücklich, da geb ich dir Recht.

3

22.02.2007, 14:47

ja aber ich weiss nicht wozu das da sein soll? wieso brauch man das?
Dave Matthews Band ROCKT !!!

www.davematthewsband.com

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

4

22.02.2007, 14:59

* ausgegliedert aus dem Tutorial Teil, weil es damit nichts zu tun hat

Man braucht in Programmen Bedingungen. Wenn Der Benutzer Taste X drückt, dann mache ..... dies und das.

Dazu sind if Anweisungen da, die Syntax und weitere Semantische Details entnimmst du bitte Google oder einem Buch.


Man kann if Bedingungen auch weglassen und mit Schleifen beschreiben. Sowas macht man aber im Normalfall nicht.

5

22.02.2007, 15:27

ja ich kann if bedingung und schleifen aber wieso der 48 subtrahiert ist mir echt n rätsel
Dave Matthews Band ROCKT !!!

www.davematthewsband.com

riCo

Treue Seele

Beiträge: 165

Beruf: Student

  • Private Nachricht senden

6

22.02.2007, 15:43

Schau dir mal die Ascii-Tabelle an. Das ist nichts anderes als ein(!) Zeichen im ASCII-Format. Ein "x" hat beispielsweise den ASCII-Wert 120.
Wir leben alle unter dem Sternenhimmel, aber wir haben nicht alle den gleichen Horizont.

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

7

22.02.2007, 15:44

Du musst dich von dem Gedanken lösen, dass in chars Buchstaben stehen würden. Da stehen auch nur Zahlen von 0-255 ;)

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

8

22.02.2007, 16:08

die 1 hat Wert 48. man kann dies auch durch einen simplen Ausgabebefehl prüfen:

C-/C++-Quelltext

1
printf("%c", 48);

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

9

22.02.2007, 17:19

Oder man schreibt

C-/C++-Quelltext

1
if (field[input - '1'] == 'X')


Dann wird es ein wenig klarer, was gemeint ist.

Bezweckt wird damit, aus dem ASCII Code für das Zeichen '1' einen Index in das Feld "field" zu berechnen, der zwischen 0 und 8 liegt (als Zahl, nicht als Zeichen).

Netterweise liegen ja die Ziffern '1' bis '9' in der ASCII Tabelle artig hintereinander und richtig sortiert.

Sonst ist das schon richtig. Für den Computer ist auch ein char erstmal eine Zahl aus [0, 255]. Erst die Interpretation (und Anzeige) macht daraus ein Zeichen auf dem Bildschirm.

Gruss,
Rainer
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

10

23.02.2007, 12:12

48 ist im ascii code bei mir 0 und nicht 1?
Dave Matthews Band ROCKT !!!

www.davematthewsband.com

Werbeanzeige