/// <summary> /// Berechnet die geworfene Punktzahl des aktuellen Wurfes anhand der getroffenen Zahl und dem getroffenen Feld. /// </summary> /// <param name="posX">X-Position der Maus</param> /// <param name="posY">Y-Position der Maus</param> /// <returns></returns> private int GetScore(int angle, int posX, int posY) { int score = 0; int points = GetZone(angle); enumRingType Ring = GetRing(posX, posY); switch (Ring) { case enumRingType.None: score = 0; break; case enumRingType.Single: score = points; break; case enumRingType.Double: score = points * 2; break; case enumRingType.Triple: score = points * 3; break; case enumRingType.SingleBull: score = 25; break; case enumRingType.DoubleBull: score = 50; break; } return(score); }
/// <summary> /// This Utilities region shows all the private procedures used in /// the Control Eventhandlers, Methods and Properties. /// </summary> #region Utilities /// <summary> /// Calculates the thrown score based on the X and Y coordinates /// </summary> /// <param name="posX"></param> /// <param name="posY"></param> /// <returns></returns> private int GetScore(int posX, int posY) { try { int intScore = 0; double dblHoekInRadians = System.Math.Atan2(posY, posX); double dblHoekInGraden = dblHoekInRadians * 180 / System.Math.PI; int intHoek = (int)dblHoekInGraden; if (intHoek < 0) { intHoek = 180 + (intHoek + 180); } int intNummer = GetNumber(intHoek); enumRingType enmRing = GetRing(posX, posY); mIsNoScore = false; mIsSingle = false; mIsDouble = false; mIsTriple = false; switch (enmRing) { case enumRingType.None: mstrScoreText = "-"; intScore = 0; mIsNoScore = true; break; case enumRingType.Single: mstrScoreText = "S" + intNummer.ToString(); intScore = intNummer; mIsSingle = true; break; case enumRingType.Double: mstrScoreText = "D" + intNummer.ToString(); intScore = intNummer * 2; mIsDouble = true; break; case enumRingType.Triple: mstrScoreText = "T" + intNummer.ToString(); intScore = intNummer * 3; mIsTriple = true; break; case enumRingType.SingleBullsEye: mstrScoreText = "SingleBull"; intScore = 25; mIsSingle = true; break; case enumRingType.DoubleBullsEye: mstrScoreText = "DoubleBull"; intScore = 50; mIsDouble = true; break; } return(intScore); } catch (Exception ex) { throw ex; } }