Esempio n. 1
0
        public void Run()
        {
            string line;

            while ((line = this.Reader.ReadLine()) != null)
            {
                var tokens = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                // if empty line, skip.
                if (tokens.Length == 0)
                {
                    continue;
                }
                line = line.Trim();

#if !DEBUG
                try
                {
#endif
                switch (tokens[0])
                {
                case "opponent_moves": OpponentMoves(OpponentMovesInstruction.Detokenize(tokens)); break;

                case "pick_starting_regions": ParsePickStartingRegions(line, tokens); break;

                case "settings": ParseSettings(line, tokens); break;

                case "update_map": UpdateMap(UpdateMapInstruction.Detokenize(tokens)); break;

                case "go": ParseGo(line, tokens); break;

                case "setup_map": ParseSetupMap(line, tokens); break;

                // skip these tokens.
                case "Round":
                case "null":
                    break;

                default: ParseByTokenOne(line, tokens); break;
                }
#if !DEBUG
            }
            catch (Exception x)
            {
                Console.Error.WriteLine(line);
                Console.Error.WriteLine(x);
            }
#endif
            }
        }
Esempio n. 2
0
 public abstract void OpponentMoves(OpponentMovesInstruction instruction);