Пример #1
0
        public Game(MyList <string> players_names)
        {
            generate_players_list(players_names);

            decide_assasin();
            decide_first_king();

            this.assasin.add_info("You are the assasin");
            this.first_king.add_info("You are the first king");

            #region role specific info
            foreach (Role role_1 in this.evil_roles.without(Role.COLGREVANCE))
            {
                foreach (Role role_2 in this.evil_roles.without(role_1).without(Role.COLGREVANCE).random_add_if(Role.TITANIA, role_in_game(Role.TITANIA)))
                {
                    role_1.add_info(role_2.get_player_name() + " is evil");
                    if (role_in_game(Role.TITANIA))
                    {
                        role_1.add_info("Titania has infiltrated your ranks. (One of the people you see is not Evil.)");
                    }
                    if (role_in_game(Role.COLGREVANCE))
                    {
                        role_1.add_info("Colgrevance lurks in the shadows. (There is another Evil that you do not see.)");
                    }
                }
            }

            if (role_in_game(Role.TRISTAN))
            {
                Role.TRISTAN.add_info(Role.ISEULT.get_player_name() + " is Iseult");
                Role.ISEULT.add_info(Role.TRISTAN.get_player_name() + " is Tristan");
            }

            if (role_in_game(Role.MERLIN))
            {
                foreach (Role role in this.evil_roles.without(Role.MORDRED).random_add_if(Role.LANCELOT, role_in_game(Role.LANCELOT)))
                {
                    Role.MERLIN.add_info(role.get_player_name() + " is evil");
                }
            }

            if (role_in_game(Role.NIMUE))
            {
                foreach (Role role in this.all_roles.without(Role.NIMUE))
                {
                    Role.NIMUE.add_info(role.get_role_name() + " is in the game");
                }
            }

            if (role_in_game(Role.PERCIVAL))
            {
                foreach (Role role in new MyList <Role>()
                {
                    Role.MERLIN, Role.MORGANA
                }.shuffled())
                {
                    if (role_in_game(role))
                    {
                        Role.PERCIVAL.add_info(role.get_player_name() + " is Merlin or Morgana");
                    }
                }
            }

            if (role_in_game(Role.ARTHUR))
            {
                foreach (Role role in this.good_roles.without(Role.ARTHUR))
                {
                    Role.ARTHUR.add_info(role.get_role_name() + " is in the game");
                }
            }

            if (role_in_game(Role.COLGREVANCE))
            {
                foreach (Role role in this.evil_roles.without(Role.COLGREVANCE))
                {
                    Role.COLGREVANCE.add_info(role.get_player_name() + " is " + role.get_role_name());
                }
            }
            #endregion
        }