Exemple #1
0
        private void processTrap(Card trap)
        {
            //Traps can only be engaged during the opponent's turn
            //i.e. P1 can only engage traps when P2's turn.

            if (trap == null)
                return;
            if (!p1Turn) //P2 turn
            {
                if (p1NoTrap) //check if P2 has NoTrap effect active on P1
                {
                    if(p2SpellFlag=="BDD")
                    {
                        p2SpellFlag = "none";
                        p1NoTrap = false;
                        p2Spell.destroy();
                    }
                    return;
                }
                else if(p1TrapFlag!="none")
                    return;
            }
            else //P1 turn
            {
                if (p2NoTrap)
                {
                    if(p1SpellFlag=="BDD")
                    {
                        p1SpellFlag = "none";
                        p2NoTrap = false;
                        p1Spell.destroy();
                    }
                    return;
                }
                else if(p2TrapFlag!="none")
                    return;
            }
            string name = trap.getName();
                if (name == "Divine Punishment")
                {
                    if(p1Turn)
                    {
                        if(p1Monster1!=null)
                            p1Monster1.debuff((int)Math.Ceiling(p1Monster1.getHealth()/2.0));
                        if (p1Monster2 != null)
                            p1Monster2.debuff((int)Math.Ceiling(p1Monster2.getHealth()/2.0));
                        if (p1Monster3 != null)
                            p1Monster3.debuff((int)Math.Ceiling(p1Monster3.getHealth()/2.0));
                        p2TrapFlag = "DP";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.debuff((int)Math.Ceiling(p2Monster1.getHealth()/2.0));
                        if (p2Monster2 != null)
                            p2Monster2.debuff((int)Math.Ceiling(p2Monster2.getHealth()/2.0));
                        if (p2Monster3 != null)
                            p2Monster3.debuff((int)Math.Ceiling(p2Monster3.getHealth()/2.0));
                        p1TrapFlag = "DP";
                    }
                }
                else if (name == "Power Break")
                {
                    if(p1Turn)
                    {
                        if (p1Monster1 != null)
                            p1Monster1.debuff(50);
                        if (p1Monster2 != null)
                            p1Monster2.debuff(50);
                        if (p1Monster3 != null)
                            p1Monster3.debuff(50);
                        p2TrapEffectCnt = 1;
                        p2TrapFlag = "PB";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.debuff(50);
                        if (p2Monster2 != null)
                            p2Monster2.debuff(50);
                        if (p2Monster3 != null)
                            p2Monster3.debuff(50);
                        p1TrapEffectCnt = 1;
                        p1TrapFlag = "PB";
                    }
                }
                else if (name == "Reinforcements")
                {
                    if(p1Turn)
                    {
                        if(p2Monster1!=null)
                            p2Monster1.buff(40);
                        if (p2Monster2!= null)
                            p2Monster2.buff(40);
                        if (p2Monster3 != null)
                            p2Monster3.buff(40);
                        p2TrapEffectCnt = 1;
                        p2TrapFlag = "RE";
                    }
                    else
                    {
                        if (p1Monster1 != null)
                            p1Monster1.debuff(40);
                        if(p1Monster2!=null)
                            p1Monster2.debuff(40);
                        if(p1Monster3!=null)
                            p1Monster3.debuff(40);
                        p1TrapEffectCnt = 1;
                        p1TrapFlag = "RE";
                    }
                }
                else if (name == "Earthshaker")
                {
                    if(p1Turn)
                    {
                        if(p1Monster1!=null)
                            p1Monster1.debuff(p1Monster1.getAttackPower());
                        if (p1Monster2 != null)
                            p1Monster2.debuff(p1Monster2.getAttackPower());
                        if (p1Monster3 != null)
                            p1Monster3.debuff(p1Monster3.getAttackPower());
                        p2TrapEffectCnt = 1;
                        p2TrapFlag = "ES";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.debuff(p2Monster1.getAttackPower());
                        if (p2Monster2 != null)
                            p2Monster2.debuff(p2Monster2.getAttackPower());
                        if (p2Monster3 != null)
                            p2Monster3.debuff(p2Monster3.getAttackPower());
                        p1TrapEffectCnt = 1;
                        p1TrapFlag = "ES";
                    }
                }
                else if (name == "Torrential Tribute")
                {
                    if(p1Turn)
                    {
                        if(p1Spell!=null)
                            p1Spell.destroy();
                        p2TrapFlag = "TT";
                    }
                    else
                    {
                        if (p2Spell != null)
                            p2Spell.destroy();
                        p1TrapFlag = "TT";
                    }
                }
                else if (name == "Solemn Judgment")
                {
                    if(p1Turn)
                    {
                        p1NoMagic = true;
                        p2TrapEffectCnt = 1;
                        p2TrapFlag = "SJ";
                    }
                    else
                    {
                        p2NoMagic = true;
                        p1TrapEffectCnt = 1;
                        p1TrapFlag = "SJ";
                    }
                }
                else if (name == "Miraculous Descent")
                {
                    if(p1Turn)
                        p2TrapFlag = "MD";
                    else
                        p1TrapFlag = "MD";
                }
                else if (name == "Return from the Different Dimension")
                {
                    if(p1Turn)
                    {
                        p1NoAttack = true;
                        p2TrapEffectCnt = 1;
                        p2TrapFlag = "RD";
                    }
                    else
                    {
                        p2NoAttack = true;
                        p1TrapEffectCnt = 1;
                        p1TrapFlag = "RD";
                    }
                }
                else if (name == "Beckoning Light")
                {
                    if(p1Turn)
                    {
                        p1NoTrap = true;
                        p2TrapEffectCnt = 1;
                        p2TrapFlag = "BL";
                    }
                    else
                    {
                        p2NoTrap = true;
                        p1TrapEffectCnt = 1;
                        p1TrapFlag = "BL";
                    }
                }
        }
Exemple #2
0
        private void processSpell(Card spell)
        {
            if (spell == null)
                return;
            if (p1Turn && p1SpellFlag!="none")
                return;
            else if(p2SpellFlag!="none")
                return;
            if (p1Turn && p1NoMagic)
                return;
            else if (p2NoMagic)
                return;
            string name = spell.getName();
                if (name == "Cards from the Sky")
                {
                    if (p1Turn)
                    {
                        if(p1Monster1 != null)
                            p1Monster1.setHealth((int)100);
                        if (p1Monster2 != null)
                            p1Monster2.setHealth((int)100);
                        if (p1Monster3 != null)
                            p1Monster3.setHealth((int)100);
                        p1SpellFlag = "CS";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.setHealth((int)100);
                        if (p2Monster2 != null)
                            p2Monster2.setHealth((int)100);
                        if (p2Monster3 != null)
                            p2Monster3.setHealth((int)100);
                        p2SpellFlag = "CS";
                    }
                }
                else if (name == "Valhalla, Hall of the Fallen")
                {
                    if(p1Turn){
                        if (p1Monster1 != null)
                            p1Monster1.setHealth((int)p1Monster1.getDefaultHealth());
                        if (p1Monster2 != null)
                            p1Monster2.setHealth((int)p1Monster2.getDefaultHealth());
                        if (p1Monster3 != null)
                            p1Monster3.setHealth((int)p1Monster3.getDefaultHealth());
                        p1SpellFlag = "V";
                    }
                    else{
                        if (p2Monster1 != null)
                            p2Monster1.setHealth((int)p2Monster1.getDefaultHealth());
                        if (p2Monster2 != null)
                            p2Monster2.setHealth((int)p2Monster2.getDefaultHealth());
                        if (p2Monster3 != null)
                            p2Monster3.setHealth((int)p2Monster3.getDefaultHealth());
                        p2SpellFlag = "V";
                    }
                }
                else if (name == "Terraforming")
                {
                    if (p1Turn)
                    {
                        if (p1Monster1 != null)
                            p1Monster1.setHealth((int)1);
                        if (p1Monster2 != null)
                            p1Monster2.setHealth((int)1);
                        if (p1Monster3 != null)
                            p1Monster3.setHealth((int)1);
                        p1SpellFlag = "TF";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.setHealth((int)1);
                        if (p2Monster2 != null)
                            p2Monster2.setHealth((int)1);
                        if (p2Monster3 != null)
                            p2Monster3.setHealth((int)1);
                        p2SpellFlag = "TF";
                    }
                }
                else if (name == "Smashing Ground")
                {
                    if (p1Turn)
                    {
                        if (p1Monster1 != null)
                            p1Monster1.setHealth((int)20);
                        if (p1Monster2 != null)
                            p1Monster2.setHealth((int)20);
                        if (p1Monster3 != null)
                            p1Monster3.setHealth((int)20);
                        p1SpellFlag = "SG";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.setHealth((int)20);
                        if (p2Monster2 != null)
                            p2Monster2.setHealth((int)20);
                        if (p2Monster3 != null)
                            p2Monster3.setHealth((int)20);
                        p2SpellFlag = "SG";
                    }
                }
                else if (name == "The Sanctuary in the Sky")
                {
                    if (p1Turn)
                    {
                        if (p1Monster1 != null)
                            p1Monster1.setHealth((int)75);
                        if (p1Monster2 != null)
                            p1Monster2.setHealth((int)75);
                        if (p1Monster3 != null)
                            p1Monster3.setHealth((int)75);
                        p1SpellFlag = "SS";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.setHealth((int)75);
                        if (p2Monster2 != null)
                            p2Monster2.setHealth((int)75);
                        if (p2Monster3 != null)
                            p2Monster3.setHealth((int)75);
                        p2SpellFlag = "SS";
                    }
                }
                else if (name == "Celestial Transformation")
                {
                    if (p1Turn)
                    {
                        if (p1Monster1 != null)
                            p1Monster1.setHealth((int)p1Monster1.getDefaultHealth()/2);
                        if (p1Monster2 != null)
                            p1Monster2.setHealth((int)p1Monster2.getDefaultHealth()/2);
                        if (p1Monster3 != null)
                            p1Monster3.setHealth((int)p1Monster3.getDefaultHealth()/2);
                        p1SpellFlag = "CT";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.setHealth((int)p2Monster1.getDefaultHealth()/2);
                        if (p2Monster2 != null)
                            p2Monster2.setHealth((int)p2Monster2.getDefaultHealth()/2);
                        if (p2Monster3 != null)
                            p2Monster3.setHealth((int)p2Monster3.getDefaultHealth()/2);
                        p2SpellFlag = "CT";
                    }
                }
                else if (name == "Burial from a Different Dimension")
                {
                    if (p1Turn)
                    {
                        if (p2Trap != null)
                            p2Trap.destroy();
                        p1SpellFlag = "BDD";
                    }
                    else
                    {

                        if (p1Trap != null)
                            p1Trap.destroy();
                        p2SpellFlag = "BDD";
                    }
                }
                else if (name == "Mausoleum of the Emperor")
                {
                    if (p1Turn)
                    {
                        if(p1Monster1 != null)
                            p1Monster1.setHealth((int)(p1Monster1.getDefaultHealth() * .75));
                        if(p1Monster2 != null)
                            p1Monster2.setHealth((int)(p1Monster2.getDefaultHealth() * .75));
                        if(p1Monster3 != null)
                            p1Monster3.setHealth((int)(p1Monster3.getDefaultHealth() * .75));
                        p1SpellFlag = "ME";
                    }
                    else
                    {
                        if(p2Monster1 != null)
                            p2Monster1.setHealth((int)(p2Monster1.getDefaultHealth() * .75));
                        if(p2Monster2 != null)
                            p2Monster2.setHealth((int)(p2Monster2.getDefaultHealth() * .75));
                        if(p2Monster3 != null)
                            p2Monster3.setHealth((int)(p2Monster3.getDefaultHealth() * .75));
                        p2SpellFlag = "ME";
                    }
                }
                else if (name == "The Fountain in the Sky")
                {
                    if (p1Turn)
                    {
                        if (p1Monster1 != null)
                            p1Monster1.setHealth((int)(p1Monster1.getDefaultHealth() * .25));
                        if (p1Monster2 != null)
                            p1Monster2.setHealth((int)(p1Monster2.getDefaultHealth() * .25));
                        if (p1Monster3 != null)
                            p1Monster3.setHealth((int)(p1Monster3.getDefaultHealth() * .25));
                        p1SpellFlag = "FS";
                    }
                    else
                    {
                        if (p2Monster1 != null)
                            p2Monster1.setHealth((int)(p2Monster1.getDefaultHealth() * .25));
                        if (p2Monster2 != null)
                            p2Monster2.setHealth((int)(p2Monster2.getDefaultHealth() * .25));
                        if (p2Monster3 != null)
                            p2Monster3.setHealth((int)(p2Monster3.getDefaultHealth() * .25));
                        p1SpellFlag = "FS";
                    }

                }
        }