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