Pascal/Turbo Pascal - The life in the ship

 
Vista:

The life in the ship

Publicado por Marco Obando (2 intervenciones) el 07/04/2006 21:30:54
Alguien que me pueda ayudar a avanzar en mi proyecto x favor, tengo unas dudas sobre como empezar es un proyecto muy similar a buscaminas, cualquier ayuda o sugerencia sera bien recibida:

La compañía de juegos electrónicos, Funny Games, ha decidido crear un nuevo juego para lanzarlo al mercado. El nombre del juego es “The life for a ship” (“La vida por un barco”). El entorno del juego se desarrolla de la siguiente manera: En una matriz de 10 x 10, la cual simula un océano, se han perdido cinco barcos.

En este océano habitan 10 tiburones. Su tarea será recorrer a nado el océano hasta encontrar los cinco barcos. Cada vez que usted es atrapado por un tiburón se le resta una vida.

A lo largo del océano también hay cinco botes, cada uno de los cuales le aumentará en uno su cantidad de vidas al ser ubicado. En cada turno, el participante elegirá coordenadas donde desea buscar.

Ganará el jugador que encuentre los cinco barcos sin haber perdido todas sus vidas. Cada vez que acierte, el programa le incrementará sus puntos en 10.

El juego terminará cuando el náufrago haya sido devorado diez veces.

En un archivo, deberá controlar los diez mejores puntajes (top ten) obtenidos por los jugadores, así como la mejor calificación. Esta será actualizada cada vez que alguien mejore dicha puntuación y visualizada al finalizar el juego.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:The life in the ship

Publicado por Allan Andrade (48 intervenciones) el 07/04/2006 22:55:32
yo te ayudo nada mas pregunta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:The life in the ship

Publicado por Marco Obando (2 intervenciones) el 08/04/2006 03:06:32
hola que tal este es el programa que tengo que hacer

. La compañía de juegos electrónicos, Funny Games, ha decidido crear un nuevo juego para lanzarlo al mercado. El nombre del juego es "The life for a ship" ("La vida por un barco"). El entorno del juego se desarrolla de la siguiente manera: En una matriz de 10 x 10, la cual simula un océano, se han perdido cinco barcos.



En este océano habitan 10 tiburones. Su tarea será recorrer a nado el océano hasta encontrar los cinco barcos. Cada vez que usted es atrapado por un tiburón se le resta una vida.



A lo largo del océano también hay cinco botes, cada uno de los cuales le aumentará en uno su cantidad de vidas al ser ubicado. En cada turno, el participante elegirá coordenadas donde desea buscar.



Ganará el jugador que encuentre los cinco barcos sin haber perdido todas sus vidas. Cada vez que acierte, el programa le incrementará sus puntos en 10.



El juego terminará cuando el náufrago haya sido devorado diez veces.



En un archivo, deberá controlar los diez mejores puntajes (top ten) obtenidos por los jugadores, así como la mejor calificación. Esta será actualizada cada vez que alguien mejore dicha puntuación y visualizada al finalizar el juego.

esto es mas o menos lo que llevo

const
NADA = 0;
TIBURON = 1;
BARCO = 2;
var
Mar: array[1..10,1..10] of Byte;

{Esto inicia el tablero poniendo tiburones y barcos en siempre la misma posicion,
despues, con otro procedimiuento se mezcla}
procedure Init;
var
i,j : integer;
begin
for i:=1 to 10 do
for J:=1 to 10 do
Mar[i,j] := NADA;
for i:=1 to 10 do Mar[i,1] := TIBURON;
for i:=1 to 5 do Mar[i,2] := BARCO;
end;

{Intercambia dos variables}
procedure Intercambiar(var A,B: Integer);
var
C: Integer;
begin
C := A;
A := B;
B := C;
end;

{esto mezcla los campos y los desordena, de manera que uno se asegura que
hay 10 tiburones y 10 barcos}
procedure Mezclar;
var
i,j, nI, nJ: integer;
begin
for i:=1 to 10 do
for J:=1 to 10 do
begin
nI := RAndom(10)+1;
nJ := RAndom(10)+1;
Intercambiar(Mar[i,j], Mar[nI, nJ];
end;
end;


ahora lo que no se como hacer el procedimiento que me permita dentro del juego manejarme con coordenadas para que el usuario se mueva dentro de la matriz...????
y que cuando el ponga el numero de filas y columnas en esa posicion me muestre si hay un tiburon un barco o nada????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:The life in the ship

Publicado por Allan Andrade (48 intervenciones) el 10/04/2006 21:24:16
Bien esto es lo que hice, modifique un poco tu código asi que no te enojes…

program nadar;
uses crt;
const
nada = 0;
tiburon = 1;
barco = 2;

var
Mar: array[1..10,1..10] of Byte;
vida,botes : byte;
salir : boolean;

procedure Inicializa;
var
i,j,c : byte;
begin
for i:=1 to 10 do
for j:=1 to 10 do
mar[i,j]:=nada;

randomize;

c:=1;
while (c<=10) do
begin
i:=random(9+1);
j:=random(9+1);
if (mar[i,j]=nada) then
begin
mar[i,j]:=tiburon;
c:=c+1;
end;
end;

c:=1;
while (c<=5) do
begin
i:=random(9+1);
j:=random(9+1);
if (mar[i,j]=nada) then
begin
mar[i,j]:=barco;
c:=c+1;
end;
end;

end;

procedure dibuja_mar;
var
x,y : byte;
begin
clrscr;
for x:=1 to 10 do
for y:=1 to 10 do
begin
gotoxy(x,y);
if (mar[x,y]<>3) then write(0)
else write(mar[x,y]);
writeln;
end;
writeln('VIDA = ',vida);
writeln('BARCOS = ',botes);
end;

procedure controla;
var
xx,yy : byte;
begin
writeln('Coordenadas (1-10)');
write('Para (X) : ');readln(xx);
write('Para (Y) : ');readln(yy);
case mar[xx,yy] of
tiburon : vida:=vida-1;
barco : begin vida:=vida+1; botes:=botes+1; end;
end;
if (vida=0) or (botes=5) or (xx=0) then salir:=true;
mar[xx,yy]:=3;
end;

begin
vida:=10;
botes:=0;
salir:=false;
clrscr;
inicializa;
repeat
dibuja_mar;
controla;
until(salir);
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar