Buscar

Algoritmo jogo das rainhas (portugol do visualg)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

algoritmo "Trabalho 2° unidade"
// Função :Jogo da rainhas
// Autores :Francinaldo, Iagne, Johnatas
// Disciplina :Algoritimos e programação de computadores
// Professora :Sílvia
// Data : 24/11/2015
// Seção de Declarações
var
xa:vetor[1..10,1..10] de inteiro
let:vetor[1..10] de caractere
n,s,j,i,f,m,queen,queen2:inteiro
paz,tab:logico
rep:caracter
inicio
repita
 limpatela
 rep<-"fim"
 escreval ("JOGO DAS RAINHAS")
 escreval ("Objetivo: ")
 escreval ("Posicionar n rainhas em um tabuleiro n x n, sem que elas se ataquem, conforme")
 escreval ("as regras do xadrez.")
 escreval
 escreval ("Como jogar: ")
 escreval ("1. Informe o tamanho do seu tabuleiro quadrado n X n;")
 escreval (" N deverá ser no mínimo 4 e no máximo 10;")
 escreval ("2. Posicionar as n Rainhas no tabuleiro;")
 escreval (" 1 para casas ocupadas por rainhas;")
 escreval (" 0 para casas vazias.")
 escreval
 repita
 escreval("Entre com o valor de n do seu tabuleiro n X n:")
 leia(n)
 ate(n>=4)e(n<=10)
 para s de 1 ate n faca
 let[s]<-copia("ABCDEFGHIJ",s,1)
 fimpara
 escreva(" ")
 para f de 1 ate n faca
 escreva(let[f]," ")
 fimpara
 escreval
 para i de 1 ate n faca
 escreva(" ")
 para s de 1 ate n faca
 escreva("----")
 fimpara
 escreval
 para j de 1 ate n faca
 xa[i,j]<-22319
 se j=1 entao
 escreva(i:2," |")
 fimse
 escreva(" |")
 fimpara
 escreval
 fimpara
 escreva(" ")
 para s de 1 ate n faca
 escreva("----")
 fimpara
 escreval
 queen<-0
 queen2<-0
 tab<-verdadeiro
 paz<-verdadeiro
 para i de 1 ate n faca
 para j de 1 ate n faca
 escreval("O que há na casa",i,let[j],"?")
 leia(xa[i,j])
 se (xa[i,j]<>0)e(xa[i,j]<>1)entao
 tab<-falso
 senao
 se xa[i,j]=1 entao
 queen<-queen+1
 fimse
 fimse
 limpatela
 escreva(" ")
 para f de 1 ate n faca
 escreva(let[f]," ")
 fimpara
 escreval
 para f de 1 ate n faca
 escreva(" ")
 para s de 1 ate n faca
 escreva("----")
 fimpara
 escreval
 para m de 1 ate n faca
 se m=1 entao
 escreva(f:2," |")
 fimse
 se xa[f,m]<>22319 entao
 escreva(xa[f,m]:2," |")
 senao
 escreva(" |")
 fimse
 fimpara
 escreval
 fimpara
 escreva(" ")
 para s de 1 ate n faca
 escreva("----")
 fimpara
 escreval
 fimpara
 fimpara
 se (nao(tab)) ou (queen<>n) entao
 escreval("---------------------------------------")
 escreval("Tabuleiro inválido!")
 escreval("Tecle enter para tentar novamente.")
 leia(rep)
 senao
 para i de 1 ate n faca
 queen<-0
 queen2<-0
 para j de 1 ate n faca
 se xa[i,j]=1 entao
 queen<-queen+1
 fimse
 se xa[j,i]=1 entao
 queen2<-queen2+1
 fimse
 fimpara
 se (queen>1)ou(queen2>1) entao
 paz<-falso
 interrompa
 fimse
 fimpara
 se paz entao
 para i de 1 ate n faca
 f<-0
 queen<-0
 queen2<-0
 repita
 se xa[i+f,1+f]=1 entao
 queen<-queen+1
 fimse
 se i>1 entao
 se xa[1+f,i+f]=1 entao
 queen2<-queen2+1
 fimse
 fimse
 f<-f+1
 ate f=n+1-i
 se (queen>1)ou(queen2>1)entao
 paz<-falso
 interrompa
 fimse
 fimpara
 fimse
 se paz entao
 para i de n ate 1 passo -1 faca
 f<-0
 queen<-0
 queen2<-0
 repita
 se xa[i-f,1+f]=1 entao
 queen<-queen+1
 fimse
 se i<n entao
 se xa[n-f,n+1-i+f]=1 entao
 queen2<-queen2+1
 fimse
 fimse
 f<-f+1
 ate f = i
 se (queen>1)ou(queen2>1)entao
 paz<-falso
 interrompa
 fimse
 fimpara
 fimse
 escreval("---------------------------------------")
 se paz entao
 timer(100)
 escreval("******* PARABÉNS ********")
 timer(100)
 escreval("As",n," rainhas estão em paz!")
 timer(100)
 escreval
 escreval("Créditos:")
 timer(100)
 escreval("> Francinaldo Gomes")
 timer(100)
 escreval("> Johnata Matheus")
 timer(100)
 escreval("> José Iagne")
 senao
 escreval("As",n," rainhas estão em guerra!")
 escreval("Tecle enter para tentar novamente:")
 leia(rep)
 fimse
 fimse
ate rep="fim"
fimalgoritmo

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando