gustavorog8
(usa Outra)
Enviado em 29/07/2014 - 23:31h
Program campo_minado;
uses crt;
var mat_a:array[1..20,1..20] of integer;
jogador,literal:string;
mat_b:array[1..20,1..20] of integer;
x,y:integer;
linha,coluna,linha_v,coluna_v:integer;
cont_bomba,pos_mat,total_bomba,total_sem_bomba:integer;
sn_camp:integer;
jogada:string;
Begin
total_bomba:=0;
pos_mat:=0;
for linha:=1 to 20 do
for coluna:=1 to 20 do
repeat
writeln('informe o elemento (*) para local com bomba e (-) para local sem bomba');
read(mat_a[linha,coluna]);
until (mat_a[linha,coluna]= '*' or mat_a[linha,coluna]= '-');
pos_matpos_mat([+1]);
end;
end;
for linha:=1 to 20 do
for coluna:=1 to 20 do
cont_bomba:=0;
for linha_v:= linha-1 to linha+1 do
for coluna_v:=coluna-1 to coluna+1 do
if (linha_v > 0) and (linha_v < 21) and (coluna_v > 0) and (coluna_v < 21) and (linha_v <> linha) and (coluna_v <> coluna) and (mat_a[linha_v,coluna_v]= '*') then
total_bombatotal_bomba([+1]);
mat_b[linha,coluna]:=cont_bomba;
total_sem_bombapos_mat_total_bomba;
jogada:='começar';
while (jogada <> 'terminar') do
repeat
writeln('informe a posiçao x,y para sua jogada');
repeat
writeln('informe a posiçao para x(linha)');
read(x);
until (x>1) and (x<21);
repeat
writeln('informe a posiçao para y(coluna)');
read(y);
until (y>1) and (y<21);
for linha:=1 to 20 do
for coluna:=1 to 20 do
if(x=linha) and (y=coluna) then
if mat_a[linha,coluna]= '*' then
begin
jogada:='terminar';
end;
writeln('bomba voce perdeu o jogo');
mat_a[linha,coluna]:='O';
jogada:='começar';
writeln('jogada ja feita antes,por favor escolha outra posiçao');
mat_a[linha,coluna]:='-';
writeln('jogado feita');
writeln('esta posicao possui',mat_b[linha,coluna],'bomba(s) vizinha(s)');
mat_a[linha,coluna]:='O';
sn_camptotal_sem_bomba([-1]);
jogada:='comecar';
if sn_camp = 0 then
jogada:='terminar';
writeln('parabens,voce foi o campeao do jogo');
End.