All pastes #59426 Raw Edit

Someone

public text v1 · immutable
#59426 ·published 2006-05-28 21:30 UTC
rendered paste body

program campo_minado;
uses crt;

type vetor = array[0..11,0..11] of integer;


 {==== declaracao das variaveis utilizadas no programa ===}
var
    vet: vetor;
    c,l:integer;
    i,j:integer;
    pos_i,pos_j:integer;
    a,b:integer;
    x: integer;

    {=== inicio da funcao bomba: verifica se a posicao é uma bomba ===}

function bomba(a,b:integer ; vet:vetor):boolean;
         begin
            if (vet[a,b] = 9) then
               bomba:=true
            else bomba:= false
         end;

     {== inicio do procedimento teste: verifica quantas bombas há na adjacência}
     procedure teste(a,b:integer ; vet:vetor)
            x:=0;
           if (vet[a+1,b] = 9) then
                  x:=x+1;
           if (vet[a-1,b] = 9) then
                  x:=x+1;
           if (vet[a,b+1] = 9) then
                  x:=x+1;
           if (vet[a,b-1] = 9) then
                  x:=x+1
           if(vet[a-1,b+1] = 9

     {=== INICIO DO PROGRAMA PRINCIPAL ===}
begin

      {=== inicializacao do vetor ===}
      randomize;
       for i:= 0 to 11 do
           begin
                for j:=0 to 11 do
                vet[i,j]:=0
           end;

        {=== determinacao aleatoria da posicao das bombas ===}

       for i:= 1 to 40 do
           begin
            pos_i:= random(10) + 1;
            pos_j:= random(10) +1;
            while ( vet[pos_i, pos_j] = 9 ) do
                  begin
                  pos_i:= random(10) + 1;
                  pos_j:= random(10) +1;
                  end;
            vet[pos_i,pos_j]:=9;
            end;

      {=== imprime a matriz inicial ===}

      c:=1;
      l:=1;
      for i := 1 to 10 do
          write(i, '  ');
          writeln;

      for i:= 1 to 10 do
          begin
               for j:=1 to 10 do
                   begin
                        gotoxy(c,l+1);
                        write('_');
                        c:=c+3;
                        if (j = 10) then
                           writeln(' ', i:3);
                   end;
                l:=l+1;
             c:=1;
           end;

writeln;
writeln;


    write('digite a linha: '); readln(a);
    write('digite a coluna:  '); readln(b);
    if bomba(a,b,vet)= true then
       write('Na posicao escolhida ha uma boma.Voce perdeu.');

   readln;
end.