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; }
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; } }
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)); }