public IndividualSkills( PresentationAction pa)
 {
     myPresentationAction = pa;
     InitializeComponent();
     currentInstruction = myPresentationAction.myMistake;
     introduction = new IndividualSkillsIntroduction();
     individualInstructions = new IndividualInstructions();
     finish = new IndividualFinish();
     Loaded += IndividualSkills_Loaded;
 }
        //Calculates the points for a mistake and returns integer of the entry of this mistake in the mistake list.
        private int decisionFormula()
        {
            feedbackMistakeType = PresentationAction.MistakeType.NOMISTAKE;
            feedbackGravity = 0;
            feedbackEntry = 0;

            // Go through all current mistakes and calculate points
            // -> this means get repetition and length of mistake as points of mistake
            // -> keep track of biggest mistake
            // return mistake with highest points

            for (int i = 0; i < mistakes.Count; i++)
            {
                PresentationAction temp = (PresentationAction)mistakes[i];
                double gravity = getGravity(temp);
                if (gravity > feedbackGravity)
                {
                    feedbackGravity = gravity;
                    feedbackEntry = i;
                    feedbackMistakeType = temp.myMistake;
                }
            }

            return feedbackEntry;
        }
Exemple #3
0
        public void sendFeedback(PresentationAction.MistakeType mistake)
        {
            string feedback = "good";

            switch (mistake)
            {
            case PresentationAction.MistakeType.ARMSCROSSED:
            case PresentationAction.MistakeType.LEFTHANDBEHINDBACK:
            case PresentationAction.MistakeType.LEFTHANDUNDERHIP:
            case PresentationAction.MistakeType.LEGSCROSSED:
            case PresentationAction.MistakeType.RIGHTHANDBEHINDBACK:
            case PresentationAction.MistakeType.RIGHTHANDUNDERHIP:
            case PresentationAction.MistakeType.HUNCHBACK:
            case PresentationAction.MistakeType.RIGHTLEAN:
            case PresentationAction.MistakeType.LEFTLEAN:
                feedback = "Reset Posture";
                break;

            case PresentationAction.MistakeType.DANCING:
                feedback = "Stand Still";
                break;

            case PresentationAction.MistakeType.HANDS_NOT_MOVING:
                feedback = "Move Hands";
                break;

            case PresentationAction.MistakeType.HANDS_MOVING_MUCH:
                feedback = "Move Hands";
                break;

            case PresentationAction.MistakeType.HIGH_VOLUME:
                feedback = "Speak Softer";
                break;

            case PresentationAction.MistakeType.LOW_VOLUME:
                feedback = "Speak Louder";
                break;

            case PresentationAction.MistakeType.LOW_MODULATION:
                feedback = "Module Voice";
                break;

            case PresentationAction.MistakeType.LONG_PAUSE:
                feedback = "Start Speaking";
                break;

            case PresentationAction.MistakeType.LONG_TALK:
                feedback = "Stop Speaking";
                break;

            case PresentationAction.MistakeType.HMMMM:
                feedback = "Stop Hmmmm";
                break;

            case PresentationAction.MistakeType.SERIOUS:
                feedback = "Smile";
                break;

            case PresentationAction.MistakeType.NOMISTAKE:
                feedback = "Good!!!";
                break;
            }

            FeedbackObject f    = new FeedbackObject(startPresentation, feedback, "PT20");
            string         json = Newtonsoft.Json.JsonConvert.SerializeObject(f, Formatting.Indented);

            try
            {
                // Socket udpSendingSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                //  IPAddress serverAddr = IPAddress.Parse("192.168.178.23");
                //  IPEndPoint UDPendPoint = new IPEndPoint(serverAddr, 16002);
                byte[] send_buffer = Encoding.ASCII.GetBytes(json);
                udpSendingSocket.SendTo(send_buffer, UDPendPoint);
            }
            catch
            {
            }

            //byte[] send_buffer = Encoding.ASCII.GetBytes(json);
            //udpSendingSocket.SendTo(send_buffer, UDPendPoint);
        }