Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Douglas Dantas

Quais os erros neste código em PASCAL?

Recommended Posts

Olá!

Eu estou criando um jogo da velha simples para resolver um exercício, porém é mais difícil do que imaginei.

 

Depois de muita labuta, fiz isso: JogoDaVelha.pas

 

Porém o compilador está dando erros que eu não sei quais são. Se poderem me ajudar, serei muito grato.

 

P.S.: As linhas onde o Compilador acusou erros eu comentei do lado avisando.

 

Olá!

Eu estou criando um jogo da velha simples para resolver um exercício, porém é mais difícil do que imaginei.

 

Depois de muita labuta, fiz isso: JogoDaVelha.pas

 

Porém o compilador está dando erros que eu não sei quais são. Se poderem me ajudar, serei muito grato.

 

P.S.: As linhas onde o Compilador acusou erros eu comentei do lado avisando.

 

Me dediquei tanto que baixei o DiagramDesigner e desenhei uma parte do algoritmo nele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que você complicou um pouco no seu algoritmo ^^'

Eu também, para praticar, fiz um jogo da velha uma vez, que podia jogar contra a máquina ou com outra pessoa... No meu código fiz o seguinte...

Criei uma string para armazenar as jogadas, cada caractere da string correspondia a um quadrante do jogo, ou seja, se a string tivesse este conteúdo: 'XXOOXOOOX', o computador desenhava na tela assim...

 

X | X | O

-----------

O | X | O

-----------

O | O | X

 

criei uma procedure "jogar", a qual era responsável por ler qual quadrante iria ser jogado, e colocar este valor nesta string, e após isso desenha na tela o jogo...

tambem criei uma procedure chamada "verifica", a qual lia se alguma linha (vertical, horizontal e diagonal), estivesse com conteúdo igual, neste caso, ela iria retornar true, pois os quadrantes 1, 5 e 9 (diagonal) são iguais :)

Para determinar de quem era a vez, apenas utilizei uma variavel boolean, que quando fosse falsa era a vez do "X", por exemplo, e quando fosse true era a vez do "O", essa variavel ficava trocando de true para false a cada jogada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que você complicou um pouco no seu algoritmo ^^'

Eu também, para praticar, fiz um jogo da velha uma vez, que podia jogar contra a máquina ou com outra pessoa... No meu código fiz o seguinte...

Criei uma string para armazenar as jogadas, cada caractere da string correspondia a um quadrante do jogo, ou seja, se a string tivesse este conteúdo: 'XXOOXOOOX', o computador desenhava na tela assim...

 

X | X | O

-----------

O | X | O

-----------

O | O | X

 

criei uma procedure "jogar", a qual era responsável por ler qual quadrante iria ser jogado, e colocar este valor nesta string, e após isso desenha na tela o jogo...

tambem criei uma procedure chamada "verifica", a qual lia se alguma linha (vertical, horizontal e diagonal), estivesse com conteúdo igual, neste caso, ela iria retornar true, pois os quadrantes 1, 5 e 9 (diagonal) são iguais :)

Para determinar de quem era a vez, apenas utilizei uma variavel boolean, que quando fosse falsa era a vez do "X", por exemplo, e quando fosse true era a vez do "O", essa variavel ficava trocando de true para false a cada jogada

 

Gostei muito do seu. Mas ainda quero saber o que há de errado no meu. Sei que o algoritmo está complicado, pois não pensei simples. Mas era para rodar. O está errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro está no seu if, você usou algo do tipo "tab[i,1]=tab[i,2]=tab[i,3]", e não tem como o compilador reconhecer isso, se você quer que os 3 sejam iguais, então faça "(tab[i,1]=tab[i,2]) and (tab[i,2]=tab[i,3])"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.