Pascal/Turbo Pascal - combate naval (matrices)

 
Vista:

combate naval (matrices)

Publicado por mauricio antonio baeza riquel (14 intervenciones) el 28/06/2006 22:28:49
otra ves por aca
bueno a hora tengo que realizar un juego con matrices creo que no tiene mayores complicaciones
pero me gustaria escuchar de los grandes
que me dieran algunos consejos para realizar el juego bueno encomendandome a las buenas voluntades me despido hasta luego
mauro
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:combate naval (matrices)

Publicado por Allan Andrade (48 intervenciones) el 28/06/2006 23:46:32
Hace mucho realice este juego para ayudar a otro amigo del forum, muy parecido al juego naval se llama tiro al blanco hay te va .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
program campo_de_tiro;
uses crt;
var
   mapa: array[1..80,1..20] of byte; { el mapa de 80 columnas (x) }
   salir : boolean;                  { 20 filas (y) }
   disp : word;
 
procedure inicializa;
var
   i,j : byte;
begin
     disp:=0;
     for i:=1 to 80 do           { inicializa el mapa colocando todas }
         for j:=1 to 20 do       { las posiciones = 0 }
             mapa[i,j]:=0;
     randomize;                          { coloca en un punto aleatorio del }
     mapa[random(79+1),random(19+1)]:=1; { mapa, el blanco = 1}
end;
 
procedure dibuja_mapa;      { se encarga de dibujar el mapa cada turno }
var
   x,y : byte;
begin
     for x:=1 to 80 do
         for y:=1 to 20 do
         begin
              gotoxy(x,y);
              if (mapa[x,y]<>2) then write(0)   { aqui si la coordena es }
              else write('o');                  { = 2 (disparo) pone 'o' }
         end;
end;
 
procedure controla;                 { controla las coordenadas del }
var                                 { disparo hecho = 2}
   xx,yy : byte;
begin
     writeln('coordenadas x,y');
     clreol;write('para (x) : ');readln(xx);
     clreol;write('para (y) : ');readln(yy);
     if (xx=0) and (yy=0) then salir:=true; { si ingresa x=0 y y=0 sales del juego }
     mapa[xx,yy]:=2;
     inc(disp);
     if mapa[xx,yy]=1 then
     begin
          writeln('en el blanco - presione enter para salir');  { si le diste }
          writeln('disparos realizados : ',disp);               { sales del }
          readln;                                               { juego }
          salir:=true;
     end;
end;
 
begin
     salir:=false;
     clrscr;
     inicializa;
     repeat
           dibuja_mapa;
           controla;
     until(salir);
end.

solo para que te des una idea.
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:combate naval (matrices)

Publicado por pablo morales (1 intervención) el 12/07/2006 20:49:25
compadre ta super bueno el programa pero yo tengo que hacer uno similar megustaria contactarme contigo por correo .....
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:combate naval (matrices)

Publicado por Allan Andrade (48 intervenciones) el 13/07/2006 01:00:24
Aquí les pongo nuevamente el código de tiro al blanco, esta ocasión le realice unos cambios, ahora si te rindes solo pon 101 para X 101 para Y y te desplegara donde esta el Blanco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
program campo_de_tiro;
uses crt;
var
   mapa: array[1..80,1..20] of byte; { el mapa de 80 columnas (x) }
   salir : boolean;                  { 20 filas (y) }
   disp : word;
 
procedure inicializa;
var
   i,j : byte;
begin
     disp:=0;
     for i:=1 to 80 do           { inicializa el mapa colocando todas }
         for j:=1 to 20 do       { las posiciones = 0 }
             mapa[i,j]:=0;
     randomize;                          { coloca en un punto aleatorio del }
     mapa[random(79+1),random(19+1)]:=1; { mapa, el blanco = 1}
end;
 
procedure dibuja_mapa;      { se encarga de dibujar el mapa cada turno }
var
   x,y : byte;
begin
     for x:=1 to 80 do
         for y:=1 to 20 do
         begin
              gotoxy(x,y);
              if (mapa[x,y]<>2) then write(0)   { aqui si la coordena es }
              else write('o');                  { = 2 (disparo) pone 'o' }
         end;
end;
 
procedure controla;                 { controla las coordenadas del }
var                                 { disparo hecho = 2}
   xx,yy : byte;
   loopx,loopy : byte;
begin
     writeln('coordenadas x,y');
     clreol;write('para (x) : ');readln(xx);
     if (xx=101) and (yy=101) then  {El trukillo}
     begin
          for loopx:=1 to 80 do
              for  loopy:=1 to 20 do
              begin
                   gotoxy(loopx,loopy);
                   write(mapa[loopx,loopy]);
              end;
     end;
     clreol;write('para (y) : ');readln(yy);
     if (xx=0) and (yy=0) then salir:=true; { si ingresa x=0 y y=0 sales del juego }
     if mapa[xx,yy]=1 then
     begin
          writeln('en el blanco - presione enter para salir');  { si le diste }
          writeln('disparos realizados : ',disp);               { sales del }
          readln;                                               { juego }
          salir:=true;
     end;
     mapa[xx,yy]:=2;
     inc(disp);
end;
 
begin
     salir:=false;
     clrscr;
     inicializa;
     repeat
           dibuja_mapa;
           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

RE:combate naval (matrices)

Publicado por Allan Andrade (48 intervenciones) el 14/07/2006 16:50:29
Ups creo que me equivoque en algo pero ya esta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
program campo_de_tiro;
uses crt;
var
mapa: array[1..80,1..20] of byte; { el mapa de 80 columnas (x) }
salir : boolean; { 20 filas (y) }
disp : word;
 
procedure inicializa;
var
i,j : byte;
begin
disp:=0;
for i:=1 to 80 do { inicializa el mapa colocando todas }
for j:=1 to 20 do { las posiciones = 0 }
mapa[i,j]:=0;
randomize; { coloca en un punto aleatorio del }
mapa[random(79+1),random(19+1)]:=1; { mapa, el blanco = 1}
end;
 
procedure dibuja_mapa; { se encarga de dibujar el mapa cada turno }
var
x,y : byte;
begin
for x:=1 to 80 do
for y:=1 to 20 do
begin
gotoxy(x,y);
if (mapa[x,y]<>2) then write(0) { aqui si la coordena es }
else write('o'); { = 2 (disparo) pone 'o' }
end;
end;
 
procedure controla; { controla las coordenadas del }
var { disparo hecho = 2}
xx,yy : byte;
loopx,loopy : byte;
begin
writeln('coordenadas x,y');
clreol;write('para (x) : ');readln(xx);
clreol;write('para (y) : ');readln(yy);
if (xx=101) and (yy=101) then {El trukillo}
begin
for loopx:=1 to 80 do
for loopy:=1 to 20 do
begin
gotoxy(loopx,loopy);
write(mapa[loopx,loopy]);
end;
end;
if (xx=0) and (yy=0) then salir:=true; { si ingresa x=0 y y=0 sales del juego }
if mapa[xx,yy]=1 then
begin
writeln('en el blanco - presione enter para salir'); { si le diste }
writeln('disparos realizados : ',disp); { sales del }
readln; { juego }
salir:=true;
end;
mapa[xx,yy]:=2;
inc(disp);
end;
 
begin
salir:=false;
clrscr;
inicializa;
repeat
dibuja_mapa;
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

RE:combate naval (matrices)

Publicado por Allan Andrade (48 intervenciones) el 28/06/2006 23:58:11
Hace mucho realice este juego para ayudar a otro amigo del forum, muy parecido al juego naval se llama tiro al blanco hay te va .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
program campo_de_tiro;
uses crt;
var
   mapa: array[1..80,1..20] of byte; { el mapa de 80 columnas (x) }
   salir : boolean;                  { 20 filas (y) }
   disp : word;
 
procedure inicializa;
var
   i,j : byte;
begin
     disp:=0;
     for i:=1 to 80 do           { inicializa el mapa colocando todas }
         for j:=1 to 20 do       { las posiciones = 0 }
             mapa[i,j]:=0;
     randomize;                          { coloca en un punto aleatorio del }
     mapa[random(79+1),random(19+1)]:=1; { mapa, el blanco = 1}
end;
 
procedure dibuja_mapa;      { se encarga de dibujar el mapa cada turno }
var
   x,y : byte;
begin
     for x:=1 to 80 do
         for y:=1 to 20 do
         begin
              gotoxy(x,y);
              if (mapa[x,y]<>2) then write(0)   { aqui si la coordena es }
              else write('o');                  { = 2 (disparo) pone 'o' }
         end;
end;
 
procedure controla;                 { controla las coordenadas del }
var                                 { disparo hecho = 2}
   xx,yy : byte;
begin
     writeln('coordenadas x,y');
     clreol;write('para (x) : ');readln(xx);
     clreol;write('para (y) : ');readln(yy);
     if (xx=0) and (yy=0) then salir:=true; { si ingresa x=0 y y=0 sales del juego }
     mapa[xx,yy]:=2;
     inc(disp);
     if mapa[xx,yy]=1 then
     begin
          writeln('en el blanco - presione enter para salir');  { si le diste }
          writeln('disparos realizados : ',disp);               { sales del }
          readln;                                               { juego }
          salir:=true;
     end;
end;
 
begin
     salir:=false;
     clrscr;
     inicializa;
     repeat
           dibuja_mapa;
           controla;
     until(salir);
end.

solo para que te des una idea.
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
sin imagen de perfil

RE:combate naval (matrices)

Publicado por Willy (177 intervenciones) el 29/06/2006 00:21:56
ja ja ja ja !!
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:combate naval (matrices)

Publicado por Sasti (4 intervenciones) el 29/06/2006 09:21:41
Hola, soy Sasti (valga la redundancia, soy principiante)
He provado el codigo del juega naval i no me funciona en esta linia

f (mapa[x,y]<>2) then write(0) { aqui si la coordena es }

el error me lo da en el simbolo &

Utilizo compilador Turbo Pascal de Broland

Es culpa de mi compilador? o el codigo contiene algun error?

Gracias

Sasti
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:combate naval (matrices)

Publicado por Diego Romero (996 intervenciones) el 29/06/2006 16:15:21
Es un bug de este foro, como filtra los caracteres que se usan en código HTML los cambia por su equivalente. Donde leas > debes poner el caracter "más grande que" o sea >

Off topic: Sasti, he respondido tus dos correos pero parece que no los has recibido, probablemente porque tu programa de correo los toma como spam.
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:combate naval (matrices)

Publicado por Allan Andrade (48 intervenciones) el 29/06/2006 19:30:22
Solo para aclarar un poco las cosas el código que puse en este forum sobre juego de naval NO ES UN JUEGO DE NAVAL solo es un juego similar de tiro al blanco, solo para darles una idea de cómo hacer el bendito juego PUNTO.
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