Home › Fóruns › Programação Básica › Exercício 068
- Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 1 dia, 17 horas atrás por
Tutora Vera.
-
AutorPosts
-
-
10 de junho de 2026 às 08:23 #172915
Daniel C. Cunha
ParticipanteSaudações, estou vendo agora a correção do exercício 068. Sei que é melhor tentar procurar o tópico ja existente sobre o exercício em questão mas é meio que demorado ficar buscando um exercicio específico no fórum…
Vi logo no começo, que minha forma de pensar no exercicio está bem diferente…menos aprimorada, porém acredito ter chegado bem perto da proposta original. Eu pensei em dois vetores, um aparente e outro invisivel aparecendo somente quando se acerta a bomba. Gostaria de saber se o jeito que fiz está muito abaixo do esperado…programa
{inclua biblioteca Matematica –> m
inclua biblioteca Tipos –> t
inclua biblioteca Texto –> txt
inclua biblioteca Util –> ufuncao inicio()
{caracter mTabu[5][5], game[5][5]
logico hit = falso
inteiro tentativas = 5, cont = 0, pontos = 0, linha = 0, coluna = 0, bombas = 6para(inteiro l = 0; l < u.numero_linhas(mTabu); l++) { // faz o tabuleiro de ? ? ? ? ?
escreva(“\n”)
para(inteiro c = 0; c < u.numero_colunas(mTabu); c++) {
mTabu[l][c] = ‘?’
}
}para(inteiro l = 0; l < u.numero_linhas(game); l++) { // faz o tabuleiro invisivel para por as bombas
para(inteiro c = 0; c < u.numero_colunas(game); c++) {
game[l][c] = ‘-‘
}
}para(inteiro c = 0; c < bombas; c++) { // sorteia as bombas no tabuleiro invisivel
game[u.sorteia(0, 4)][u.sorteia(0, 4)] = ‘O’
}escreva(“{ EXERCÍCIO 068 – Jogo do Campo Minado }\n”)
para(cont = 0; cont < tentativas; cont++) { // loop das 5 tentativasse(hit == falso) { // hit = falso, quer dizer que nao acertou bombas
para(inteiro l = 0; l < u.numero_linhas(mTabu); l++) { // escreve o tabuleiro de ‘?’ na tela
escreva(“\n”)
para(inteiro c = 0; c < u.numero_colunas(mTabu); c++) {
escreva(mTabu[l][c], ” “)
}
}escreva(“\n————————————————–“)
escreva(“\nFaça sua jogada! (Tentativa: “, cont, ” de “, tentativas, “)\n”)
faca {
escreva(“LINHA = “)
leia(linha) // entrada de dados ‘linha’
} enquanto(nao(linha >=0 e linha <= 4))faca {
escreva(“COLUNA = “)
leia(coluna) // entrada de dados ‘coluna’
} enquanto(nao(coluna >= 0 e coluna <= 4))escreva(“\n————————————————–“)
para(inteiro l = 0; l < u.numero_linhas(game); l++) { // loop para verificar o acerto da bomba ou não
para(inteiro c = 0; c < u.numero_colunas(game); c++) {
se(game[linha][coluna] == ‘O’) {
hit = verdadeiro
game[linha][coluna] = ‘#’
pare
} senao {
mTabu[linha][coluna] = ‘X’
game[linha][coluna] = ‘X’
pare
}
}
pare
}} senao { // se hit = verdadeiro
para(inteiro l = 0; l < u.numero_linhas(game); l++) {
escreva(“\n”)
para(inteiro c = 0; c < u.numero_colunas(game); c++) {
escreva(game[l][c], ” “)
// local ruim para hit = falso
}
}
pare
}
se(hit == verdadeiro) {
escreva(“\n–> TIRO ERRADO! Acertou uma Bomba! “)
escreva(“\nFIM DE JOGO!”)
// local ruim para hit = falso
} senao {
escreva(“\n–> ATIROU CERTO! Não acertou nenhuma Bomba! “)
pontos+= 2
se(cont == 4) {
escreva(“\nFIM DE JOGO!”)
para(inteiro l = 0; l < u.numero_linhas(game); l++) {
escreva(“\n”)
para(inteiro c = 0; c < u.numero_colunas(game); c++) {
escreva(game[l][c], ” “)
// local ruim para hit = falso
}
}
}
}
// local ruim para hit = falso
} // fim do loop das 5 tentativas
escreva(“\nVoce fez “, pontos, ” pontos em “, cont, ” tentativas.”)}
} -
10 de junho de 2026 às 09:42 #172916
Tutora Vera
MestreNão está abaixo do padrão não, pelo contrário. Basicamente vejo que você entendeu o conceito principal e isso é ótimo. Continue assim, é bem bacana ver que o mais importante foi a sua compreensão mesmo, o que não exime de um resultado para o outro quase equivalentes no mesmo nível e você não pensou em apenas fazer funcionar. Muito bom!
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.