Beispiel #1
0
 public override void Render(BattleCityDrawingContext context)
 {
     foreach (var border in context.GameState.Constructions)
     {
         context.DrawTile(StaticResources.Construction, null, border.X, border.Y, null);
     }
 }
Beispiel #2
0
 public override void Render(BattleCityDrawingContext context)
 {
     foreach (var bullet in context.GameState.Bullets)
     {
         context.DrawTile(StaticResources.Bullet, null, bullet.X, bullet.Y, null);
     }
 }
Beispiel #3
0
        public override void Render(BattleCityDrawingContext context)
        {
            var brush = Brushes.Cyan;

            context.DrawTileText(
                context.GameState.PlayerTank.FireCoolDown.ToString(),
                20,
                brush,
                null,
                context.GameState.PlayerTank.X,
                context.GameState.PlayerTank.Y);

            foreach (var tank in context.GameState.AiTanks.Where(x => x.Alive))
            {
                context.DrawTileText(
                    tank.FireCoolDown.ToString(),
                    20,
                    brush,
                    null,
                    tank.X,
                    tank.Y);
            }

            foreach (var tank in context.GameState.Enemies.Where(x => x.Alive))
            {
                context.DrawTileText(
                    tank.FireCoolDown.ToString(),
                    20,
                    brush,
                    null,
                    tank.X,
                    tank.Y);
            }
        }
        private BattleCityDrawingContext PrepareBattleCityDrawingContext(DrawingContext drawingContext)
        {
            var context = new BattleCityDrawingContext(GameState, drawingContext);

            Width  = context.RenderSize.Width;
            Height = context.RenderSize.Height;
            return(context);
        }
Beispiel #5
0
 public override void Render(BattleCityDrawingContext context)
 {
     context.DrawTile(
         context.GameState.PlayerTank.Alive ? StaticResources.Player : StaticResources.Dead,
         null,
         context.GameState.PlayerTank.X,
         context.GameState.PlayerTank.Y,
         context.GameState.PlayerTank.Direction);
 }
 private void RenderLayers(BattleCityDrawingContext battleCityDrawingContext)
 {
     foreach (var battleCityLayer in BattleCityLayers)
     {
         if (battleCityLayer.Enabled)
         {
             battleCityLayer.Render(battleCityDrawingContext);
         }
     }
 }
Beispiel #7
0
 private void DrawPositionColor(BattleCityDrawingContext context, Predicates predicates, Vector position)
 {
     if (predicates.IsUnderThreat(position))
     {
         context.DrawTile(dangerous, null, position.X, position.Y, null);
     }
     else
     {
         context.DrawTile(safe, null, position.X, position.Y, null);
     }
 }
Beispiel #8
0
        public override void Render(BattleCityDrawingContext context)
        {
            var predicates = new Predicates(context.GameState);

            DrawPositionColor(context, predicates, context.GameState.PlayerTank);

            foreach (var position in Vector.Around(context.GameState.PlayerTank).Where(x => predicates.IsVisible(x)))
            {
                DrawPositionColor(context, predicates, position);
            }
        }
Beispiel #9
0
 public override void Render(BattleCityDrawingContext context)
 {
     foreach (var tank in context.GameState.AiTanks)
     {
         context.DrawTile(
             tank.Alive ? StaticResources.AITank : StaticResources.Dead,
             null,
             tank.X,
             tank.Y,
             tank.Direction);
     }
 }
Beispiel #10
0
        public override void Render(BattleCityDrawingContext context)
        {
            var predicates = new Predicates(context.GameState);
            var navigation = new Navigation(context.GameState, predicates);

            if (navigation.Target?.Value == null)
            {
                return;
            }

            foreach (var step in navigation.Target.Value.Value)
            {
                context.DrawTile(null, new Pen(Brushes.Red, 1), step.X, step.Y, null);
            }
        }
Beispiel #11
0
        public override void Render(BattleCityDrawingContext context)
        {
            var predicates = new Predicates(context.GameState);
            var navigation = new Navigation(context.GameState, predicates);

            foreach (var steps in navigation.Map)
            {
                if (steps.Value.Count < 5)
                {
                    context.DrawTileText(
                        steps.Value.Count.ToString(),
                        16,
                        Brushes.Red,
                        new Pen(Brushes.Gray, 1),
                        steps.Key.X,
                        steps.Key.Y);
                }
            }
        }
Beispiel #12
0
 public override void Render(BattleCityDrawingContext context)
 {
     context.Clear();
 }
Beispiel #13
0
 public abstract void Render(BattleCityDrawingContext context);