Пример #1
0
        private void CountPresentationHP(MyKnights knight)
        {
            KnightInGame targetKnight = gameModel.Knight[knight];
            int          scheduledHP  = targetKnight.HealthPoints - (targetKnight.NumberOfKnights - 1) * 100;
            int          resultHP     = scheduledHP;

            if (scheduledHP == 0)
            {
                if (targetKnight.NumberOfKnights != 0)
                {
                    resultHP = 100;
                }
                else
                {
                    resultHP = 0;
                }
            }
            targetKnight.PresentationHP = resultHP;
        }
Пример #2
0
        public void DecreaseKnightHP(MyKnights knight, int damage)
        {
            KnightInGame targetKnight = gameModel.Knight[knight];
            int          scheduledHP  = targetKnight.HealthPoints - damage;
            int          edgeHP       = (targetKnight.NumberOfKnights - 1) * 100;

            if (scheduledHP > 0)
            {
                if (scheduledHP < edgeHP)
                {
                    targetKnight.NumberOfKnights--;
                }
                targetKnight.HealthPoints = scheduledHP;
                CountPresentationHP(knight);
            }
            else
            {
                targetKnight.NumberOfKnights = 0;
                targetKnight.HealthPoints    = 0;
                targetKnight.PresentationHP  = 0;
            }
        }
Пример #3
0
 public void LogMovementOfKnight(KnightInGame knight, MyKnights knightType)
 {
     LogInfo(string.Format("Knight {0} moved: POSITION: [ X: {1}, Y: {2} ], HP left: {3}, Number of such knights: {4}", knightType.GetStringValue(), knight.PointForKnight.X, knight.PointForKnight.Y, knight.HealthPoints, knight.NumberOfKnights));
 }