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

ichderwich

Frischling

  • »ichderwich« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Oberfranken

Beruf: Elektroniker f. Anlagen

  • Private Nachricht senden

1

25.03.2011, 23:05

Drei gewinnt

Erst einmal wollt ich Hallo sagen: Hallo
Ich bin neu hier auf dieser seite und freue mich schon auf viele Diskusionen :D
Hoffe ihr könnt mir jetzt am Anfang (und auch später) helfen, sodass ich in naher bzw ferner Zukunft auch andere hier Helfen kann.

Habe mir das Buch: C++ für Spieleprogrammierer gekauft, und ich muss sagen (auch wenn ich noch nicht ganz durch bin) das mir dieses Buch bisher am Besten gefällt. Also für mich als Anfänger, habe vieles viel einfacher verstanden wie in anderen Lektüren.

Hab das Buch jetzt bis zu den Windowsprogrammiersachen durch, und bevor ich mcih jetz an die Win-Programmierung rantraue, wollt ich das bisherige gelernte vertiefen und hab mir gedacht ich programmier einfach ma ein spiel: Drei Gewinnt (X/O)

Hab mir das Spielfeld mittels char Array erzeugt:

char Spielfeld[3][3];

So ist die Ausgabe:

X |O |X
--|--|--
O |X |O
--|--|--
X |O |X


ich weiß ist weng "billig" aber für mich als Anfänger dürfte das reichen ^^

So jetzt endlich ma zu meiner Frage ^^

Muss ich für die Gewinn bedingung wirklich jede position im Array mit einander vergleich? oder geht das einfacher?

hätte es jetzt so gemacht:

if (Spielfeld[0][0] == 'x' && Spielfeld[0][1] == 'x' && Spielfeld[0][2] == 'x' ||
Spielfeld[1][0] == 'x' && Spielfeld[1][1] == 'x' && und so weiter und so weiter

und das für beide Spieler

ist für mich weng ne große bedingung ^^ das geht doch bestimmt einfacher?

MfG ich der Wich

P.S. Danke schon mal
Wenn ich an der Bar 1 Byte bestelle bekomme ich dann 8 Bit :?:

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

25.03.2011, 23:10

willkommen im forum.
das ist meiner meinung nach die einfachste und schönste lösung:
http://codepad.org/bEco2Kry

die rufst du nach jedem zug auf und übergibst die position des letzten kreuzes/kreises und den spieler. mehr brauchst du nicht^^

edit: bevor du nachfragen musst, der spieler ist bei dir wohl 'x' oder 'o'
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

ichderwich

Frischling

  • »ichderwich« ist der Autor dieses Themas

Beiträge: 5

Wohnort: Oberfranken

Beruf: Elektroniker f. Anlagen

  • Private Nachricht senden

3

25.03.2011, 23:14

Cool danke für die super schnelle antwort ;)

edit: hey die spieler haben bei mir scho jeder ne namensabfrage :D
Wenn ich an der Bar 1 Byte bestelle bekomme ich dann 8 Bit :?:

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

26.03.2011, 14:45

Er meinte mit Spieler die unsigned-char Variable aus dem Code. Quasi das Zeichen aus deinem Array. Keinen Namen von einem Spieler.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige