コード例 #1
0
    public static string AsSubject(this Noun noun)
    {
        switch (noun)
        {
        case Noun.Potion:
        case Noun.MemoryLoss:
            return("the potion that");

        case Noun.ExWife:
            return("the victim's " + bold("ex-wife"));

        case Noun.Daughter:
            return("the victim's " + bold("daughter"));

        case Noun.Mistress:
            return("the victim's " + bold("mistress"));

        case Noun.Artist:
            return("an " + bold(noun.ToString().ToLower()));

        case Noun.Scientist:
        case Noun.Writer:
        case Noun.Philanthropist:
            return("a " + bold(noun.ToString().ToLower()));

        case Noun.OwesDebt:
            return("the debt");

        default:
            // This will happen for names
            return(bold(noun.ToString()));
        }
    }
コード例 #2
0
    public override ClueItem GetItem(Noun n1, Noun n2)
    {
        // ensure n1 is the identity
        if (n1.Type() == NounType.Name)
        {
            Noun temp = n1;
            n1 = n2;
            n2 = temp;
        }

        string   spriteName  = "Letter";
        string   description = "A letter to the victim about " + Utilities.bold(n2.ToString()) + ", " + n1.WithVictim() + ".";
        ClueItem item        = new ClueItem(n1, n2, Verb.Is, spriteName, description);

        return(item);
    }
コード例 #3
0
    public static string WithVictim(this Noun noun)
    {
        switch (noun)
        {
        case Noun.ExWife:
            return("his " + bold("ex-wife"));

        case Noun.Daughter:
            return("his " + bold("daughter"));

        case Noun.Mistress:
            return("his " + bold("mistress"));

        default:
            return(noun.ToString());
        }
    }
コード例 #4
0
ファイル: Sentence.cs プロジェクト: corsen-olbin/BabaIsStuck
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            if (!IsComplete())
            {
                throw new IncompleteSentenceException(this);
            }

            sb.Append($"{Noun.ToString()} {Verb.ToString()} {Descriptor.ToString()}");

            for (int i = 0; i < ExtraDescriptors.Count; i++)
            {
                sb.Append($" {Conjunctions[i].ToString()} {ExtraDescriptors[i].ToString()}");
            }
            return(sb.ToString());
        }
コード例 #5
0
    public static string AsObject(this Noun noun, bool positive = true)
    {
        string isString  = (positive ? "is " : "is not ");
        string hasString = (positive ? "has " : "does not have ");

        switch (noun)
        {
        case Noun.Potion:
        case Noun.MemoryLoss:
            return("caused our memory loss");

        case Noun.ExWife:
            return(isString + "the victim's " + bold("ex-wife"));

        case Noun.Daughter:
            return(isString + "the victim's " + bold("daughter"));

        case Noun.Mistress:
            return(isString + "the victim's " + bold("mistress"));

        case Noun.OwesDebt:
            return((positive ? bold("owes") : "does not " + bold("owe")) + " the victim money");

        case Noun.Inheritance:
            return((positive ? "will " : "will not ") + "receive an " + bold("inheritance") + " from the victim");

        case Noun.HasGrudge:
            return((positive ? "held " : "did not hold ") + "a " + bold("grudge") + " against the victim");

        case Noun.Abused:
            return((positive ? "was  " : "was not ") + "" + bold("abused") + " by the victim");

        case Noun.Redhead:
        case Noun.Brunette:
        case Noun.Blonde:
            return(isString + "a " + bold(noun.ToString().ToLower()));

        case Noun.Alice:
        case Noun.Brianna:
        case Noun.Catherine:
            return(isString + "named " + bold(noun.ToString()));

        case Noun.Killer:
            return(isString + "the " + bold("murderer"));

        case Noun.Artist:
            return(isString + "an " + bold(noun.ToString().ToLower()));

        case Noun.Scientist:
        case Noun.Writer:
        case Noun.Philanthropist:
            return(isString + "a " + bold(noun.ToString().ToLower()));

        case Noun.SuspectedName:
            return("was written in blood next to the victim's body");

        default:
            // I dont think this is necessary
            return(isString + bold(noun.ToString()));
        }
    }
コード例 #6
0
 public void ConstructEvilMonologue()
 {
     monologue.text = "Ahah! <i>[Taunt them]</i>. You have discovered the true power of this device! I will use this <i>" + ConvertSpaces(adjective.ToString()) + "-powered " + ConvertSpaces(noun.ToString()) + "</i> to _______ <i>" + ConvertSpaces(target.ToString()) +
                      "!</i> You thought <i>[embarrassing thing they did tonight]</i> would help, you thought <i>[silly thing they did tonight]</i> would lead to your salvation. But no, tonight, evil wins! And I, " +
                      PuzzleManager.Instance.teamEvil.teamName + ", will make it so! <i>[Evil laugh]</i>";
 }