Exemple #1
0
    public void ExecutetPhase(List <int> play, TournementControler Tc)
    {
        for (int j = 0; j < play.Count; j++)
        {
            PlayCard(j, Tc);
            Tc.hands[playerID].cards[play[j]] = null;
        }

        List <Card> replace = new List <Card>();

        for (int i = 0; i < Tc.hands[playerID].cards.Count; i++)
        {
            if (Tc.hands[playerID].cards[i] != null)
            {
                replace.Add(Tc.hands[playerID].cards[i]);
            }
        }

        Tc.hands[playerID].cards.Clear();
        Tc.hands[playerID].cards = replace;
        foreach (Transform child in Tc.hands[playerID].gameObject.transform)
        {
            GameObject.Destroy(child.gameObject);
        }
        foreach (Card c in Tc.hands[playerID].cards)
        {
            Instantiate(c).transform.SetParent(Tc.hands[playerID].gameObject.transform);
        }
    }
Exemple #2
0
    public void NetworkExecuteDiscard(int UID)
    {
        Dropzone            Dropzone  = (Dropzone)this.GetComponent("Dropzone");
        TournementControler Controler = tournamentControler;
        Hand THand = Controler.hands[Controler.turn];

        Controler.Discard.cards.Add(Instantiate(THand.cards[UID]));
        Destroy(THand.transform.GetChild(UID).gameObject);
        THand.cards.RemoveAt(UID);
        Controler.ifDisplay.setText(Controler.UpdateInfo(0));
    }
Exemple #3
0
    public void PlayCard(int UID, TournementControler Tc)
    {
        Dropzone Dropzone = Tc.dzones[playerID];
        Hand     THand    = Tc.hands[Tc.turn];

        HandleTextFile.WriteLog("AI Log: Player " + (playerID + 1) + " Plays Card" + THand.cards[UID].name, GameControler.SName);
        Card temp = Instantiate(THand.cards[UID]);

        Dropzone.AddCard(temp);
        temp.transform.SetParent(Dropzone.transform);
        Destroy(THand.transform.GetChild(UID).gameObject);
    }
Exemple #4
0
    public void NetworkExecuteDropTZone(int UID)
    {
        Debug.Log(UID);
        Dropzone            Dropzone  = (Dropzone)this.GetComponent("Dropzone");
        TournementControler Controler = tournamentControler;
        Hand THand = Controler.hands[Controler.turn];
        Card temp  = Instantiate(THand.cards[UID]);

        Dropzone.AddCard(temp);
        temp.transform.SetParent(this.transform);
        Destroy(THand.transform.GetChild(UID).gameObject);
        THand.cards.RemoveAt(UID);
        Controler.ifDisplay.setText(Controler.UpdateInfo(0));
    }
Exemple #5
0
    public override void JoinTournament(List <GameObject> pl, int reward, TournementControler Tc)
    {
        int  r    = 0;
        bool join = false;

        for (int i = 0; i < pl.Count; i++)
        {
            AbstractPlayer tempPlayer = pl[i].GetComponent <AbstractPlayer>();
            r = tempPlayer.PlayerRank.rank;
            if (reward + tempPlayer.PlayerRank.Sheild >= lv[r])
            {
                join = true;
            }
        }
        Join(Tc, join);
    }
Exemple #6
0
    public override void TournamentBehavior(int Case, TournementControler Tc)
    {
        int ID = this.playerID;

        switch (Case)
        {
        case 1:
            bool play = false;
            for (int i = 0; i < Tc.hands[ID].cards.Count; i++)
            {
                switch (Tc.hands[ID].cards[i].Type)
                {
                case "Foe":
                    break;

                case "Amour":
                    if (Tc.dzones[playerID].SpecificUseCards.Count == 0)
                    {
                        PlayCard(i, Tc);
                    }
                    break;

                case "Ally":
                    PlayCard(i, Tc);
                    break;

                case "Equipment":
                    play = true;
                    EquipmentCard EC1 = ((EquipmentCard)Tc.hands[ID].cards[i]);
                    foreach (EquipmentCard EC in Tc.dzones[playerID].Equipment)
                    {
                        if (EC1.TypeOfEquipment == EC.TypeOfEquipment)
                        {
                            play = false;
                            break;
                        }
                    }
                    if (play == true)
                    {
                        PlayCard(i, Tc);
                    }
                    break;

                default:
                    break;
                }
            }
            break;

        case 2:
            bool       play2 = false;
            List <int> Equip = new List <int>();
            for (int i = 0; i < Tc.hands[ID].cards.Count; i++)
            {
                if (Tc.hands[ID].cards[i].Type == "Equipment")
                {
                    for (int j = i + 1; j < Tc.hands[ID].cards.Count; j++)
                    {
                        if (Tc.hands[ID].cards[j].Type == "Equipment")
                        {
                            if (((EquipmentCard)Tc.hands[ID].cards[i]).TypeOfEquipment == ((EquipmentCard)Tc.hands[ID].cards[j]).TypeOfEquipment)
                            {
                                Equip.Add(i);
                                play2 = true;
                            }
                        }
                    }
                }
            }
            if (play2 == true)
            {
                ExecutetPhase(Equip, Tc);
            }
            break;

        default:
            break;
        }
    }
Exemple #7
0
 public override void ExecuteTournament(List <GameObject> pl, int reward, TournementControler Tc)
 {
     TournamentBehavior(1, Tc);
 }
Exemple #8
0
//

    //Universal Ai Helper Methods
    public void Join(TournementControler Tc, bool choice)
    {
        Tc.join(choice);
    }
Exemple #9
0
 public abstract void TournamentBehavior(int Case, TournementControler Tc);
Exemple #10
0
 public abstract void ExecuteTournament(List <GameObject> pl, int reward, TournementControler Tc);
Exemple #11
0
// Tournament Start
    public override void JoinTournament(List <GameObject> pl, int reward, TournementControler Tc)
    {
        HandleTextFile.WriteLog("Action Log: AI Player " + (playerID + 1) + "Joins Tournament", GameControler.SName);
        Join(Tc, true);
    }
Exemple #12
0
    public override void TournamentBehavior(int Case, TournementControler Tc)
    {
        int        TBP    = this.BP;
        List <int> HIndex = new List <int>();

        HandleTextFile.WriteLog("Action Log: AI Player " + (playerID + 1) + "Is Picking Cards To Play", GameControler.SName);
        for (int i = 0; i < Tc.hands[playerID].cards.Count; i++)
        {
            bool CanPlayCard = false;
            int  TempBP      = 0;
            Card tempCard    = Tc.hands[playerID].cards[i];
            switch (Tc.hands[playerID].cards[i].Type)
            {
            case "Foe":
                break;

            case "Ally":
                CanPlayCard = true;
                TempBP     += ((AllyCard)tempCard).BattlePoints;
                PlayCard(i, Tc);
                break;

            case "Equipment":
                CanPlayCard = true;
                EquipmentCard TempEC = (EquipmentCard)tempCard;
                foreach (EquipmentCard EC in Tc.dzones[playerID].Equipment)
                {
                    if (EC.TypeOfEquipment == TempEC.TypeOfEquipment)
                    {
                        CanPlayCard = false;
                        break;
                    }
                }
                if (CanPlayCard)
                {
                    TempBP += TempEC.BattlePoints;
                    PlayCard(i, Tc);
                }
                break;

            case "Amour":
                CanPlayCard = true;
                TempBP     += 10;
                PlayCard(i, Tc);
                break;

            default:
                Debug.Log("I Can't  Let you Do that Dave");
                break;
            }
            if (CanPlayCard)
            {
                HIndex.Add(i);
                TBP += TempBP;
            }
            if (TBP > 50)
            {
                break;
            }
        }
        RemoveCards(HIndex, Tc);
    }