Hundir la flota
Publicado por Novaspace (1 intervención) el 18/04/2004 20:08:01
Wenas,estoy haciendo el hundir la flota en pascal y al colocar los barcos he hecho un ciclo para comprobar previamente si alrededor solo hay agua,pero hay algo que no me funciona porque hay veces que se cruzan dos "barcos" y se supone que alrededor ha de haber solo agua.Los barcos son 1 y el agua 0,el ciclo que he hecho para comprobarlo es el siguiente:
For i:=1 to 10 do
For j:=1 to 10 do A[i,j]:=1;
For i:=3 to 5 do
For j:=3 to 6 do A[i,j]:=0;
Randomize;
1:h:=random(4)+1;
i:=random(10)+1;
c:=i;
j:=random(10)+1;
d:=j;
If h=1 then If j=10 then goto 1 else
Begin
For i:=i-1 to i+1 do
For j:=j-1 to j+2 do
If (i or j <1) or (i or j >10) or (A[i,j]=0) then b:=b+5;
If b<>12 then goto 1 else
Begin
A[c,d]:=1;
A[c,d+1]:=1;
end;
end;
H es la orientacion de los barcos,aqui solo pongo una opcion porque el resto son iguales.En este caso se trata del barco de dos espacios,se supone que tendria que quedar algo asi:
0000
0110
0000
Muchas gracias
For i:=1 to 10 do
For j:=1 to 10 do A[i,j]:=1;
For i:=3 to 5 do
For j:=3 to 6 do A[i,j]:=0;
Randomize;
1:h:=random(4)+1;
i:=random(10)+1;
c:=i;
j:=random(10)+1;
d:=j;
If h=1 then If j=10 then goto 1 else
Begin
For i:=i-1 to i+1 do
For j:=j-1 to j+2 do
If (i or j <1) or (i or j >10) or (A[i,j]=0) then b:=b+5;
If b<>12 then goto 1 else
Begin
A[c,d]:=1;
A[c,d+1]:=1;
end;
end;
H es la orientacion de los barcos,aqui solo pongo una opcion porque el resto son iguales.En este caso se trata del barco de dos espacios,se supone que tendria que quedar algo asi:
0000
0110
0000
Muchas gracias
Valora esta pregunta


0