Example #1
0
        private static string RandomSign()
        {
            string strSignText = "*~*~*~*";

            int intRand;

            do
            {
                intRand = RNG.Next(intAmountOfSignTypes);
            } while (intRand >= 5 && _booSignUsed[intRand]);
            _booSignUsed[intRand] = true;

            do
            {
                switch (intRand)
                {
                case 0:
                case 1: strSignText = String.Format("{0} {1} {2} for {3}~-{4} {5}.{6}.",
                                                    RNG.RandomItem("I will", "I can", "Will", "Can", "Can you"),
                                                    RNG.RandomItem("trade", "swap", "sell"),
                                                    RNG.RandomItem("gold", "iron", "dirt", "tools", "glass", "flowers", "cake", "mushrooms"),
                                                    RNG.RandomItem("obsidian", "wood", "sand", "bricks", "coal", "stone", "cookies", "diamonds"),
                                                    RNG.RandomItem("See", "Talk to"),
                                                    RNG.RandomLetter().ToString().ToUpper(),
                                                    RNG.RandomLetter().ToString().ToUpper());
                    break;

                case 2: strSignText = String.Format("{0} of the holy {1} are meeting this {2}",
                                                    RNG.RandomItem("Church", "Order"),
                                                    RNG.RandomFileLine(Path.Combine("Resources", "ChurchNoun.txt")),
                                                    RNG.RandomDay());
                    break;

                case 3: strSignText = String.Format("{0} {1} has lost her {2}. {3}",
                                                    RNG.RandomItem("Mrs", "Miss"),
                                                    RNG.RandomFileLine(Path.Combine("Resources", "Adjectives.txt")),
                                                    RNG.RandomItem("cat", "dog", "glasses", "marbles", "knitting"),
                                                    RNG.RandomItem("Reward offered", "Please help"));
                    break;

                case 4: strSignText = String.Format("{0} for sale~-{1} {2}.{3}.",
                                                    RNG.RandomItem("Armour", "Property", "House", "Weapons", "Gold", "Bodyguard", "Pet wolf", "Books", "Tools"),
                                                    RNG.RandomItem("See", "Talk to"),
                                                    RNG.RandomLetter().ToString().ToUpper(),
                                                    RNG.RandomLetter().ToString().ToUpper());
                    break;

                case 5: strSignText = "Lost pet creeper. Last seen near the mini crater";
                    break;

                case 6: strSignText = "Israphel~~Wanted dead~or alive";
                    break;

                case 7: strSignText = "Lost Jaffa Cakes. Please return to Honeydew";
                    break;

                case 8: strSignText = "Read note " + RNG.Next(500, 999);
                    break;

                case 9: strSignText = "Buy one get one free on gravestones!";
                    break;

                case 10: strSignText = "Archery practice this " + RNG.RandomDay() + " afternoon";
                    break;

                case 11: strSignText = "Seen a crime? Tell the nearest city guard";
                    break;

                case 12: strSignText = "New city law: No minors can be miners";
                    break;

                case 13: strSignText = "Council meeting this " + RNG.RandomDay();
                    break;

                case 14: strSignText = "Numbers for lovers:~" + RNG.RandomItem("220 284", "1184 1210", "2620 2924", "5020 5564", "6232 6368");
                    break;

                default:
                    Debug.Fail("Invalid switch result");
                    break;
                }
            } while (!strSignText.IsValidSign());
            return(strSignText);
        }