Ir al contenido



Foto

Juego en pascal ''SENET''

Juego Juegos Pascal Senet Matriz Arreglos Ayuda Game

  • Por favor identifícate para responder
6 respuestas en este tema

#1 cirkisys

cirkisys

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 16 mayo 2015 - 11:07

Quiero saber si me podrían ayudar a solucionar los problemas que tiene este codigo, es un juego llamado SENET
 

php
  1. Program Senet;
  2. uses
  3. crt;
  4.  
  5.  
  6. Const
  7. N=3;
  8. M=10;
  9. S=1;
  10. Type
  11. Matriz = Array [1..N,1..M] of Integer;
  12. Var
  13. X: Matriz;
  14.  
  15.  
  16.  
  17.  
  18. PROCEDURE presentacion; {presentacion del programa}
  19. Begin
  20.  
  21.  
  22. Writeln ('.........................................');
  23. Writeln ('              ---- SENET ----              ');
  24. Writeln ('.........................................');
  25. Writeln;
  26. Writeln; 
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. PROCEDURE JUGAR; {Codigo del juego}
  34.  
  35.  
  36. Procedure llenarmatriz (Var X: Matriz);
  37. Var F,C: Integer;
  38.  
  39.  
  40. begin
  41.  
  42.  
  43.    Randomize;
  44.    For F:= 1 to N do
  45.      Begin
  46.        For C:= 1 to M do
  47.          begin
  48.           X[F, C]:= Random(10);
  49.           End;
  50.  
  51.  
  52.      End;
  53.  
  54.  
  55. Procedure mostrarmatriz (Var Y: Matriz);
  56. Var F,C,S: Integer;
  57. Begin
  58.       For F:=1 to N do
  59.         Begin
  60.           For C:= 1 to M do
  61.              Begin
  62.                Write(' ',Y[F,C],' ');
  63.           End;
  64.                Writeln;
  65.                Writeln;
  66.       End;
  67.  
  68.  
  69.  
  70.  
  71. Procedure Dados;
  72. Var
  73. X,Y,Z,L:Integer;
  74.  
  75.  
  76. { POSICIONES A JUGAR SEGUN LAS FICHAS}
  77. Begin
  78. Clrscr;
  79. Randomize;
  80. X:= Random (2);
  81. Y:= Random (2);
  82. Z:= Random (2);         { BLANCO=0  NEGRO=1 }
  83. L:= Random (2);
  84.  
  85.  
  86. If (X+Y+Z+L=0) THEN
  87. writeln ('casillas a mover:', 4);
  88. writeln ('X:',X,'Y:',Y,'Z:',Z,'L:',L)
  89. else
  90. if (X+Y+Z+L=1) THEN
  91. writeln ('casillas a mover:', 3);
  92. writeln ('X:',X,'Y:',Y,'Z:',Z,'L:',L)
  93. else
  94. if (X+Y+Z+L=2) THEN
  95. writeln ('casillas a mover:', 2);
  96. writeln ('X:',X,'Y:',Y,'Z:',Z,'L:',L)
  97. else
  98. if (X+Y+Z+L=3) THEN
  99. writeln ('casillas a mover:', 1);
  100. writeln ('X:',X,'Y:',Y,'Z:',Z,'L:',L)
  101. else
  102. if(X+Y+Z+L=4) THEN
  103. writeln ('casillas a mover:', 6);
  104. writeln ('X:',X,'Y:',Y,'Z:',Z,'L:',L);
  105.  
  106.  
  107. Readln;
  108.  
  109.  
  110.  
  111.  
  112. begin
  113. llenarmatriz (X);
  114. mostrarmatriz (X);
  115. Dados (X);
  116. Readln;
  117.  
  118.  
  119.  
  120.  
  121. PROCEDURE AYUDA; {Instrucciones del juego}
  122. Begin
  123. Writeln ('Senet es el juego egipcio mas famoso que ha llegado hasta',
  124. ' nuestros dias. ');
  125. Writeln ('Aparece en multiples pinturas de las tumbas, y se han',
  126. ' encontrado varios juegos completos entre las pertenencias ');
  127. Writeln ('con las que eran enterrados los faraones para poder',
  128. ' disfrutar de ellas en su otra vida.');
  129. Writeln ('Sencillo de jugar, representa una carrera de las',
  130. ' fichas por llegar a su destino antes de ser alcanzadas por el rival.');
  131. Writeln ('En ocasiones se han representado en las paredes',
  132. ' de las piramides partidas de Senet entre el muerto y un',
  133. ' espíritu de ultratumba,');
  134. Writeln ('como si se tratara de una partida para ganar el',
  135. ' derecho a entrar en el mas alla. ');
  136. Writeln;
  137. Writeln ('Jugadores: 2 - Objetivo: Llevar todas las fichas',
  138. ' a la salida.');
  139. Writeln ('Valores: 1,6: avanza 1,6 espacios y lanza de nuevo',
  140. ' los dados. 2,3,4,5: avanza 2,3,4,5 espacios. ');
  141. Writeln ('Casillas: ');
  142. Writeln ('Renacer: (casilla 15) Aqui vuelven las casillas',
  143. ' que caen al rio. Si esta ocupada retrocede a la siguiente',
  144. ' casilla libre. '); Writeln;
  145. Writeln ('Felicidad: (casilla 26) Casilla obligada, las fichas',
  146. ' no pueden acceder a las ultimas casillas si no han pisado la',
  147. ' casilla de la felicidad. '); Writeln;
  148. Writeln ('Rio Nilo: (casilla 27) Cuando una ficha cae en el rio',
  149. ' vuelve a la casilla renacer. '); Writeln;
  150. Writeln ('Exacto 3: (casilla 28) No se mueve hasta sacar un 3.');
  151. Writeln ('Exacto 2: (casilla 29) No se mueve hasta sacar un 2. ');
  152. Writeln ('Jugando:');
  153. Writeln ('- Se reparten 5 piezas y un dado por jugador. Se disponen las',
  154. ' piezas intercaladas en el tablero. ');
  155. Writeln ('- Al inicio el jugador lanza su dado y avanza los espacios con',
  156. ' una ficha.');
  157. Writeln ('- No puede llegar a una casilla ocupada por sus propias fichas.');
  158. Writeln ('- Si llega a una casilla ocupada por una ficha del oponente, la',
  159. ' captura y ambas fichas intercambian lugares. ');
  160. Writeln ('- Cuando hay 2 fichas del mismo color en casillas juntas se forma',
  161. ' un bloqueo, ninguna de las 2 fichas pueden ser capturadas, ');
  162. Writeln (' las fichas contrarias sólo pueden saltarla.');
  163. Writeln ('- Cuando hay 3 fichas del mismo color en casillas juntas se',
  164. ' forma una barrera, las fichas no pueden ser capturadas ni saltadas. ');
  165. Writeln ('- El jugador esta obligado a moverse, si no puede avanzar debe',
  166. 'retroceder. Si no puede retroceder pasa el turno.');
  167. Writeln ('- Cuando el jugador mueve una de sus fichas termina su turno.');
  168. Writeln ('- Gana el jugador que saque todas las fichas del tablero.');
  169. writeln;
  170. writeln(' Pulse Una Tecla ');
  171. readkey;
  172.  
  173.  
  174. PROCEDURE menu; {Menu del juego}
  175. VAR
  176. op:char;
  177. Begin
  178. Repeat
  179. clrscr;
  180. presentacion;
  181. writeln(' ****[ Menu Juego ]****');
  182. writeln(' Elija la opcion que desee: ');
  183. writeln;
  184. Writeln (' 1. Jugar');
  185. Writeln (' 2. Ayuda');
  186. Writeln (' 3. Salir');
  187. writeln;
  188. repeat
  189. op := readkey;
  190. Until (op in ['1'..'3']);
  191. clrscr;
  192. Case op of
  193. '1': Jugar;
  194. '2': Ayuda;
  195. until op = '3';
  196.  
  197.  
  198.  
  199.  
  200. begin
  201. menu;

Archivos adjuntos


Editado por egostar, 19 mayo 2015 - 08:17 .
Agregar etiqueta de código

  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.111 mensajes
  • LocationMéxico

Escrito 17 mayo 2015 - 08:42

Hola cirkisys, bienvenido a DelphiAccess

 

Dices que te salen unos errores y luego que no los ves.

 

¿No ves los errores o no sabes resolver porqué salen?

 

Necesitamos saber que errores son para poder ayudarte.

 

Saludos


  • 1

#3 cirkisys

cirkisys

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 18 mayo 2015 - 03:55

Hola 

egostar 

no se porque me salen los errores que tengo, me gustaria contar con su ayuda para que mi problema poco a poco agarre forma, eso es lo que llevo de este juego.


  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.111 mensajes
  • LocationMéxico

Escrito 18 mayo 2015 - 04:19

Hola 

egostar 

no se porque me salen los errores que tengo, me gustaria contar con su ayuda para que mi problema poco a poco agarre forma, eso es lo que llevo de este juego.

 

 

Bueno, pues es un problema de bloques begin ... end

 

Ésto está mal.


php
  1. If (X+Y+Z+L=0) THEN
  2. writeln ('casillas a mover:', 4);
  3. writeln ('X:',X,'Y:',Y,'Z:',Z,'L:',L)
  4. else

Debe ser:


php
  1. If (X+Y+Z+L=0) THEN
  2. begin
  3. writeln ('casillas a mover:', 4);
  4. writeln ('X:',X,'Y:',Y,'Z:',Z,'L:',L);
  5. else.....

Y es para todos los If que tienes en el procedimiento Dados;

 

El otro error es que estás pasando un parámetro en el procedimiento Dados, y no lleva parámetros.


php
  1. Dados(X);

debe ser


php
  1. Dados;


  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.111 mensajes
  • LocationMéxico

Escrito 18 mayo 2015 - 04:25

Aquí unas imágenes:

 

 

Archivos adjuntos


  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.111 mensajes
  • LocationMéxico

Escrito 20 mayo 2015 - 08:12

Y bien, ¿ya tomó forma tu problema?

 

Saludos


  • 0

#7 cirkisys

cirkisys

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 20 mayo 2015 - 06:53

Muchimas gracias, por la ayuda 

egostar
  • 0





Etiquetado también con una o más de estas palabras: Juego, Juegos, Pascal, Senet, Matriz, Arreglos, Ayuda, Game