Felipe Barbour

Respostas no Fórum

Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • em resposta a: ex068 #98287
    Felipe Barbour
    Participante

    Bom dia, rsrs….
    Entaooo, eu consegui chegar ao resultado esperado, porém minha lógica está com um pequeno problema, as vezes ele sorteia 3 bombas ou 4 bombas, ao verificar a lógica do professor creio que eu fiz pelo caminho mais difícil, gostaria de um auxilio referente a minha lógica, segue abaixo:

    programa
    {
    inclua biblioteca Util –> u
    funcao inicio()
    {
    inteiro totcerto = 0, tot=1
    cadeia jogo[4][4]

    escreva(“{ EXERCÍCIO – 068 Jogo Campo Minado }\n”)
    escreva (“BOMBA = O”)
    escreva (“\nSua jogada = V\n”)
    para (inteiro sort = 0; sort < u.numero_colunas(jogo); sort++){
    inteiro l = u.sorteia(0, u.numero_linhas(jogo)-1)
    inteiro c = u.sorteia(0, u.numero_colunas(jogo)-1)
    jogo[l][c] = ” O ”
    }
    para (inteiro l = 0; l < u.numero_linhas(jogo); l++){
    para (inteiro c = 0; c < u.numero_colunas(jogo); c++){
    se (jogo[l][c] != ” O “){
    jogo[l][c] = “-”
    }
    }
    }
    para (inteiro l = 0; l < u.numero_linhas(jogo); l++){
    para (inteiro c = 0; c < u.numero_colunas(jogo); c++){
    se (jogo[l][c] != ” V “){
    escreva (” ? “)
    }
    }
    escreva (“\n”)
    }
    escreva (“———————————————–“)
    para (inteiro sort = 0; sort < u.numero_colunas(jogo); sort++){
    inteiro l
    inteiro c
    escreva (“\nFaça sua jogada! (Tentativa: “, tot, “)\n”)
    escreva (“LINHA = “)
    leia (l)
    escreva (“\nColuna = “)
    leia (c)
    escreva (“———————————————–“)
    se (jogo[l][c] != ” O “){
    escreva (“\n–> ATIROU CERTO! Não acertou nenhuma bomba!!\n”)
    jogo[l][c] = ” V ”
    totcerto+=2
    tot++

    para ( l = 0; l < u.numero_linhas(jogo); l++){
    para ( c = 0; c < u.numero_colunas(jogo); c++){
    se (jogo[l][c] != ” V “){
    escreva (” ? “)
    } senao {
    escreva (jogo[l][c])
    }
    }
    escreva (“\n”)
    }

    } senao {
    se (jogo[l][c] == ” O “){
    escreva (“\n–> TIRO ERRADO! Acertou uma BOMBA!!”)
    escreva (“\n\n\n”)
    escreva (“———————————————–“)
    escreva (“\nFIM DO JOGO!\n”)
    para (l = 0; l < u.numero_linhas(jogo); l++){
    para (c = 0; c < u.numero_colunas(jogo); c++){
    se (jogo[l][c] != ” O ” e jogo [l][c] != ” V “){
    jogo[l][c] = ” – ”
    }
    escreva (jogo[l][c])
    }
    escreva (“\n”)
    }
    escreva (“\nVocê fez “, totcerto, ” pontos, em “, tot, ” tentativas!!\n”)
    escreva (“———————————————–“)
    pare
    }
    }
    }
    }
    }

    em resposta a: Exercicio – 54 estrutura de repetição validadando dados. #97940
    Felipe Barbour
    Participante

    Boa tarde!!

    Realizei a ativade 054, porém gostaria de opiniões sobre o meu código, e se da para melhora-lo

    Segue abaixo o Código:

    programa
    {

    inclua biblioteca Texto –> txt
    inclua biblioteca Tipos –> t
    funcao inicio()
    {
    inteiro c = 0, idade = 0, maioridade = 0, menoridade = 0
    cadeia teclado1, teclado2, nome = ” “, nomeM = ” “, nomeME = ” ”
    caracter resp = ‘ ‘

    escreva (“{ EXERCÍCIO 054 – Pessoas Validadas }”)
    faca{
    enquanto (verdadeiro){
    escreva (“\n”, (c+1), “° Pessoa “)
    escreva (“\n\nNome: “)
    leia (nome)

    se (txt.numero_caracteres(nome) >= 3){
    enquanto (verdadeiro){
    escreva (“\nIdade: “)
    leia (teclado2)
    se (t.cadeia_e_inteiro(teclado2, 10)){
    idade = t.cadeia_para_inteiro(teclado2, 10)
    se (idade > 0 e idade < 130){
    c++
    se (c == 1){
    maioridade = idade
    menoridade = idade
    nomeM = nome
    nomeME= nome
    } senao {
    se (idade > maioridade){
    maioridade = idade
    nomeM = nome
    pare
    } senao {
    se (idade < menoridade){
    menoridade = idade
    nomeME = nome
    pare
    }
    }
    }

    pare
    } senao {
    escreva (“<<ERROR>> IDADE INVÁLIDA, A idade deve estar entre 1 e 130, tente novamente\n”)

    }
    } senao {
    escreva (“<<ERROR>> IDADE INVÁLIDA, A idade deve ser um número inteiro, tente novamente\n”)

    }
    }
    }senao {
    escreva (“<<ERROR>> O nome, deve ter pelo menos 3 caracteres!! Tente novamente\n”)

    }
    se (txt.numero_caracteres(nome) >= 3){
    pare
    }

    }
    escreva (“\nQuer continuar? [S/N] “)
    leia (resp)

    }enquanto (resp == ‘s’ ou resp == ‘S’)
    escreva (“\n-=-=-=-=-=-=-= Resultados -=-=-=-=-=-=-=”)
    escreva (“\nAo todo, você cadastrou “, c, ” pessoas.”)
    escreva (“\n”, nomeM, ” é a pessoa mais velha, com “, maioridade, ” anos.”)
    escreva (“\n”, nomeME, ” é a pessoa mais jovem, com “, menoridade, ” anos.”)
    }
    }

Visualizando 2 posts - 1 até 2 (de 2 do total)