Ir para conteúdo
Fórum Script Brasil

Gabriel Alves Toyo Pontes

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Gabriel Alves Toyo Pontes

Gabriel Alves Toyo Pontes's Achievements

0

Reputação

  1. Não estou conseguindo traduzir esse codigo de portugol para c... Algoritmo "puzzle" const LIM5 = 5 LIM_MAX = 25 Var cont,i,j,k,l,n:inteiro mat_main,mat_result:vetor[1..LIM5,1..LIM5] de inteiro vet:vetor[1..LIM_MAX] de inteiro concluido:logico //Procedimento de teste, utilizado para verificar o que acontece quando conclui-se o jogo. //Observação : para a utilização deste procedimento, remova o comentário da linha 282 e adicione outro, à linha 281. procedimento set_matriz_pronta var g:inteiro inicio para i de 1 ate n faca para j de 1 ate n faca g <- g + 1 se((i = n) e (j = n))então senao mat_main[i,j] <- g mat_result[i,j] <- g fimse fimpara fimpara fimprocedimento //Procedimento que compara os valores das matrizes, verificando se estão iguais. procedimento ver_result inicio concluido <- verdadeiro para i de 1 ate n faca para j de 1 ate n faca se(mat_main[i,j] = mat_result[i,j])então senao concluido <- falso interrompa fimse fimpara fimpara fimprocedimento //Procedimento que conta quantos movimentos foram usados duranteo jogo. procedimento contador inicio escreval("") cont <- cont + 1 escreval("Movimentos :",cont) escreval("") fimprocedimento //Procedimento responsável por mover a área vazia. procedimento mover_quadrado var can:logico op:caractere troca:inteiro inicio escreval("Aperte a tecla correspondente à operação que deseja executar:") repita leia(op) can <- falso escolha(op) caso "w", "8" se((k-1) > 0)então troca <- mat_main[k,l] mat_main[k,l] <- mat_main[k - 1,l] mat_main[k - 1,l] <- troca can <- verdadeiro fimse caso "s", "2" se((k+1) <= n)então troca <- mat_main[k,l] mat_main[k,l] <- mat_main[k + 1,l] mat_main[k + 1,l] <- troca can <- verdadeiro fimse caso "a", "4" se((l-1) > 0)então troca <- mat_main[k,l] mat_main[k,l] <- mat_main[k,l-1] mat_main[k,l - 1] <- troca can <- verdadeiro fimse caso "d", "6" se((l+1) <= n)então troca <- mat_main[k,l] mat_main[k,l] <- mat_main[k,l+1] mat_main[k,l + 1] <- troca can <- verdadeiro fimse fimescolha se(can = falso)então escreval("Digite somente operações validas :") fimse ate(can = verdadeiro) fimprocedimento //Procedimento que apresenta o Tutorial do jogo procedimento instrucao var i:inteiro inicio escreval("Instruções") escreval("|---------------------------------------|") escreval("Utilize letras maiúsculas.") escreval("|---------------------------------------|") para i de 1 ate 4 faca escolha(i) caso 1 escreval("Utilize as teclas 'W' para mover para CIMA.") caso 2 escreval("Utilize as teclas 'S' para mover para BAIXO.") caso 3 escreval("Utilize as teclas 'A' para mover para ESQUERDA.") caso 4 escreval("Utilize as teclas 'D' para mover para DIREITA.") fimescolha fimpara escreval("|---------------------------------------|") fimprocedimento //Procedimento que desordena os valores e verifica se há repetidos procedimento rand_vetor var b,num,m, i, j, k : inteiro inicio num <- ((n*n)-1) para i de 1 ate (n*n) faca repita m <- randi(num) b <- m + 1 para j de 1 ate i faca se (vet[j] = b ) então k <- k + 1 fimse fimpara se (k = 0) então vet[j] <- b interrompa senao k <- 0 fimse ate(i = num) k <- 0 fimpara fimprocedimento //Insere os valores nas matrizes,uma contendo o resultado e a outra não. procedimento set_matriz var g:inteiro inicio para i de 1 ate n faca para j de 1 ate n faca g <- g + 1 se((i = n) e (j = n))então mat_main[i,j] <- vet[g] senao mat_main[i,j] <- vet[g] mat_result[i,j] <- g fimse fimpara fimpara fimprocedimento procedimento print_matriz3 inicio escreval("/-------------\") para i de 1 ate n faca escreva("") para j de 1 ate n faca se(mat_main[i,j] = 0)então escreva("| |") k <- i l <- j senao escreva("|",mat_main[i,j]:2," |") fimse fimpara escreval("") fimpara escreval("\-------------/") fimprocedimento procedimento print_matriz4 inicio escreval("/------------------\") para i de 1 ate n faca escreva("") para j de 1 ate n faca se(mat_main[i,j] = 0)então escreva("| |") k <- i l <- j senao escreva("|",mat_main[i,j]:2," |") fimse fimpara escreval("") fimpara escreval("\------------------/") fimprocedimento procedimento print_matriz5 inicio escreval("/-----------------------\") para i de 1 ate n faca escreva("") para j de 1 ate n faca se(mat_main[i,j] = 0)então escreva("| |") k <- i l <- j senao escreva("|",mat_main[i,j]:2," |") fimse fimpara escreval("") fimpara escreval("\-----------------------/") fimprocedimento //Procedimento Principal procedimento link_start inicio repita limpatela escolha (n) caso 3 print_matriz3 caso 4 print_matriz4 caso 5 print_matriz5 fimescolha contador instrucao mover_quadrado ver_result ate(concluido = verdadeiro) limpatela escreval("Sucesso!!!") contador fimprocedimento procedimento main_menu var start:logico inicio escreval(" xxxxxxx xxxxxxx xx xx xxxxxxxxx xxxxxxxxx xx xxxxxxx") escreval(" xx xx xx xx xx xx xxx xxx xx xx ") escreval(" xxxxxxx xxxxxxx xx xx xxx xxx xx xxxxx ") escreval(" xx xx xx xx xx xxx xxx xx xx ") escreval(" xxxxxxx xx xxxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxx xxxxxxx") escreval() escreval("Aperte Enter para jogar") leia(start) fimprocedimento Inicio concluido <- falso cont <- -1 main_menu repita escreval("Digite um número de 3 a 5") leia(n) ate((n>=3) e (n<=5)) rand_vetor set_matriz // set_matriz_pronta(n) link_start Fimalgoritmo
×
×
  • Criar Novo...