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

Como poderei fazer a opção de empate no jogo do galo?

Discussão em 'Programação' iniciada por rikard0, 10 de Janeiro de 2007. (Respostas: 7; Visualizações: 1057)

  1. boas..

    eu estou a fazer o jogo do galo em visual basic para uma disciplina de programação e ja fiz o jogo quase todo mas agora na fase de mostrar as victorias derrotas e empates surgiu um problema.Como e que vou fazer a parte dos empates? ja tentei dar um valor a uma variavel global em que ganha um valor em cada jogada e depois fazia um if mas nao deu certo..

    gostava que alguem me pode-se ajudar

    abraço
     
  2. dark_splinter

    dark_splinter Power Member

    eu n sei visual basic propriamente, mas o teu problema como parece ser apenas de algoritmia....

    Tás a usar um vector 3 por 3 .... para assinalar as jogadas??? se tiveres porque n fazes uma função que testa se o vector tá cheio por exemplo....
     
  3. HecKel

    HecKel The WORM

    O que tens de fazer é verificar em cada jogada se existe alguma combinação de vitória. Atribuir valores a uma variável em cada jogada pode não resultar.

    Com a validação basta-te verificar se já não existem jogadas possíveis para comprovares o empate.

    abraços, HecKel
     
  4. MadOnion

    MadOnion Folding Member

    Posso estar a dizer alguma barbaridade, mas nem apliquei a logica, por isso não me censurem, mas nao é possivel um jogo estar cheio, e haver vitória?
    secalhar era melhor ter feito no papel, em vez de colocar o post :-D
     
  5. dark_splinter

    dark_splinter Power Member

    Por acaso nem me lembrei desse pormenor :-D.... mas se a função tiver depois das instruções ou função que testa se existe a vitoria, penso que também n há problema....
     
  6. HecKel

    HecKel The WORM

    Yep, daí eu ter dito, a cada jogada verificar se algum ganha :P Se ganhar, dá logo a mensagem :P (claro que ele tem de evitar mandar a mensagem de empate...)

    abraços, HecKel
     
  7. s00n

    s00n Power Member

    Não sei como isso está implementado, mas basicamente, após cada instrução de jogada tens de verificar a condição de vitória, que é o mesmo que percorrer os 3 vectores [como foi mencionado acima] e verificares se há alguma combinação de preenchimento por parte de um dos símbolos.
    E até podes guardar a cada iteração, o valor da variável _VICTORIA = 0; default e _VICTORIA = 1; quando alguém ganha. Se chegares à situação de tabuleiro cheio, fazes uma simples condição:
    se a variável _VICTORIA valer 0 quer dizer que houve empate, se não, alguém ganhou.

    Ainda mais inteligente é poderes parar o jogo no momento exacto em que já ninguém pode ganhar. Ou seja, parar mal o empate se verifique [ficando empatado, portanto, até ao fim façam o que fizerem os jogadores].
     
  8. optimusSupremo

    optimusSupremo Power Member

    O que tens que fazer é uma função que permita ver se alguem ainda pode ganhar, ou seja, depois de jogar, verificas para as 8 combinações de vitoria se alguma é possível.

    Simplificando, para todas as combinações se existem os 2 simbolos então é empate...

    Espero ter ajudado!

    Cumps
     

Partilhar esta Página