• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

psycoman

jogo do galo

2 mensagens neste tópico

Boas...fiz este programa mas a verificaçao do vencedor nao esta a trabalhar

alguem me pode ajudar por favor?e urgente..

obrigado

#include<stdio.h>
#include<stdlib.h>

main()
{
char galo[10];
int i,j;
int sair;
int jogar;

    galo[1]='1';
    galo[2]='2';
    galo[3]='3';
    galo[4]='4';
    galo[5]='5';
    galo[6]='6';
    galo[7]='7';
    galo[8]='8';
    galo[9]='9';
    sair=0;



      while (sair==0)
            {
                  printf ("%c:%c:%c\n",galo[1],galo[2],galo[3]);
                  printf ("%c:%c:%c\n",galo[4],galo[5],galo[6]);
                  printf ("%c:%c:%c\n",galo[7],galo[8],galo[9]);
                  printf ("jogador 1, introduza a jogada\n");
                  scanf ("%d",&jogar);
                  galo[jogar]='X';
                   if (galo[1] && galo[2] && galo[3]=='X' || galo[4] && galo[5] && galo[6]=='X' || galo[7] && galo[8] && galo[9]=='X')
                    {
                        printf ("O jogador 1 venceu!\n");
                        sair=1;
                    }
                else 
                     
                     if (galo[1] && galo[4] && galo[7]=='X' || galo[2] && galo[5] && galo[8]=='X' || galo[3] && galo[6] && galo[9]=='X')
                    {
                        printf ("o jogador 1 venceu!\n");
                        sair=1;
                    }
                else 
                
                     if (galo[1] && galo[5] && galo[9]=='X' || galo[3] && galo[5] && galo[7]=='X')
                    {
                        printf ("o jogador 1 venceu!\n");
                        sair=1;
                    }


                    printf ("%c:%c:%c\n",galo[1],galo[2],galo[3]);
                    printf ("%c:%c:%c\n",galo[4],galo[5],galo[6]);
                    printf ("%c:%c:%c\n",galo[7],galo[8],galo[9]);
                    printf ("jogador 2, introduza a jogada\n");
                    scanf ("%d",&jogar);
                    galo[jogar]='O';
                if (galo[1] && galo[2] && galo[3]=='O' || galo[4] && galo[5] && galo[6]=='O' || galo[7] && galo[8] && galo[9]=='O')
                    {
                        printf ("O jogador 2 venceu!\n");
                        sair=1;
                    }
                else 
                
                     if (galo[1] && galo[4] && galo[7]=='O' || galo[2] && galo[5] && galo[8]=='O' || galo[3] && galo[6] && galo[9]=='O')
                    {
                        printf ("o jogador 2 venceu!\n");
                        sair=1;
                    }
                else 
                
                     if (galo[1] && galo[5] && galo[9]=='O' || galo[3] && galo[5] && galo[7]=='O')
                    {
                        printf ("o jogador 2 venceu!\n");
                        sair=1;
                    }
                    }


system("PAUSE");    
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o problema estava nos if's

tu tinhas isto:

if (galo[1] && galo[5] && galo[9]=='O' || galo[3] && galo[5] && galo[7]=='O')

o problema é que ele so testa se o galo[9]=='O' ou galo[7]=='O', os outros nao estao la a fazer nada

tinhas de mudar para algo como isto

if (galo[1]=='O' && galo[5]=='O' && galo[9]=='O' || galo[3]=='O' && galo[5]=='O' && galo[7]=='O')

claro que este é um deles, tens de arranjar os outros tambem, se nao tiveres percebido diz alguma coisa  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora