Ejemplo n.º 1
0
        private static void Move(GameClientBattlecity gcb)
        {
            var r    = new Random();
            var done = false;

            switch (r.Next(5))
            {
            case 0:
                if (!gcb.IsBarrierAt(gcb.PlayerX, gcb.PlayerY - 1))
                {
                    gcb.SendActions(gcb.Up());
                    done = true;
                }
                break;

            case 1:
                if (!gcb.IsBarrierAt(gcb.PlayerX + 1, gcb.PlayerY))
                {
                    gcb.SendActions(gcb.Right());
                    done = true;
                }
                break;

            case 2:
                if (!gcb.IsBarrierAt(gcb.PlayerX, gcb.PlayerY + 1))
                {
                    gcb.SendActions(gcb.Down());
                    done = true;
                }
                break;

            case 3:
                if (!gcb.IsBarrierAt(gcb.PlayerX - 1, gcb.PlayerY))
                {
                    gcb.SendActions(gcb.Left());
                    done = true;
                }
                break;

            case 4:
                gcb.SendActions(gcb.Act());
                done = true;
                break;
            }
            if (done == false)
            {
                gcb.SendActions(gcb.Blank());
            }
        }
Ejemplo n.º 2
0
        private static void Move()
        {
            Log("New move");
            var sw = new System.Diagnostics.Stopwatch();

            sw.Start();
            if (PrevTurnMap == null)
            {
                PrevTurnMap = G.Map;
            }
            var done = false;

            done = Dodge();
            if (!done && S.ActCooldown <= 0)
            {
                done = ActAvailableEnemy();
            }
            if (!done)
            {
                done = MoveTank();
            }
            if (!done)
            {
                S.ActInactive++;
                if (!ActBarier())
                {
                    G.SendActions(G.Blank());
                }
            }

            S.ActCooldown--;
            PrevTurnMap = G.Map;
            LogStats();
            Log(" " + sw.ElapsedMilliseconds);
            Log(Environment.NewLine);
        }