Avatar billede mpkj Nybegynder
18. maj 2005 - 17:39 Der er 5 kommentarer og
1 løsning

Simplet spørgsmål i C..

Hej,

Jeg er ved at konstruere et spil med tre spillere, men skift mellem de tre skaber lidt problemer:
//Funker fint
    if (turn == 0)
    printf("Welcome %s, it is now your turn to decide\n", player1);
    if (turn == 1)
    printf("Welcome %s, it is now your turn to decide\n", player2);
    if (turn == 2)
    printf("Welcome %s, it is now your turn to decide\n", player3);

Det fungerer også fint nåt spiller 1 og spiller 2 svarer forkert, dér går den fint videre til næste spiller, men fra den tredje spiller og tilbage til den første, der går det galt. Jeg counter turns (en global variabel), det er så når den gør op på 3 (efter af tredje spiller har svaret forkert) jeg vil have den til at gå tilbage til player 1 (turn == 0).
Her er lidt mere kode: (antal er "antal korrekte svar")

        if (antal == 0)
        {
        turn++;
        system("pause");
        printf("%d", turn);
        }
        system("pause");
        game();


Er der en måde jeg kan begrænse turn at den kun kan blive 0,1,2 og gå fra 2 til 0 (istedet for at gå til 3)?

VH MPKJ
Avatar billede arne_v Ekspert
18. maj 2005 - 18:41 #1
prøv:

turn = (turn + 1) % 3;
Avatar billede mpkj Nybegynder
18. maj 2005 - 19:04 #2
Jeg kan ikke rigtig få det til at virke, du vil have at jeg gør sådan her, ikke:


        if (antal == 0)
        {
        turn = (turn +1) % 3;
        system("pause");
        printf("%d", turn);
        }
        system("pause");
        game();


Eller er det mig der er helt galt på den?

MVH MPKJ
Avatar billede mpkj Nybegynder
18. maj 2005 - 19:05 #3
fortsat:

Den kan godt gå fra spiller 1 til spiller 2. -men så når spiller 2 svarer forkert så sker der ikke noget (programmet går ikke engang tilbage til game())..
Avatar billede arne_v Ekspert
18. maj 2005 - 19:16 #4
ovenstående skulle gerne få turn til at gå 0 1 2 0 1 2 0 1 2

om det så gør det rigtige i dit program ved jeg ikke
Avatar billede mpkj Nybegynder
18. maj 2005 - 19:21 #5
Ja, det virker også nu, jeg havde bare pillet ved noget i min frustration over at jeg ikke kunne få det til at virke ;)

Mange tak for hjælpen! Bare indlæg et svar så jeg kan give dig point..
Avatar billede arne_v Ekspert
18. maj 2005 - 19:23 #6
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester