Beispiel #1
0
 /// <summary>
 /// A request to normal summon the monster is given to the game class. If allowable, it will be summoned.
 /// </summary>
 /// <param name="monsterToSummon">A MonsterCard to play.</param>
 /// <returns>"" if successful. Error string if failed.</returns>
 public string NormalSummon(Object monsterToSummon)
 {
     if (monsterToSummon is MonsterCard && hand.Contains(monsterToSummon))
     {
         Game.Result amIAllowedToSummon = myCurrentGame.RequestNormalSummon(id, monsterToSummon, faceDownCardsInMonsterZone.Count + m_meReadOnly.getFaceUpMonstersInMonsterZone().Count);
         if (amIAllowedToSummon.ToString().Equals("Success"))
         {
             return("");
         }
         else
         {
             return(amIAllowedToSummon.ToString());
         }
     }
     else
     {
         return("Either Card is not a monster or the card is not in your hand!");
     }
 }
Beispiel #2
0
 public string Sacrifice(MonsterCard toSacrifice)
 {
     Game.Result r = myCurrentGame.RequestSacrifice(id, toSacrifice);
     if (r.Equals(Game.Result.Success))
     {
         return("");
     }
     else
     {
         return(r.ToString());
     }
 }
Beispiel #3
0
 public string AttackFaceUpOpponent(MonsterCard attackingCard, MonsterCard defendingCard)
 {
     Game.Result r = myCurrentGame.RequestAttack(id, attackingCard, defendingCard);
     if (r.Equals(Game.Result.Success))
     {
         return("");
     }
     else
     {
         return(r.ToString());
     }
 }
Beispiel #4
0
 public string AttackFaceDownOpponent(MonsterCard attackingCard, Mode faceDownCardsMode)
 {
     Game.Result r = myCurrentGame.RequestAttackOnFaceDownCard(id, attackingCard, faceDownCardsMode);
     if (r.Equals(Game.Result.Success))
     {
         return("");
     }
     else
     {
         return(r.ToString());
     }
 }
Beispiel #5
0
 public string AttackLifePoints(MonsterCard attackingCard)
 {
     Game.Result r = myCurrentGame.RequestAttackLifePoints(id, attackingCard);
     if (r.Equals(Game.Result.Success))
     {
         return("");
     }
     else
     {
         return(r.ToString());
     }
 }
Beispiel #6
0
 /// <summary>
 /// Asks the game to change the mode of the card (to attack mode or defense mode).
 /// </summary>
 /// <param name="toChangeModeOf">to change to attack mode or defense mode</param>
 /// <returns>"" if successful. Error message if Error</returns>
 public string ChangeModeOfCard(MonsterCard toChangeModeOf)
 {
     Game.Result r = myCurrentGame.RequestChangeModeOfCard(id, toChangeModeOf);
     if (r.Equals(Game.Result.Success))
     {
         return("");
     }
     else
     {
         return(r.ToString());
     }
 }
Beispiel #7
0
        public string TryEquip(Object EquipableCard, string nameOfCardToEquipTo)
        {
            bool found = false;

            if (hand.Contains(EquipableCard))
            {
                for (int i = 0; i < faceDownCardsInMonsterZone.Count && !found; i++)
                {
                    if (faceDownCardsInMonsterZone[i].getName().Equals(nameOfCardToEquipTo))
                    {
                        MonsterCard equippingTo = faceDownCardsInMonsterZone[i];
                        found = true;
                        Game.Result r = myCurrentGame.RequestEquip(id, EquipableCard, ref equippingTo);
                        if (r == Game.Result.Success)
                        {
                            faceDownCardsInMonsterZone[i] = equippingTo;
                            SendToGraveYard(EquipableCard, Zone.Hand);
                            return("");
                        }
                        else
                        {
                            return(r.ToString());
                        }
                    }
                }
                IList <MonsterCard> faceUpMonsters = m_meReadOnly.getFaceUpMonstersInMonsterZone();
                for (int i = 0; i < faceUpMonsters.Count && !found; i++)
                {
                    if (faceUpMonsters[i].getName().Equals(nameOfCardToEquipTo))
                    {
                        found = true;
                        MonsterCard equippingTo = faceUpMonsters[i];
                        Game.Result r           = myCurrentGame.RequestEquip(id, EquipableCard, ref equippingTo);
                        if (r == Game.Result.Success)
                        {
                            faceUpMonsters[i] = equippingTo;
                            m_meReadOnly.setFaceUpMonstersInMonsterZone(faceUpMonsters);
                            SendToGraveYard(EquipableCard, Zone.Hand);
                            return("");
                        }
                        else
                        {
                            return(r.ToString());
                        }
                    }
                }
                return("Failed to find card");
            }
            else
            {
                return("Equipable Card not in hand anymore.");
            }
        }
Beispiel #8
0
 /// <summary>
 /// Tell the game and opponent you are done for this turn. Should be called after you attack, summon, etc.
 /// </summary>
 /// <returns>"" if successfully ended turn. Error string if failed.</returns>
 public string EndTurn()
 {
     Game.Result r = myCurrentGame.RequestEndTurn(id);
     if (r == Game.Result.Success)
     {
         return("");
     }
     else
     {
         return(r.ToString());
     }
 }