1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Jogo do galo

Discussão em 'Programação' iniciada por riicardoo, 14 de Junho de 2009. (Respostas: 4; Visualizações: 892)

  1. riicardoo

    riicardoo Power Member

    Boas. Eu estou a construir um jogo do galo, mas tenho algumas duvidas e gostaria que me ajudassem se fosse possível. Este jogo vai ter de ser apresentado a júri um dia destes.


    Este é o codigo que ja tenho feito.
    So que quando executo e chega a vez do segundo jogador fazer a sua jogada aparece-me isto: http://item.slide.com/r/1/219/i/SfX3XlcY4j_5FTMRuNVFUb0FYPpadrbF/

    Como podem ver o "O" é colocado mas aparece a pergunta a frente
    Alguem me pode ajudar?

    obrigado
     
  2. blackburn69

    blackburn69 Power Member

    Boas. Não programo em PASCAL há uns ~6 anos mas acho que sei qual é o problema.
    Código:
    if vez =1 then
    gotoxy (1,24);write(jogador1,' qual a jogada?');
    
    Aí deves ter:
    Código:
    if vez =1 then
       begin
         gotoxy (1,24); write(jogador1,' qual a jogada?');
       end;
    
    se quiseres que ambas sejam executadas se a vez for 1. O outro problema é que no fim do último case não voltas a meter a vez a 1, ou seja, o "if" dá falso e como tal o gotoxy(...) não é executado mas o write(...) é, por não fazer parte do "then".

    Espero ter ajudado. :)
     
  3. riicardoo

    riicardoo Power Member


    Muito obrigado. Agora aconteceu outro problema.
    http://item.slide.com/r/1/47/i/Anf6bC0J1j8uFb64l6OeSw4zvRRwFxQB/
    escolho a posição que quero, e ele alem de inserir o símbolo também insere o numero da minha opção.
    ja agora pra declarar victorias sera muito dificil?
     
  4. blackburn69

    blackburn69 Power Member

    Boas. Pois baseado no código anterior e com as alterações que te disse não estou a ver o problema. Vê se não fazes aí um write(jogada); algures no teu código. Já agora, só agora é que me lembrei que não precisas de andar com a variável vez e com aquele if. Com o ciclo isso já bate tudo certo automaticamente sem precisares de ver essa condição.
    Quanto ao declarar victórias, podes declarar um array bidimensional e terás que guardar lá as jogadas de cada jogador. A partir da 3ª jogada (de cada jogador) tens que ver se o jogador X ganhou, a cada jogada. Só tens que ver as 2 diagonais, as 3 colunas e as 3 linhas.
    Procura como se trabalha com array's em PASCAL se ainda não sabes. :)

    Se não descobrires o erro que está a acontecer agora, volta a meter o código actualizado. E tira a var vez e o if que não estão aí a fazer nada. ;)

    Boa sorte.
     
  5. riicardoo

    riicardoo Power Member

    Obrigado pelas dicas :)
     

Partilhar esta Página