Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program morskoiboy;
- var
- i, j, vg, vg1, vg2, vg3, vg4, strok, stolb, strok1, stolb1, strok2, stolb2, strok3, stolb3, strok4, stolb4, svob, povtor: integer;
- m: array[1..10, 1..10] of integer;
- label nv, ng, nv1, ng1, nv2, ng2, nv3, ng3, pr;
- begin
- for i := 1 to 10 do
- for j := 1 to 10 do
- m[i, j] := 0;
- strok := random(1, 10);//4-и палубный корабль
- stolb := random(1, 10);
- vg := random(1, 2);
- case vg of
- 1:
- begin
- if strok + 3 > 10 then
- for i := strok downto strok - 3 do
- for j := stolb to stolb do
- m[i, j] := 1;
- if strok + 3 <= 10 then
- for i := strok to strok + 3 do
- for j := stolb to stolb do
- m[i, j] := 1;
- end;
- 2:
- begin
- if stolb + 3 > 10 then
- for i := strok to strok do
- for j := stolb downto stolb - 3 do
- m[i, j] := 1;
- if stolb + 3 < 10 then
- for i := strok to strok do
- for j := stolb to stolb + 3 do
- m[i, j] := 1;
- end;
- end;
- writeln(strok, ',', stolb,'-4 -палубный');
- {repeat //4-ех палубные корабли
- vg1 := random(1, 2);
- case vg1 of
- 1:
- begin
- stolb1:=0;
- strok1 := 1;
- nv:
- strok1 := strok1;
- stolb1 := stolb1 + 1;
- svob := 0;
- for i := strok1 to strok1 + 5 do
- for j := stolb1 to stolb1 + 2 do
- if m[i, j] = 1 then
- inc(svob);
- if svob > 0 then
- begin
- if stolb1 + 2 = 10 then
- begin
- strok1 := strok1 + 1;
- stolb1 := 0;
- goto nv;
- end;
- goto nv;
- end;
- if svob = 0 then
- begin
- if strok1=1 then strok1:=strok1-1;
- if stolb1=1 then stolb1:=stolb1-1;
- if strok2+5=10 then strok2:=strok2+1;
- if stolb2+2=10 then stolb2:=stolb2+1;
- strok1 := strok1 + 1;
- stolb1 := stolb1 + 1;
- for i := strok1 to strok1 + 3 do
- for j := stolb1 to stolb1 do
- m[i, j] := 1;
- end;
- inc(povtor);
- writeln(strok1, ',', stolb1,'-4 -палубный');
- end;
- 2:
- begin
- stolb1:=0;
- strok1 := 1;
- ng:
- strok1 := strok1;
- stolb1 := stolb1 + 1;
- svob := 0;
- for i := strok1 to strok1 + 2 do
- for j := stolb1 to stolb1 + 5 do
- if m[i, j] = 1 then
- inc(svob);
- if svob > 0 then
- begin
- if stolb1 + 5 = 10 then
- begin
- strok1 := strok1 + 1;
- stolb1 := 0;
- goto ng;
- end;
- goto ng;
- end;
- if svob = 0 then
- begin
- if strok1=1 then strok1:=strok1-1;
- if stolb1=1 then stolb1:=stolb1-1;
- if strok2+2=10 then strok2:=strok2+1;
- if stolb2+5=10 then stolb2:=stolb2+1;
- strok1 := strok1 + 1;
- stolb1 := stolb1 + 1;
- for i := strok1 to strok1 do
- for j := stolb1 to stolb1+3 do
- m[i, j] := 1;
- end;
- inc(povtor);
- writeln(strok1, ',', stolb1,'-4 -палубный');
- if stolb1 + 5 >= 10 then
- begin
- strok1 := strok1 + 1;
- stolb1 := 0;
- goto ng;
- end;
- end;
- end;
- until povtor=2;}
- povtor:=0;
- repeat //3-ех палубные корабли
- vg2 := random(1, 2);
- case vg2 of
- 1:
- begin
- stolb2:=0;
- strok2 := 1;
- nv1:
- strok2 := strok2;
- stolb2 := stolb2 + 1;
- svob := 0;
- for i := strok2 to strok2 + 4 do
- for j := stolb2 to stolb2 + 2 do
- if m[i, j] = 1 then
- inc(svob);
- if svob > 0 then
- begin
- if stolb2 + 2 = 10 then
- begin
- strok2 := strok2 + 1;
- stolb2 := 0;
- goto nv1;
- end;
- goto nv1;
- end;
- if svob = 0 then
- begin
- if strok2=1 then strok2:=strok2-1;
- if stolb2=1 then stolb2:=stolb2-1;
- if strok2+4=10 then strok2:=strok2+1;
- if stolb2+2=10 then stolb2:=stolb2+1;
- strok2 := strok2 + 1;
- stolb2 := stolb2 + 1;
- for i := strok2 to strok2 + 2 do
- for j := stolb2 to stolb2 do
- m[i, j] := 1;
- end;
- inc(povtor);
- writeln(strok2, ',', stolb2,'-3 -палубный');
- end;
- 2:
- begin
- stolb2:=0;
- strok2 := 1;
- ng1:
- strok2 := strok2;
- stolb2 := stolb2 + 1;
- svob := 0;
- for i := strok2 to strok2 + 2 do
- for j := stolb2 to stolb2 + 4 do
- if m[i, j] = 1 then
- inc(svob);
- if svob > 0 then
- begin
- if stolb2 + 4 = 10 then
- begin
- strok2 := strok2 + 1;
- stolb2 := 0;
- goto ng1;
- end;
- goto ng1;
- end;
- if svob = 0 then
- begin
- if strok2=1 then strok2:=strok2-1;
- if stolb2=1 then stolb2:=stolb2-1;
- if strok2+2=10 then strok2:=strok2+1;
- if stolb2+4=10 then stolb2:=stolb2+1;
- strok2 := strok2 + 1;
- stolb2 := stolb2 + 1;
- for i := strok2 to strok2 do
- for j := stolb2 to stolb2+2 do
- m[i, j] := 1;
- end;
- inc(povtor);
- writeln(strok2, ',', stolb2,'-3 -палубный');
- end;
- end;
- until povtor=3;
- povtor:=0;
- repeat //2-ух палубные корабли
- vg3 := random(1, 2);
- case vg3 of
- 1:
- begin
- stolb3:=0;
- strok3 := 1;
- nv2:
- strok3 := strok3;
- stolb3 := stolb3 + 1;
- svob := 0;
- for i := strok3 to strok3 + 3 do
- for j := stolb3 to stolb3 + 2 do
- if m[i, j] = 1 then
- inc(svob);
- if svob > 0 then
- begin
- if stolb3 + 2 = 10 then
- begin
- strok3 := strok3 + 1;
- stolb3 := 0;
- goto nv2;
- end;
- goto nv2;
- end;
- if svob = 0 then
- begin
- if strok3=1 then strok3:=strok3-1;
- if stolb3=1 then stolb3:=stolb3-1;
- if strok2+3=10 then strok2:=strok2+1;
- if stolb2+2=10 then stolb2:=stolb2+1;
- strok3 := strok3 + 1;
- stolb3 := stolb3 + 1;
- for i := strok3 to strok3 + 1 do
- for j := stolb3 to stolb3 do
- m[i, j] := 1;
- end;
- inc(povtor);
- writeln(strok3, ',', stolb3,'-2 -палубный',vg3);
- end;
- 2:
- begin
- stolb3:=0;
- strok3 := 1;
- ng2:
- strok3 := strok3;
- stolb3 := stolb3 + 1;
- svob := 0;
- for i := strok3 to strok3 + 2 do
- for j := stolb3 to stolb3 + 3 do
- if m[i, j] = 1 then
- inc(svob);
- if svob > 0 then
- begin
- if stolb3 + 3 = 10 then
- begin
- strok3 := strok3 + 1;
- stolb3 := 0;
- goto ng2;
- end;
- goto ng2;
- end;
- if svob = 0 then
- begin
- if strok3=1 then strok3:=strok3-1;
- if stolb3=1 then stolb3:=stolb3-1;
- if strok2+2=10 then strok2:=strok2+1;
- if stolb2+3=10 then stolb2:=stolb2+1;
- strok3 := strok3 + 1;
- stolb3 := stolb3 + 1;
- for i := strok3 to strok3 do
- for j := stolb3 to stolb3+1 do
- m[i, j] := 1;
- end;
- inc(povtor);
- writeln(strok3, ',', stolb3,'-2 -палубный',vg3);
- end;
- end;
- until povtor=4;
- povtor:=0;
- repeat //1 палубные корабли
- vg4 := random(1, 2);
- case vg4 of
- 1:
- begin
- stolb4:=0;
- strok4 := 1;
- nv3:
- strok4 := strok4;
- stolb4 := stolb4 + 1;
- svob := 0;
- for i := strok4 to strok4 + 2 do
- for j := stolb4 to stolb4 + 2 do
- if m[i, j] = 1 then
- inc(svob);
- if svob > 0 then
- begin
- if stolb4 + 2 = 10 then
- begin
- strok4 := strok4 + 1;
- stolb4 := 0;
- goto nv3;
- end;
- goto nv3;
- end;
- if svob = 0 then
- begin
- if strok4=1 then strok4:=strok4-1;
- if stolb4=1 then stolb4:=stolb4-1;
- if strok2+2=10 then strok2:=strok2+1;
- if stolb2+2=10 then stolb2:=stolb2+1;
- strok4 := strok4 + 1;
- stolb4 := stolb4 + 1;
- for i := strok4 to strok4 do
- for j := stolb4 to stolb4 do
- m[i, j] := 1;
- end;
- inc(povtor);
- writeln(strok4, ',', stolb4,'-1 -палубный',vg4);
- end;
- 2:
- begin
- stolb4:=0;
- strok4 := 1;
- ng3:
- strok4 := strok4;
- stolb4 := stolb4 + 1;
- svob := 0;
- for i := strok4 to strok4 + 2 do
- for j := stolb4 to stolb4 + 2 do
- if m[i, j] = 1 then
- inc(svob);
- if svob > 0 then
- begin
- if stolb4 + 2 >= 10 then
- begin
- strok4 := strok4 + 1;
- stolb4 := 0;
- goto ng3;
- end;
- goto ng3;
- end;
- if svob = 0 then
- begin
- if strok4=1 then strok4:=strok4-1;
- if stolb4=1 then stolb4:=stolb4-1;
- if strok2+2=10 then strok2:=strok2+1;
- if stolb2+2=10 then stolb2:=stolb2+1;
- strok4 := strok4 + 1;
- stolb4 := stolb4 + 1;
- for i := strok4 to strok4 do
- for j := stolb4 to stolb4 do
- m[i, j] := 1;
- end;
- inc(povtor);
- writeln(strok4, ',', stolb4,'-1 -палубный',vg4);
- end;
- end;
- until povtor=5;
- for i := 1 to 10 do
- begin
- for j := 1 to 10 do
- write(m[i, j]:3);
- writeln;
- end;
- writeln(strok, ',', stolb);
- writeln(strok1, ',', stolb1);
- writeln(vg);
- writeln(vg1);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement