示例#1
0
        public override void RenderShip(Ship ship)
        {
            bool destroyed = ship.DamagedParts.All(p => p);

            for (int i = 0; i < ship.Size; i++)
            {
                FieldTypeOwn fto = FieldTypeOwn.OwnShip;
                if (destroyed)
                {
                    fto = FieldTypeOwn.OwnShipDestroyed;
                }
                else if (ship.DamagedParts[i])
                {
                    fto = FieldTypeOwn.OwnShipDamaged;
                }
                if (ship.Direction == ShipDirection.Horizontal)
                {
                    UpdateField(ship.X + i, ship.Y, fto);
                }
                else
                {
                    UpdateField(ship.X, ship.Y + i, fto);
                }
            }
        }
示例#2
0
 public void UpdateField(int x, int y, FieldTypeOwn fieldtype)
 {
     base.UpdateField(x, y, FieldTypes[fieldtype]);
 }