quarta-feira, 31 de maio de 2017

Codificando Batalha Naval em VisualG








Algoritmo "BatalhaNaval"


Var
  MinhaMatriz: Vetor[1..10,1..10] de Caracter
  coluna,linha,navio,boia,lancha,JogadaLinha,JogadaColuna,submarino:inteiro;
  TerminarJogo:Logico;
  
  
procedimento LimparMatriz
inicio
   PARA linha DE 1 ATÉ 10 FAÇA
      PARA coluna DE 1 ATÉ 10 FAÇA
         MinhaMatriz[linha,coluna] := "A"
      FIMPARA
   FIMPARA
fimprocedimento


Inicio
escreval("+++++++++  Batalha Naval  ++++++++++")
LimparMatriz

escreval("+++++++++  Gerando navios, boias, submarinos, lanchas  ++++++++++")

PARA navio DE 1 ATÉ 4 FAÇA
  linha := randi(10)
  coluna := randi(10)
  
  se linha = 0 entao
     linha:= linha + 1
  fimse
  
  se coluna = 0 entao
     coluna:= coluna + 1
  fimse
  
  MinhaMatriz[linha,coluna]:="N"
FIMPARA

PARA boia DE 1 ATÉ 4 FAÇA
  linha := randi(10)
  coluna := randi(10)
  
  se linha = 0 entao
     linha:= linha + 1
  fimse

  se coluna = 0 entao
     coluna:= coluna + 1
  fimse
  
  MinhaMatriz[linha,coluna]:="B"
FIMPARA

PARA submarino DE 1 ATÉ 2 FAÇA
  linha := randi(10)
  coluna := randi(10)

   se linha = 0 entao
     linha:= linha + 1
  fimse

  se coluna = 0 entao
     coluna:= coluna + 1
  fimse

  MinhaMatriz[linha,coluna]:="S"
FIMPARA


PARA lancha DE 1 ATÉ 2 FAÇA
  linha := randi(10)
  coluna := randi(10)

  se linha = 0 entao
     linha:= linha + 1
  fimse

  se coluna = 0 entao
     coluna:= coluna + 1
  fimse

  MinhaMatriz[linha,coluna]:="L"
FIMPARA


LimpaTela
escreval("+++++++++  Iniciando o jogo  ++++++++++")

TerminarJogo:=falso;

Enquanto  nao(TerminarJogo) FAÇA
  escreval("+++++++++  Digite o valor de uma linha (1-10)  ++++++++++")
  Leia(JogadaLinha)

  escreval("+++++++++  Digite o valor de uma coluna (1-10)  ++++++++++")
  Leia(JogadaColuna)
  
  se ((JogadaLinha = 0) E (JogadaColuna = 0)) entao
     TerminarJogo:= verdadeiro;
  senao
    SE ((JogadaLinha >= 1) E (JogadaLinha <=10) E (JogadaColuna >= 1) E (JogadaColuna <=10)) ENTAO

     SE  MinhaMatriz[JogadaLinha,JogadaColuna] = "A" entao
       escreval("+++++++++  Splash  ++++++++++")
     fimse

     se MinhaMatriz[JogadaLinha,JogadaColuna] = "N" entao
         escreval("+++++++++  Navio  ++++++++++")
     fimse

     se MinhaMatriz[JogadaLinha,JogadaColuna] = "B" entao
           escreval("+++++++++  Boia  ++++++++++")
     fimse

     se MinhaMatriz[JogadaLinha,JogadaColuna] = "L" entao
        escreval("+++++++++  Lancha  ++++++++++")
     fimse

     se MinhaMatriz[JogadaLinha,JogadaColuna] = "S" entao
         escreval("+++++++++  Submarino  ++++++++++")
     fimse
     
     MinhaMatriz[JogadaLinha,JogadaColuna]:= "J"
     
  fimse
 fimse
FimEnquanto

Fimalgoritmo



Um comentário: