示例#1
0
    public void shuffleStrategyDeck(LinkedList <StrategyCard> deck)
    {
        Random rand = new Random(Environment.TickCount);

        for (LinkedListNode <StrategyCard> n = deck.First; n != null; n = n.Next)
        {
            StrategyCard v = n.Value;
            if (rand.Next(0, 2) == 1)
            {
                n.Value         = deck.Last.Value;
                deck.Last.Value = v;
            }
            else
            {
                n.Value          = deck.First.Value;
                deck.First.Value = v;
            }
        }
    }
示例#2
0
 public void setSendState(Player sendPlayer, StrategyCard sendedCard)
 {
     this.sendedCard = sendedCard;
     this.sendPlayer = sendPlayer;
 }
    private void prepStrategyCards(StrategySet set, StrategyCard[] replacements)
    {
        //Prepare set
        prepStrategyCards (set);

        foreach (StrategyCard replacementCard in replacements) {
            strategyCards[replacementCard.Initiative] = replacementCard;
        }
    }
    private StrategyCard readStrategyCard(string dataType, string dataText, string fileName, StreamReader reader)
    {
        if (dataText == "<{>") {
            StrategyCard strategyCard = new StrategyCard();
            string line = reader.ReadLine().Trim ();

            do {
                string[] lineParts;
                //Split category name from data
                lineParts = line.Split(":".ToCharArray(), 2);

                //Remove any extra whitespace from parts & set descriptive variables
                string newDataType = gameManager.LanguageMgr.StringToDataType(lineParts[0].Trim ());
                string newDataText = lineParts[1].Trim ();

                if (newDataType == "Name") {
                    strategyCard.Name = readTextLine(newDataType, newDataText, fileName);
                } else if (newDataType == "Initiative") {
                    strategyCard.Initiative = readIntLine (newDataType, newDataText, fileName);
                } else if (newDataType == "Set") {
                    strategyCard.Set = gameManager.LanguageMgr.StringToStrategySet(readTextLine(newDataType, newDataText, fileName));
                } else if (newDataType == "Primary Ability") {
                    strategyCard.PrimaryAbility = readStrategyAbility(newDataType, newDataText, fileName, reader);
                } else if (newDataType == "Secondary Ability") {
                    strategyCard.SecondaryAbility = readStrategyAbility(newDataType, newDataText, fileName, reader);
                } else if (newDataType == "Special") {
                    strategyCard.Special = readTextLine (newDataType, newDataText, fileName);
                } else if (newDataType == "ID") {
                    strategyCard.Id = readTextLine (dataType, dataText, fileName);
                }
                line = reader.ReadLine().Trim ();
            } while (line != "<}>");
            // End of outermost block

            if (strategyCard.Id == default(string)) {
                strategyCard.Id = strategyCard.Name;
            }

            return strategyCard;
        } else {
            throw new System.Exception(string.Format("Error reading file {0}:: got \"{1}\" should be <{>", fileName, dataText));
        }
    }