elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Simplificar código de juego de cartas, veneno agregado.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Simplificar código de juego de cartas, veneno agregado.  (Leído 164 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.567


Hackentifiko!


Ver Perfil
Simplificar código de juego de cartas, veneno agregado.
« en: 13 Junio 2025, 08:43 am »

Creo que algunas cosas se repiten, quizá se pueda crear una función HumanoMayLose y otra IAMayLose.

Código
  1. HumanoHP = 20;
  2. HumanoPsn = 0;
  3. IAHP = 20;
  4. IAPsn = 0;
  5. Cartas = ["MarioDK", "DK", "DKJr", "Popeye", "Brutus", "Stanley", "Milk"];
  6. // Lo anterior se usa para causar sus efectos,
  7. // esto es cómo se muestran sus nombres:
  8. ShowerDeCartas = ["Mario de Donkey Kong", "Donkey Kong", "Donkey Kong Junior", "Popeye", "Brutus", "Stanley", "Milk"];
  9. // Frame 1: La IA recibe una carta, el humano también.
  10. // F2: Un objeto repite TurnoDeHumano hasta que se presione A.
  11. // F3: Pequeña pausa.
  12. // F4: Turno de la IA.
  13. // F5: Nada, sólo para mostrar victoria o derrota.
  14. NroDeCartaDeIA = random(Cartas.length);
  15. Mensaje = "Es tu turno";
  16. function HumanoObtieneCarta () {
  17. NroDeCartaDeHumano = random(Cartas.length);
  18. Mensaje = Mensaje+"\nHas obtenido a "+ShowerDeCartas[NroDeCartaDeHumano];
  19. }
  20. HumanoObtieneCarta();
  21. // En F2:
  22. function TurnoDeHumano () {
  23. // Si se presiona A:
  24. if (Key.isDown(65)) {
  25. // trace("A presionada");
  26. // Usa la carta (dando su estadística AT y objetivo a la función):
  27. // Esto para resumir:
  28. CartaUsada = Cartas[NroDeCartaDeHumano];
  29. eval(CartaUsada)(eval(CartaUsada+"AT"), "IA");
  30. }
  31. }
  32. function FinDelTurnoDeHumano () {
  33. if (HumanoPsn > 0) {
  34. HumanoHP = HumanoHP-HumanoPsn;
  35. Mensaje = Mensaje+"\n¡El veneno te dañó!";
  36. if (HumanoHP > 0) {
  37. Mensaje = Mensaje+"\n\nEs el turno del rival";
  38. // Pequeña pausa, luego turno de IA:
  39. play();
  40. } else {
  41. Mensaje = Mensaje+"\n¡Perdiste!";
  42. gotoAndStop (5);
  43. }
  44. } else {
  45. Mensaje = Mensaje+"\n\nEs el turno del rival";
  46. // Pequeña pausa, luego turno de IA:
  47. play();
  48. }
  49. }
  50. function FinDelTurnoDeIA () {
  51. if (IAPsn > 0) {
  52. IAHP = IAHP-IAPsn;
  53. Mensaje = Mensaje+"\n¡Rival dañado por veneno!";
  54. if (IAHP > 0) {
  55. // Turno de Humano:
  56. Mensaje = Mensaje+"\n\nEs tu turno";
  57. HumanoObtieneCarta();
  58. gotoAndStop (2);
  59. } else {
  60. Mensaje = Mensaje+"\n¡Ganaste!";
  61. gotoAndStop (5);
  62. }
  63. } else {
  64. // Turno de Humano:
  65. Mensaje = Mensaje+"\n\nEs tu turno";
  66. HumanoObtieneCarta();
  67. gotoAndStop (2);
  68. }
  69. }
  70. // Estadísticas:
  71. MilkAt = 0;
  72. StanleyAt = 0;
  73. DKJrAt = 1;
  74. MarioDKAT = 2;
  75. PopeyeAt = 2;
  76. BrutusAt = 3;
  77. DKAT = 4;
  78. // Efectos:
  79. function TipicoFinDelTurnoDeHumano (ataque) {
  80. IAHP = IAHP-ataque;
  81. if (IAHP > 0) {
  82. FinDelTurnoDeHumano();
  83. } else {
  84. Mensaje = Mensaje+"\n¡Ganaste!";
  85. gotoAndStop (5);
  86. }
  87. }
  88. function TipicoFinDelTurnoDeIA (ataque) {
  89. HumanoHP = HumanoHP-ataque;
  90. if (HumanoHP > 0) {
  91. FinDelTurnoDeIA();
  92. } else {
  93. Mensaje = Mensaje+"\n¡Perdiste!";
  94. gotoAndStop (5);
  95. }
  96. }
  97. function MarioDK (ataque, objetivo) {
  98. if (objetivo == "IA") {
  99. Mensaje = "¡Tu rival ha sido enjaulado!";
  100. TipicoFinDelTurnoDeHumano(ataque);
  101. } else {
  102. Mensaje = Mensaje+"\n¡DKMario rival te enjauló!";
  103. TipicoFinDelTurnoDeIA(ataque);
  104. }
  105. }
  106. function DK (ataque, objetivo) {
  107. if (objetivo == "IA") {
  108. Mensaje = "¡Rival dañado!";
  109. TipicoFinDelTurnoDeHumano(ataque);
  110. } else {
  111. Mensaje = Mensaje+"\n¡DK rival te dañó!";
  112. TipicoFinDelTurnoDeIA(ataque);
  113. }
  114. }
  115. function DKJr (ataque, objetivo) {
  116. if (objetivo == "IA") {
  117. if (IAHP > ataque) {
  118. HumanoHP = HumanoHP+ataque;
  119. IAHP = IAHP-ataque;
  120. Mensaje = "¡Rival dañado y conseguiste "+ataque+"HP!";
  121. FinDelTurnoDeHumano();
  122. } else {
  123. HumanoHP = HumanoHP+IAHP;
  124. Mensaje = "¡Rival dañado y conseguiste "+IAHP+"HP!";
  125. IAHP = IAHP-ataque;
  126. Mensaje = Mensaje+"\n¡Ganaste!";
  127. gotoAndStop (5);
  128. }
  129. } else if (HumanoHP > ataque) {
  130. IAHP = IAHP+ataque;
  131. HumanoHP = HumanoHP-ataque;
  132. Mensaje = Mensaje+"\n¡DKJr rival te dañó y dió "+ataque+"HP al rival!";
  133. FinDelTurnoDeIA();
  134. } else {
  135. IAHP = IAHP+HumanoHP;
  136. Mensaje = Mensaje+"\n¡DKJr rival te dañó y dió "+HumanoHP+"HP al rival!";
  137. HumanoHP = HumanoHP-ataque;
  138. Mensaje = Mensaje+"\n¡Perdiste!";
  139. gotoAndStop (5);
  140. }
  141. }
  142. function Popeye (ataque, objetivo) {
  143. if (objetivo == "IA") {
  144. Mensaje = "¡Rival dañado y conseguiste 1HP!";
  145. HumanoHP++;
  146. TipicoFinDelTurnoDeHumano(ataque);
  147. } else {
  148. Mensaje = Mensaje+"\n¡Popeye rival te dañó y dió 1HP al rival!";
  149. IAHP++;
  150. TipicoFinDelTurnoDeIA(ataque);
  151. }
  152. }
  153. function Brutus (ataque, objetivo) {
  154. if (objetivo == "IA") {
  155. Mensaje = "¡Rival dañado y perdiste 1HP!";
  156. IAHP = IAHP-ataque;
  157. HumanoHP--;
  158. if (IAHP > 0) {
  159. if (HumanoHP > 0) {
  160. FinDelTurnoDeHumano();
  161. } else {
  162. Mensaje = Mensaje+"\n¡Perdiste!";
  163. gotoAndStop (5);
  164. }
  165. } else if (HumanoHP > 0) {
  166. Mensaje = Mensaje+"\n¡Ganaste!";
  167. gotoAndStop (5);
  168. } else {
  169. Mensaje = Mensaje+"\n¡Empate!";
  170. gotoAndStop (5);
  171. }
  172. } else {
  173. Mensaje = Mensaje+"\n¡Brutus rival te dañó y el rival perdió 1HP!";
  174. HumanoHP = HumanoHP-ataque;
  175. IAHP--;
  176. if (HumanoHP > 0) {
  177. if (IAHP > 0) {
  178. FinDelTurnoDeIA();
  179. } else {
  180. Mensaje = Mensaje+"\n¡Ganaste!";
  181. gotoAndStop (5);
  182. }
  183. } else if (IAHP > 0) {
  184. Mensaje = Mensaje+"\n¡Perdiste!";
  185. gotoAndStop (5);
  186. } else {
  187. Mensaje = Mensaje+"\n¡Empate!";
  188. gotoAndStop (5);
  189. }
  190. }
  191. }
  192. function Milk (ataque, objetivo) {
  193. // ERROR: Esto funciona bien pero está mal,
  194. // ya que el objetivo está marcando al rival,
  195. // pero esta carta se aplica al usuario.
  196. if (objetivo == "IA") {
  197. HumanoHP++;
  198. Mensaje = "¡Conseguiste 1 HP!";
  199. FinDelTurnoDeHumano();
  200. } else {
  201. Mensaje = Mensaje+"\n¡Milk rival dió 1HP al rival!";
  202. IAHP++;
  203. FinDelTurnoDeIA();
  204. }
  205. }
  206. function Stanley (ataque, objetivo) {
  207. Resumen = objetivo+"Psn";
  208. set(Resumen, eval(Resumen)+1);
  209. if (objetivo == "IA") {
  210. Mensaje = "¡Rival envenenado!";
  211. FinDelTurnoDeHumano();
  212. } else {
  213. Mensaje = Mensaje+"\n¡Stanley te envenenó!";
  214. FinDelTurnoDeIA();
  215. }
  216. }

Milk: Te da 1HP.

DK: Daña al rival.

Popeye: Daña al rival y te da 1HP.

Brutus: Daña al rival y te daña 1.

DKJr: Daña al rival y te da HP según cuánto dañe (como por ahora su daño es 1, siempre da 1 y no hay necesidad de tanto código, pero eso es por ahora, el código en teoría está bien para cuando cambie).

Stanley: Envenena al rival.

MarioDK: Daña al rival y enjaula (pero aún no se aplica).


« Última modificación: 13 Junio 2025, 08:58 am por Tachikomaia » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Simplificar codigo « 1 2 »
.NET (C#, VB.NET, ASP)
matiasramos 10 6,366 Último mensaje 24 Junio 2013, 21:09 pm
por Novlucker
AYUDA CON CODIGO DE JUEGO DE CARTAS
Ejercicios
kasidy 2 8,430 Último mensaje 26 Noviembre 2013, 16:00 pm
por kasidy
Juego de cartas
Java
calun 6 5,257 Último mensaje 5 Mayo 2015, 18:57 pm
por DarK_FirefoX
Se han agregado solas dos personas en mi facebook sin que las haya agregado yo
Dudas Generales
Hason 2 3,344 Último mensaje 3 Junio 2016, 15:10 pm
por Hason
Que se haga la consulta en determinada cantida de dias (codigo agregado)
Desarrollo Web
Pajarito434 1 1,976 Último mensaje 14 Febrero 2017, 23:44 pm
por Pajarito434
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines