Пример #1
0
 public override string Talk()
 {
     if (declaredPlanningVoteAgent != planningVoteAgent)
     {
         declaredPlanningVoteAgent = planningVoteAgent;
         return(TemplateTalkFactory.Vote(planningVoteAgent));
     }
     else
     {
         return(TemplateTalkFactory.Over());
     }
 }
Пример #2
0
        public override string Talk()
        {
            // CO,霊能結果,投票先の順に発話の優先度高

            // 未CO,かつ設定したCOする日にちを過ぎていたらCO

            if (!isCameout && Day >= comingoutDay)
            {
                isCameout = true;
                return(TemplateTalkFactory.Comingout(Me, fakeRole));
            }
            // COしているなら偽占い,霊能結果の報告
            else if (isCameout && !isSaidAllFakeResult)
            {
                foreach (Judge judge in MyFakeJudgeList)
                {
                    if (!declaredFakeJudgedAgentList.Contains(judge))
                    {
                        if (fakeRole == Role.SEER)
                        {
                            declaredFakeJudgedAgentList.Add(judge);
                            return(TemplateTalkFactory.Divined(judge.Target, judge.Result));
                        }
                        else if (fakeRole == Role.MEDIUM)
                        {
                            declaredFakeJudgedAgentList.Add(judge);
                            return(TemplateTalkFactory.Inquested(judge.Target, judge.Result));
                        }
                    }
                }
                isSaidAllFakeResult = true;
            }

            // 今日投票するプレイヤーの報告
            // 前に報告したプレイヤーと同じ場合は報告なし
            if (declaredPlanningVoteAgent != planningVoteAgent)
            {
                declaredPlanningVoteAgent = planningVoteAgent;
                return(TemplateTalkFactory.Vote(planningVoteAgent));
            }

            else
            {
                return(Common.Data.Talk.OVER);
            }
        }