public ConfusionMatrixAnalysis CreateConfusionMatrix(List <TestResultModel[]> foldResults)
        {
            var confusionMatrix = new ConfusionMatrixAnalysis(this._applicationVersion);

            foreach (var testResults in foldResults)
            {
                foreach (var utterance in testResults.Where(x => !x.IsCorrect))
                {
                    var confusionModel = confusionMatrix.MatrixItems.FirstOrDefault(x => x.ExpectedIntentName == utterance.IntentLabel);
                    if (confusionModel == null)
                    {
                        confusionModel = new MatrixItem(confusionMatrix, utterance.IntentLabel);
                        confusionMatrix.MatrixItems.Add(confusionModel);
                    }
                    var confusion = confusionModel.Confusions.FirstOrDefault(x => x.FoundIntent == utterance.FirstIntent.Name);
                    if (confusion == null)
                    {
                        confusion = new Confusion(confusionModel, utterance.FirstIntent.Name);
                        confusionModel.Confusions.Add(confusion);
                    }
                    var predictions = utterance.IntentPredictions.OrderByDescending(x => x.Score).Take(10).Select(x => new UtteranceIntents(x.Name, x.Score)).ToList();
                    confusion.Utterances.Add(new Utterance(confusion, utterance.Text, utterance.TokenizedText, utterance.FirstIntent.Score, predictions));
                }
            }

            return(confusionMatrix);
        }
예제 #2
0
    private static float Use(PowerUp.Abilities ability, Paddle paddle, bool begin, bool isServer)
    {
        // Switch of ability:
        switch (ability)
        {
        // If we are using the grow power up, call its respective function.
        case PowerUp.Abilities.Grow:
            if (begin)
            {
                Grow.Begin(paddle);
            }
            else
            {
                Grow.End(paddle);
            }

            return(Grow.Duration);

        // If we are using the shrink power up, call its respective function.
        case PowerUp.Abilities.Shrink:
            if (begin)
            {
                Shrink.Begin(paddle);
            }
            else
            {
                Shrink.End(paddle);
            }

            return(Shrink.Duration);

        // If we are using the confusion power up, call its respective function.
        case PowerUp.Abilities.Confusion:
            if (begin)
            {
                Confusion.Begin(paddle);
            }
            else
            {
                Confusion.End(paddle);
            }

            return(Confusion.Duration);

        // As ricochet is one time use, return zero as the duration and only use on begin.
        case PowerUp.Abilities.Ricochet:
            // Only run on server as this is change to the ball's velocity which the server controls.
            if (isServer && begin)
            {
                Ricochet.Use();
            }

            return(0f);
        }

        return(0f);
    }
예제 #3
0
 // Use this for initialization
 void Start()
 {
     pc          = GetComponent <PlayerController>();
     pc.IsGround = true;
     pc.Stan     = false;
     if (GetComponent <RaisePower>() != null)
     {
         raisePowers = GetComponents <RaisePower>().ToList();
         foreach (var r in raisePowers)
         {
             pc.EffectExit();
             Destroy(r);
         }
     }
     if (GetComponent <Acceleration>() != null)
     {
         accelerations = GetComponents <Acceleration>().ToList();
         foreach (var a in accelerations)
         {
             pc.EffectExit();
             Destroy(a);
         }
     }
     if (GetComponent <DownPower>() != null)
     {
         downPowers = GetComponents <DownPower>().ToList();
         foreach (var d in downPowers)
         {
             pc.EffectExit();
             Destroy(d);
         }
     }
     if (GetComponent <Deceleration>() != null)
     {
         decelerations = GetComponents <Deceleration>().ToList();
         foreach (var d in decelerations)
         {
             pc.EffectExit();
             Destroy(d);
         }
     }
     if (GetComponent <Confusion>() != null)
     {
         confusion = GetComponent <Confusion>();
         pc.EffectExit();
         Destroy(confusion);
     }
     Destroy(this);
 }
예제 #4
0
    static void Main(string[] args)
    {
        Confusion confusion = new Confusion();
        int       result    = confusion.GuessWhat(12);

        Console.WriteLine(result);

        result = confusion.GuessWhat((decimal)12.2);
        Console.WriteLine(result);

        result = confusion.GuessWhat("13");
        Console.WriteLine(result);

        Console.ReadLine();
    }
 public void Knockout()
 {
     confusionInstance = GameObject.Instantiate <Confusion>(confusionPrefab);
     confusionInstance.transform.parent        = transform;
     confusionInstance.transform.localPosition = Vector3.zero;
 }