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.