At skifte spillernavn hver runde...

Tags:    c++

Jeg er (stadig) ved at lave et spil og nu er jeg næsten færdig... Det eneste problem er bare, at funktionen der skifter spillernavn ikke virker (optimalt.) Problemet er, at hver gang programmet køres første gang, springes spiller 1 over i første runde. Ellers fungerer det fejlfrit.

Dette er selvf. kun et udpluk af hele koden...
Fold kodeboks ind/udKode 

Der kan iøvrigt opnås mere indsigt ved et kig på:
http://www.cpp-home.com/forum/viewtopic.php?t=11370

An eye for an eye only ends up making the whole world blind!

[Redigeret d. 12/09-05 19:09:55 af Mikkel Kjeldsen]



9 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Så vidt jeg lige kan se skal du flytte:
int a = 0;

Ud af loop'en , dvs. før
for(int i = 0; i < 52; i++)
Ellers vil a være 0 hver gang, og du kommer ikke videre.



My bad... Den må være smuttet da jeg rydede op i koden...
Nu er den der (med den egentlige fejl.)
Fold kodeboks ind/udKode 


An eye for an eye only ends up making the whole world blind!

[Redigeret d. 12/09-05 20:35:22 af Mikkel Kjeldsen]



Sry, double post... Mand, hvor jeg hader dette system...

[Redigeret d. 12/09-05 20:36:02 af Mikkel Kjeldsen]



Så skal du nok lige fortælle hvad det er der fejler.
Er det den første loop (for(int i = 1; i <= antalSpillere; ++i)) ?
Hvis det er så er fejlen sansynligvis i koden inden den loop.

Du kan evt. sende mig hele koden, så skal jeg kikke på det.



Jeg mener ikke der er en egentlig fejl i koden - bare en mindre diskontinuitet.
Problemet er, at hver gang for-loopet begynder, tjekker if for a's værdi, og er den under antalspillere, inkrementeres a. Dette er egentlig meget godt, bortset fra at dette skal springes over i første runde af spillet hver gang, da spiller 1 elelrs først vil komme med i runde 2... lidt svært at forklare, så jeg lægger hele kildekoden ved...

Kort.h:
Fold kodeboks ind/udKode 


Kortspil:
Fold kodeboks ind/udKode 


An eye for an eye only ends up making the whole world blind!

[Redigeret d. 12/09-05 22:43:07 af Mikkel Kjeldsen]



Du kunne gør en af disse:
1: Sætte a = antalSpillere inden loopen, så bliver den sat til 0 første gang.
2: Opdatere a efter du har brugt den, dvs i bunden af loopen.



Nåe ja, det viste sig jo ikke at være så svært :S
Mange tak for hjælpen :) - du samler vel stadig ikke på point?

An eye for an eye only ends up making the whole world blind!



Jeg samler stadig ikke på point.



Righto...



t