Olá, gostaria de poder contar com a ajuda de pessoas mais experientes desse clube. Pois preciso entregar um trabalho e o código que escrevi está apresentando dois erros e não consigo compreender o porque.
É um jogo da velha, e dado momento preciso verificar se uma dos campos já foi ou não preenchido, se sim apresentar uma mensagem, se não receber o valor digitado. Segue a imagem da parte que apresenta o erro.
Algoritmo "Jogo da Velha"
Procedimento PreencherMatriz()
Inicio
para i de 1 ate 3 faca
para j de 1 ate 3 faca
cont <- cont +1
jogo[i,j] <- numpCarac(cont)
fimpara
fimpara
fimprocedimento
//---------------------------------------------------//
Procedimento Velha()
Inicio
escreval("==================")
escreval(" JOGO DA VELHA ")
escreval(" +---+---+---+")
para i de 1 ate 3 faca
para j de 1 ate 3 faca
escreva(" |")
escreva(jogo[i,j]:1)
fimpara
escreval(" |")
escreval(" +---+---+---+")
fimpara
escreval("==================")
fimprocedimento
//---------------------------------------------------//
Procedimento Jogar()
Inicio
X <- "X"
// Vencedor <- falso
// Vez <- 0
// par <- 1
// repita
escreval("Digite um número para ",X,": ")
leia(c)
se (c > 0) e (c < 10) então
//--------------------------------------------
se (c > 0) e (c < 4) então
L <- 1
(pede o então) se (jogo[L,c] = "X") ou (op[L,c] = "0") então
escreval("Esse número já foi preenchido")
(pede senao) senao
jogo[L,c] <- X
// vencedor <- verificarVencedor()
// vez <- vez + 1
// se(vencedor = falso) então
// se(par % 2 <> 0) então
// X <- "0"
// senao
// X <- "X"
// fimse
// par <- par + 1
// fimse
fimse
senao
//--------------------------------------------
se (op > 3) e (op < 7) então
L <- 2
// se ((jogo[L,C-3] = "X") ou (C[L,C-3] = "0")) então
// escreval("Esse número já foi preenchido")
// senao
jogo[L,op-3] <- X
// vencedor <- verificarVencedor()
// vez <- vez + 1
// se(vencedor = falso) então
// se(par % 2 <> 0) então
// X <- "0"
// senao
// X <- "X"
// fimse
// par <- par + 1
// fimse
// fimse
senao
//--------------------------------------------
L <- 3
// se ((jogo[L,C-6] = "X") ou (C[L,C-6] = "0")) então
// escreval("Esse número já foi preenchido")
// senao
jogo[L,op-6] <- X
// vencedor <- verificarVencedor()
// vez <- vez + 1
// se(vencedor = falso) então
// se(par % 2 <> 0) então
// X <- "0"
// senao
// X <- "X"
// fimse
// par <- par + 1
// fimse
// fimse
fimse
fimse
// senao
// escreval("Opção Inválida")
// leia (a)
// fimse
limpatela
velha()
// ate(vencedor = verdadeiro) ou (vez = 9)
fimprocedimento
//-------------------------------
// funcao verificarVencedor() : logico // V ou F
// var
// venceu : logico
// inicio
// venceu <- falso
//horizontal
// para i de 1 ate 3 faca
// se ((jogo[i,1] = jogo[i,2]) e (jogo[i,2] = jogo[i,3]))então
// venceu <- verdadeiro
// fimse
// fimpara
//vertical
// para i de 1 a 3 faca
// se ((jogo[1,i] = jogo[2,i]) e (jogo[2,i] = jogo[3,i]))então
// venceu <- verdadeiro
// fimse
// fimpara
//diagonal 1
// se ((jogo[1,1] = jogo[2,2]) e (jogo[2,2] = jogo[3,3]))então
// venceu <- verdadeiro
// fimse
//diagonal 2
// se ((jogo[1,3] = jogo[2,2]) e (jogo[2,2] = jogo[3,1]))então
// venceu <- verdadeiro
// fimse
// retorne "Parabéns, "+venceu
// fimFuncao
//-------------------------------
Var
// Seção de Declarações das variáveis
i,j,cont : inteiro
jogo : vetor[1..3,1..3] de caractere
X : caractere
L, op : inteiro
Vencedor : logico
Vez : inteiro
par : inteiro
a : caractere
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
//----------------------------------------------------//
Cont <- 0 // Iniciar a contagem em zero
// PreencherMatriz() chamar o procedimento PreencherMatriz()
// Velha() chamar o procedimento velha()
PreencherMatriz()
velha()
Jogar()
// jogo()
//--------------------------------------------------//
Fimalgoritmo