예제 #1
0
 def select_response(self) -> (str, str):
     """ Chooses an appropriate response based upon user's performance. Returns that response string"""
     print("RIVA msg number: ", self._RIVA_message_num)
     overall_avg = self.user_stats.new_overall_avg()
     scale_points = self.user_stats.get_scale_points(abs_val_list(grip_times(self._all_grips)))
     #print("overall avg: {}\n scale point 1: {} scale point 2: {}".format(overall_avg,scale_points[1],scale_points[2]))
     # if self._RIVA_message_num == 1:
     #     return self.response_welcome()
     if self._last_response == "training_prompt":
         return self.response_training_response()
         '''elif self.user_stats.get_grip_avg(grip_number=self._last_worst_grip) > \
                  self.user_stats.get_scale_points(abs_val_list(grip_times(self._all_grips)))[2]:
             return self.response_training_prompt()
         '''
     elif overall_avg > scale_points[2]:
         #print("Q2", scale_points[2])
         return self.response_negative()
     elif overall_avg < scale_points[1]:
         #print("Q1", scale_points[1])
         return self.response_positive()
     return self.response_training_prompt()
예제 #2
0
 def response_positive(self):
     """ Returns a scaled string telling the user that their overall reaction time is good/great"""
     self._last_response = "positive_response"
     print("Positive Response")
     #print("scale =", self.user_stats.find_best_grip_scale(grip_times(self._all_grips)))
     return Mglove_str_gen.positive_response(self.user_stats.find_best_grip_scale(grip_times(self._all_grips)))
예제 #3
0
 def response_negative(self):
     """ Returns a scaled string telling the user they need to improve their overall reaction time"""
     print("Negative Response")
     self._last_response = "negative_response"
     #print("scale = ", self.user_stats.find_worst_grip_scale(grip_times(self._all_grips)))
     return Mglove_str_gen.negative_response(self.user_stats.find_worst_grip_scale(grip_times(self._all_grips)))
예제 #4
0
 def tester2(self) -> None:
     """Updates log file to simulate specified user interaction with MGlove
     """
     grip_number = self.grip_number
     seconds = self.seconds
     self.clear_csv()
     while seconds > 0:
         print("2nd simulated song started")
         for i in range(32):
             self.update_csv(self.chosen_grip(grip_number,150))
             seconds-=1
             sleep(1)
         print("expect welcome")
         for i in range(32):
             seconds-=1
             self.update_csv(self.chosen_grip(grip_number,300))
             sleep(1)
         print("expect Negative")
         grip_list = grip_times(parse_csv(read_csv(CSV_functions.MUSICGLOVE)))
         user_stats = User_Stats(new_song=False)
         for i in range(32):
             seconds-=1
             self.update_csv(self.chosen_grip(grip_number,1))
             sleep(1)
         print("expect Positive")
         grip_list = grip_times(parse_csv(read_csv(CSV_functions.MUSICGLOVE)))
         user_stats = User_Stats(new_song=False)
         for i in range(7):
             seconds-=5
             self.update_csv(self.chosen_grip(1,250))
             for j in range(1,5):
                 self.update_csv(self.chosen_grip(j+1,150))
             sleep(5)
         print("expect red prompt")
         grip_list = grip_times(parse_csv(read_csv(CSV_functions.MUSICGLOVE)))
         user_stats = User_Stats(new_song=False)
         for i in range(7):
             seconds-=5
             self.update_csv(self.chosen_grip(1,300))
             for j in range(1,5):
                 self.update_csv(self.chosen_grip(j+1,150))
             sleep(5)
         print("expect Negative red response")
         grip_list = grip_times(parse_csv(read_csv(CSV_functions.MUSICGLOVE)))
         user_stats = User_Stats(new_song=False)
         for i in range(7):
             seconds-=5
             self.update_csv(self.chosen_grip(1,150))
             for j in range(1,5):
                 self.update_csv(self.chosen_grip(j+1,150))
             sleep(5)
         print("expect Positive red response")
         grip_list = grip_times(parse_csv(read_csv(CSV_functions.MUSICGLOVE)))
         user_stats = User_Stats(new_song=False)
         for i in range(7):
             seconds-=5
             self.update_csv(self.chosen_grip(1,1))
             for j in range(1,5):
                 self.update_csv(self.chosen_grip(j+1,150))
             sleep(5)
     print("2nd simulated song is over")
예제 #5
0
                    temp_list.append(line)
                    new_list = []
        print("Number of lines this song = ",len(temp_list))
        for i in range(len(temp_list)):
            self.write_csv(new_list, temp_list[i])
            new_list.append(temp_list[i])
            sleep(1)





if __name__ == "__main__":
    import CSV_functions
    from CSV_functions import read_csv
    from Interface import parse_csv, grip_times
    from time import sleep
    from user_stats import User_Stats
    with open(CSV_FILE, 'w', newline='') as outfile:
        outfile.write('')
    tester = N_test()
    tester.tester1()
    grip_list = grip_times(parse_csv(read_csv(CSV_functions.MUSICGLOVE)))
    user_stats = User_Stats()
    sleep(40)

    tester.tester2()
    sleep(40)

    tester.tester3()