コード例 #1
0
 private int DistanceToObjetive()
 {
     if (!CalculatedNumbers.Any())
     {
         return(Objetive);
     }
     return(Math.Abs(Objetive - CalculatedNumbers.First().Value));
 }
コード例 #2
0
 private int YourNumber()
 {
     if (!CalculatedNumbers.Any())
     {
         return(Objetive);
     }
     return(CalculatedNumbers.First().Value);
 }
コード例 #3
0
 public void Resolve()
 {
     if (CurrentCalculation.CanBeOperated())
     {
         CalculatedNumbers.Add(new CalculatedNumber(CurrentCalculation));
         CalculationList.Add(new Calculation(CurrentCalculation));
         RemoveValuesFromLists(CurrentCalculation);
         CurrentCalculation.Restart();
         SetMessage();
     }
 }
コード例 #4
0
 public void RestartGame()
 {
     foreach (var number in Numbers)
     {
         number.Enable();
     }
     CalculatedNumbers.Clear();
     Message = new Message(Objetive);
     CurrentCalculation.Restart();
     CalculationList.Clear();
 }
コード例 #5
0
 private void RemoveValuesFromLists(Calculation calculation)
 {
     foreach (var number in calculation.GetNumbers())
     {
         if (number is CalculatedNumber calculatedNumber)
         {
             CalculatedNumbers.Remove(calculatedNumber);
         }
         else
         {
             Numbers.First(x => x.Equals(number)).Disable();
         }
     }
 }