Código
HumanoHP = 20; HumanoPsn = 0; IAHP = 20; IAPsn = 0; Cartas = ["MarioDK", "DK", "DKJr", "Popeye", "Brutus", "Stanley", "Milk"]; // Lo anterior se usa para causar sus efectos, // esto es cómo se muestran sus nombres: ShowerDeCartas = ["Mario de Donkey Kong", "Donkey Kong", "Donkey Kong Junior", "Popeye", "Brutus", "Stanley", "Milk"]; // Frame 1: La IA recibe una carta, el humano también. // F2: Un objeto repite TurnoDeHumano hasta que se presione A. // F3: Pequeña pausa. // F4: Turno de la IA. // F5: Nada, sólo para mostrar victoria o derrota. NroDeCartaDeIA = random(Cartas.length); Mensaje = "Es tu turno"; function HumanoObtieneCarta () { NroDeCartaDeHumano = random(Cartas.length); Mensaje = Mensaje+"\nHas obtenido a "+ShowerDeCartas[NroDeCartaDeHumano]; } HumanoObtieneCarta(); // En F2: function TurnoDeHumano () { // Si se presiona A: if (Key.isDown(65)) { // trace("A presionada"); // Usa la carta (dando su estadística AT y objetivo a la función): // Esto para resumir: CartaUsada = Cartas[NroDeCartaDeHumano]; eval(CartaUsada)(eval(CartaUsada+"AT"), "IA"); } } function FinDelTurnoDeHumano () { if (HumanoPsn > 0) { HumanoHP = HumanoHP-HumanoPsn; Mensaje = Mensaje+"\n¡El veneno te dañó!"; if (HumanoHP > 0) { Mensaje = Mensaje+"\n\nEs el turno del rival"; // Pequeña pausa, luego turno de IA: play(); } else { Mensaje = Mensaje+"\n¡Perdiste!"; gotoAndStop (5); } } else { Mensaje = Mensaje+"\n\nEs el turno del rival"; // Pequeña pausa, luego turno de IA: play(); } } function FinDelTurnoDeIA () { if (IAPsn > 0) { IAHP = IAHP-IAPsn; Mensaje = Mensaje+"\n¡Rival dañado por veneno!"; if (IAHP > 0) { // Turno de Humano: Mensaje = Mensaje+"\n\nEs tu turno"; HumanoObtieneCarta(); gotoAndStop (2); } else { Mensaje = Mensaje+"\n¡Ganaste!"; gotoAndStop (5); } } else { // Turno de Humano: Mensaje = Mensaje+"\n\nEs tu turno"; HumanoObtieneCarta(); gotoAndStop (2); } } // Estadísticas: MilkAt = 0; StanleyAt = 0; DKJrAt = 1; MarioDKAT = 2; PopeyeAt = 2; BrutusAt = 3; DKAT = 4; // Efectos: function TipicoFinDelTurnoDeHumano (ataque) { IAHP = IAHP-ataque; if (IAHP > 0) { FinDelTurnoDeHumano(); } else { Mensaje = Mensaje+"\n¡Ganaste!"; gotoAndStop (5); } } function TipicoFinDelTurnoDeIA (ataque) { HumanoHP = HumanoHP-ataque; if (HumanoHP > 0) { FinDelTurnoDeIA(); } else { Mensaje = Mensaje+"\n¡Perdiste!"; gotoAndStop (5); } } function MarioDK (ataque, objetivo) { if (objetivo == "IA") { Mensaje = "¡Tu rival ha sido enjaulado!"; TipicoFinDelTurnoDeHumano(ataque); } else { Mensaje = Mensaje+"\n¡DKMario rival te enjauló!"; TipicoFinDelTurnoDeIA(ataque); } } function DK (ataque, objetivo) { if (objetivo == "IA") { Mensaje = "¡Rival dañado!"; TipicoFinDelTurnoDeHumano(ataque); } else { Mensaje = Mensaje+"\n¡DK rival te dañó!"; TipicoFinDelTurnoDeIA(ataque); } } function DKJr (ataque, objetivo) { if (objetivo == "IA") { if (IAHP > ataque) { HumanoHP = HumanoHP+ataque; IAHP = IAHP-ataque; Mensaje = "¡Rival dañado y conseguiste "+ataque+"HP!"; FinDelTurnoDeHumano(); } else { HumanoHP = HumanoHP+IAHP; Mensaje = "¡Rival dañado y conseguiste "+IAHP+"HP!"; IAHP = IAHP-ataque; Mensaje = Mensaje+"\n¡Ganaste!"; gotoAndStop (5); } } else if (HumanoHP > ataque) { IAHP = IAHP+ataque; HumanoHP = HumanoHP-ataque; Mensaje = Mensaje+"\n¡DKJr rival te dañó y dió "+ataque+"HP al rival!"; FinDelTurnoDeIA(); } else { IAHP = IAHP+HumanoHP; Mensaje = Mensaje+"\n¡DKJr rival te dañó y dió "+HumanoHP+"HP al rival!"; HumanoHP = HumanoHP-ataque; Mensaje = Mensaje+"\n¡Perdiste!"; gotoAndStop (5); } } function Popeye (ataque, objetivo) { if (objetivo == "IA") { Mensaje = "¡Rival dañado y conseguiste 1HP!"; HumanoHP++; TipicoFinDelTurnoDeHumano(ataque); } else { Mensaje = Mensaje+"\n¡Popeye rival te dañó y dió 1HP al rival!"; IAHP++; TipicoFinDelTurnoDeIA(ataque); } } function Brutus (ataque, objetivo) { if (objetivo == "IA") { Mensaje = "¡Rival dañado y perdiste 1HP!"; IAHP = IAHP-ataque; HumanoHP--; if (IAHP > 0) { if (HumanoHP > 0) { FinDelTurnoDeHumano(); } else { Mensaje = Mensaje+"\n¡Perdiste!"; gotoAndStop (5); } } else if (HumanoHP > 0) { Mensaje = Mensaje+"\n¡Ganaste!"; gotoAndStop (5); } else { Mensaje = Mensaje+"\n¡Empate!"; gotoAndStop (5); } } else { Mensaje = Mensaje+"\n¡Brutus rival te dañó y el rival perdió 1HP!"; HumanoHP = HumanoHP-ataque; IAHP--; if (HumanoHP > 0) { if (IAHP > 0) { FinDelTurnoDeIA(); } else { Mensaje = Mensaje+"\n¡Ganaste!"; gotoAndStop (5); } } else if (IAHP > 0) { Mensaje = Mensaje+"\n¡Perdiste!"; gotoAndStop (5); } else { Mensaje = Mensaje+"\n¡Empate!"; gotoAndStop (5); } } } function Milk (ataque, objetivo) { // ERROR: Esto funciona bien pero está mal, // ya que el objetivo está marcando al rival, // pero esta carta se aplica al usuario. if (objetivo == "IA") { HumanoHP++; Mensaje = "¡Conseguiste 1 HP!"; FinDelTurnoDeHumano(); } else { Mensaje = Mensaje+"\n¡Milk rival dió 1HP al rival!"; IAHP++; FinDelTurnoDeIA(); } } function Stanley (ataque, objetivo) { Resumen = objetivo+"Psn"; set(Resumen, eval(Resumen)+1); if (objetivo == "IA") { Mensaje = "¡Rival envenenado!"; FinDelTurnoDeHumano(); } else { Mensaje = Mensaje+"\n¡Stanley te envenenó!"; FinDelTurnoDeIA(); } }
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).