Advertisement
Guest User

pseudo 2

a guest
Oct 7th, 2015
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.44 KB | None | 0 0
  1. Acción tatetí es;
  2. uses crt, sysutils;
  3. label, label1, label2, label3, label4;
  4. Constantes
  5. plano1= arreglo[1..3, 1..3] of carácter;
  6. plano2= arreglo[1..3, 1..3] of entero;
  7. Variables celda: plano1;
  8. verSi: plano2;
  9. njuego, acum, turno, i, j, victorias1, victorias2, g: entero;
  10. error, win, fdj, fdr: lógico;
  11. opc: carácter;
  12. nom1, nom2: AN (30);
  13. {--------------------------------------------------------------------------------------}
  14. SUB-ACCIONES
  15. Subacción gano (g: entero);
  16. Para i:= 7 hasta 24 hacer
  17. Ir a xy(1,i);
  18. Fin;
  19. win:= verdadero;
  20. Según g hacer
  21. 1:
  22. inc(victorias1);
  23. Ir a xy(30,9); escribir('FELICITACIONES!!! TENEMOSO UN GANADOR:');
  24. Ir a xy(47,10); escribir(nom1); fin;
  25. 2:
  26. inc(victorias2);
  27. Ir a xy(30,9); escribir('FELICITACIONES!!! TENEMOSO UN GANADOR:');
  28. Ir a xy(47,10); escribir(nom2); fin;
  29. 3:
  30. Ir a xy(30,9); escribir('EL JUEGO TERMINO EN EMPATE!');
  31. turno:= 0; fin;
  32. fin;
  33. Escribir (' ');
  34. Escribir ('Numero de juegos: '); escribir (njuego);
  35. Escribir ('Número de victorias de ',nom1,': '); escribir(victorias1);
  36. Escribir ('Número de victorias de ',nom2,': '); escribir(victorias2);
  37. Para i:= 1 hasta 3 hacer
  38. Para j:=1 hasta 3 hacer
  39. celda[i,j]:=' ';
  40. verSi[i,j]:=0;
  41. fin;
  42. fin;
  43. label1: escribir ('¿Quieres jugar de nuevo? [s/n]'); leerln (opc);
  44. Según opc hacer
  45. 'n': fdr:= falso;
  46. 's': Para i:= 7 hasta 24 hacer
  47. Ir a xy(1,i); fin;
  48. Sino
  49. Ir a label1;
  50. Fin;
  51. Fin;
  52. {--------------------------------------------------------------------------------------}
  53. Subacción verSiicacion es;
  54. acum:= 0;
  55. Para i:= 1 hasta 3 hacer
  56. Para j:= 1 hasta 3 hacer
  57. acum:= acum + verSi[i,j];
  58. Si acum = 24 entonces
  59. g:= 2
  60. Sino
  61. Si acum = 3 entonces
  62. g:= 1;
  63. acum:=0;
  64. Fin;
  65. Para j:= 1 hasta 3 hacer
  66. Para i:= 1 hasta 3 hacer
  67. acum:= acum + verSi[i,j];
  68. Si acum = 24 entonces
  69. g:= 2
  70. Sino
  71. Si acum = 3 entonces
  72. g:= 1;
  73. acum:= 0;
  74. fin;
  75. Si verSi[1,1] + verSi[2,2] + verSi[3,3] = 3 entonces
  76. g:= 1
  77. Sino
  78. Si verSi[1,1] + verSi[2,2] + verSi[3,3] = 24 entonces
  79. g:= 2;
  80. Si verSi[3,1] + verSi[2,2] + verSi[1,3] = 3 entonces
  81. g:= 1
  82. sino
  83. Si verSi[3,1] + verSi[2,2] + verSi[1,3] = 24 entonces
  84. g:= 2;
  85. Si turno = 9 entonces
  86. g:= 3;
  87. Si g <> 0 entonces
  88. gano(g);
  89. fin;
  90. {--------------------------------------------------------------------------------------}
  91. Subacción muestra es;
  92. Ir a xy(34,11); escribir(' ', #179, ' ', #179, ' ');
  93. Ir a xy(34,12); escribir(' ', celda[1,1], ' ',#179 , ' ', celda[1,2], ' ', #179, ' ', celda[1,3], ' ');
  94. Ir a xy(34,14); escribir(' ', celda[2,1], ' ',#179 , ' ', celda[2,2], ' ', #179, ' ', celda[2,3], ' ');
  95. Ir a xy(34,16); escribir(' ', celda[3,1], ' ', celda[3,2], ' ', celda[3,3], ' ');
  96. Ir a xy(34,17); escribir(' ', #179, ' ', #179, ' ');
  97. fin;
  98. {--------------------------------------------------------------------------------------}
  99. Subacción Control_Turno(opc:char);
  100. Según opc hacer
  101. '1': i:=1; j:=1; fin;
  102. '2': i:=1; j:=2; fin;
  103. '3': i:=1; j:=3; fin;
  104. '4': i:=2; j:=1; fin;
  105. '5': i:=2; j:=2; fin;
  106. '6': i:=2; j:=3; fin;
  107. '7': i:=3; j:=1; fin;
  108. '8': i:=3; j:=2; fin;
  109. '9': i:=3; j:=3; fin;
  110. Sino
  111. Error:= verdadero;
  112. Fin;
  113. Fin;
  114. {--------------------------------------------------------------------------------------}
  115. Subacción turnop1 es;
  116. label2: Ir a xy(1,19); escribir(nom1); escribir(' ingresa ubicación de tu jugada: '); leer(opc);
  117. Control_Turno(opc);
  118. Si error entonces
  119. Error:= falso; label2;
  120. Fin;
  121. Mientras celda [i,j] <> ' ' do
  122. Ir a xy(1,18); escribir('Lugar ocupado!');
  123. Ir a xy(1,19); escribir(nom1); escribir(' ingresa ubicación de tu jugada:'); leer(opc);
  124. Control_Turno(opc);
  125. Si error entonces
  126. error:= falso; Ir a label2;
  127. Fin;
  128. Fin;
  129. celda[i,j]:= 'X'; verSi[i,j]:= 1;
  130. inc(turno); verSiicacion;
  131. Ir a xy(1,18);
  132. Ir a xy(1,19);
  133. fin;
  134. {--------------------------------------------------------------------------------------}
  135. Subacción turnop2 es;
  136. label3: Ir a xy(1,19); escribir(nom2); escribir(' ingresa ubicación de tu jugada: '); leer(opc);
  137. Control_Turno(opc);
  138. Si error entonces
  139. error:= falso; label3;
  140. Fin;
  141. Mientras celda[i,j] <> ' ' hacer
  142. Ir a xy(1,18); escribirln('Lugar ocupado!');
  143. Ir a xy(1,19); escribir(nom2); escribir(' ingresa ubicación de tu jugada:'); leer(opc);
  144. Control_Turno(opc);
  145. Si error entonces
  146. Error:= falso; Ir a label3;
  147. Fin;
  148. Fin;
  149. celda[i,j]:= 'O'; verSi[i,j]:= 8;
  150. inc(turno); verSiicacion;
  151. Ir a xy(1,18);
  152. Ir a xy(1,19);
  153. Fin;
  154. {FIN SUB-ACCIONES}
  155.  
  156.  
  157. {-----------------------------------------------------------------------------------------------}
  158. {PROCESO}
  159. Ir a xy(13,6); escribir(' El juego de Maschine ');
  160. Ir a xy(16,25); escribir(#184, ' 2015 Maschine. Todos los derechos reservados.');
  161. repeat
  162. Ir a xy(23,12); escribir('Presiona una tecla para comenzar!');
  163. Ir a xy(23,12); escribir(' ');
  164. Hasta apretar tecla;
  165. {INICIALIZAMOS LAS VARIABLES}
  166. fdj:=verdadero; error:= falso;
  167. Mientras fdj hacer {CICLO GENERAL MENU}
  168. Borrar Pantalla
  169. Ir a xy(16,25); escribir(#184, ' 2015 Maschine. Todos los derechos reservados.');
  170. label4: Ir a xy(31,12); escribir(' 1: Jugar ');
  171. Ir a xy(31,14); escribir(' 2: Tutorial ');
  172. Ir a xy(31,16); escribir(' 3: Creditos ');
  173. Ir a xy(31,18); escribir(' 4: Salir ');
  174. Ir a xy(31,19); leer(opc);
  175. Para j:= 12 to 19 hacer
  176. Ir a xy(31,j); escribir(' ');
  177. Fin;
  178. Según opc hacer
  179. '1': {JUGAR}
  180. fdr:=verdadero; turno:= 0; victorias1:= 0; victorias2:= 0; njuego:= 0;
  181. mientras fdr hacer
  182. win:=falso;
  183. Para i:= 1 hasta 3 hacer
  184. Para j:=1 hasta 3 hacer
  185. celda[i,j]:=' ';
  186. verSi[i,j]:=0;
  187. fin;
  188. fin;
  189. inc(njuego);
  190. Si njuego = 1 entonces
  191. Ir a xy(1,10); escribir('Jugador 1 ingresa tu nombre: '); leer(nom1);
  192. Ir a xy(1,12); escribir('Jugador 2 ingresa tu nombre: '); leer(nom2);
  193. fin;
  194. turno:= 0; g:= 0;
  195. Para i:= 7 to 24 do
  196. Ir a xy(1,i);
  197. fin;
  198. Mientras turno < 10 hacer
  199. Si no win entonces
  200. Muestra;
  201. Si njuego mod 2 = 0 entonces
  202. Si turno mod 2 = 0 entonces
  203. turnop2
  204. sino
  205. turnop1;
  206. fin
  207. Sino
  208. Si turno mod 2 = 0 entonces
  209. turnop1
  210. Sino
  211. turnop2;
  212. fin;
  213. fin;
  214. Si win entonces
  215. turno:=10;
  216. fin;
  217. fin;
  218. fin;
  219. '2': {TUTORIAL}
  220. Ir a xy(1,12); escribir( ' El juego consta de un tablero de 3x3 como el de la izquierda.');
  221. Ir a xy(1,13); escribir(' 1 ', ' 2 ', ' 3'' El jugador 1 coloca fichas "X", el jugador 2 coloca fichas "O".');
  222. Ir a xy(1,14); escribir(' El objetivo es alinear 3 fichas iguales, ya sea horizontal,');
  223. Ir a xy(1,15); escribir(' 4 ', ' 5 ', ' 6' ' Vertical o en diagonal. Para colocar una ficha ingresa un numero');
  224. Ir a xy(1,16); escribir(' del 1 al 9 según el ejemplo.');
  225. Ir a xy(1,17); escribir(' 7 ', ' 8 ',' 9' ' El juego termina cuando gana alguien, o cuando se llena el tablero.');
  226. Ir a xy(1,18); escribir(' En ese caso se considera empate y no se define ningún ganador.');
  227. Repetir
  228. Ir a xy(1,20); escribir('Presione una tecla para volver al menu...');
  229. Ir a xy(1,20); escribir(' ');
  230. Hasta apretar tecla;
  231. Para i:= 12 to 20 do
  232. Ir a xy(1, i);
  233. fin; fin;
  234. '3': {CREDITOS}
  235. escribirln('biain');
  236. escribirln('bohle');
  237. escribirln('garcia');
  238. escribirln('vallejos');
  239. escribirln('plazibat no hizo una mierda');
  240. leerkey; fin;
  241. '4': fdj:= falso;{SALIR}
  242. Sino
  243. Ir a label4;
  244. fin;
  245. fin;
  246. fin.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement