コード例 #1
0
        /// <summary>
        /// This creates a new match.
        /// </summary>
        public void NewMatch()
        {
            match = new UserMatch(configuration);
            user  = new Player(match, NAME);
            match.AddUser(user);

            var bots = ControllerSkeleton.LoadControllerFolder(Environment.CurrentDirectory + "\\..\\bots");

            foreach (ControllerSkeleton bot in bots)
            {
                if (bot.Controller.Name == BOTNAME)
                {
                    computer = match.PlayerCreate(bot);
                    break;
                }
            }

            match.OnEvent += UpdateShot;
            match.OnEvent += UpdateShotHit;
            match.OnEvent += UpdateWinner;
            match.OnEvent += RoundEnd;
            match.OnEvent += UpdateShipDestroyed;

            match.Play();
        }
コード例 #2
0
        /// <summary>
        /// Constructor for the MainWindow. Collapses the collapseable elements of the WPF application.
        /// </summary>
        public MainWindow()
        {
            Configuration.Initialize(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\MBC Data");
            InitializeComponent();
            centerConsoleBorder.Visibility = System.Windows.Visibility.Collapsed;
            advTabs.Visibility             = System.Windows.Visibility.Collapsed;

            configuration = Configuration.Global;

            availableControllers = ControllerSkeleton.LoadControllerFolder(
                configuration.GetValue <string>("app_data_root") + "controllers");
            availableControllers.AddRange(ControllerSkeleton.LoadControllerFolder(Environment.CurrentDirectory + "\\..\\bots"));

            //currentMatch = new ControlledMatch(configuration, availableControllers.ToArray());

            UpdateLayout();
        }
コード例 #3
0
        /// <summary>
        /// AppConsole entry point
        /// </summary>
        /// <param name="args">Arguments to be specified for running commands as batch mode.</param>
        private static void Main(string[] args)
        {
            //Set up the console
            Console.Title = "MBC console";
            Console.TreatControlCAsInput = true;
            Console.CancelKeyPress      += (a, b) =>
            {
                b.Cancel = false;
            };
            Configuration.Initialize(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\MBC Data");

            //Load controllers from the application data directory.
            availableControllers = ControllerSkeleton.LoadControllerFolder(
                Configuration.Global.GetValue <string>("app_data_root") + "controllers");
            //Load controllers from the running application root directory.
            availableControllers.AddRange(ControllerSkeleton.LoadControllerFolder(Environment.CurrentDirectory + "\\..\\bots"));

            if (args.Length != 0)
            {
                if (!RunCommand(args))
                {
                    Console.WriteLine("Invalid command specified.");
                }
                return;
            }

            Console.WriteLine("Type \"help\" for usage.");

            inputRunning = true;
            while (inputRunning)
            {
                Console.Write("\n> ");

                var consoleInput = Console.ReadLine();
                if (consoleInput != null && !RunCommand(consoleInput))
                {
                    Console.WriteLine("Invalid command specified.");
                }
            }
        }
コード例 #4
0
 private void LoadControllers()
 {
     selectableBots = ControllerSkeleton.LoadControllerFolder(Environment.CurrentDirectory + "\\..\\bots");
 }