def track_move(move_serial, move_num, team, team_num, score, win_amount, dead_move, force_color, music_speed): #proc = psutil.Process(os.getpid()) #proc.nice(3) #explosion = Audio('audio/Joust/sounds/Explosion34.wav') #explosion.start_effect() move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) werewolf = False flash_time = time.time() #keep on looping while move is not dead while True: if sum(force_color) != 0: time.sleep(0.01) move.set_leds(*force_color) move.update_leds() if werewolf: move.set_rumble(80) elif dead_move.value == 1: if move.poll(): ax, ay, az = move.get_accelerometer_frame(psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) speed_percent = (music_speed.value - SLOW_MUSIC_SPEED)/(FAST_MUSIC_SPEED - SLOW_MUSIC_SPEED) warning = common.lerp(SLOW_WARNING, FAST_WARNING, speed_percent) threshold = common.lerp(SLOW_MAX, FAST_MAX, speed_percent) if change > threshold: move.set_leds(0,0,0) move.set_rumble(90) score.value = -1 dead_move.value = 0 elif change > warning: move.set_leds(20,50,100) move.set_rumble(110) else: if score.value >= 1: if time.time() > flash_time: vall = calculate_flash_time(team_colors[team][0],team_colors[team][1],team_colors[team][2],score.value, win_amount) #print vall move.set_leds(*vall) #flash_time = time.time() + calculate_flash_time(score.value, win_amount) else: move.set_leds(*team_colors[team]) move.set_rumble(0) move_last_value = total move.update_leds() elif dead_move.value == 0: if move.poll(): move_button = move.get_buttons() if score.value >= 0 and move_button == common.Buttons.middle: dead_move.value = 1 move_last_value = None
def track_move(move_serial, move_num, team, team_num, dead_move, force_color, music_speed, commander_intro, move_opts, power, overdrive): #proc = psutil.Process(os.getpid()) #proc.nice(3) #explosion = Audio('audio/Joust/sounds/Explosion34.wav') #explosion.start_effect() start = False no_rumble = time.time() + 1 move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) #keep on looping while move is not dead ready = False move.set_leds(0, 0, 0) move.update_leds() time.sleep(1) death_time = 8 time_of_death = time.time() while commander_intro.value == 1: if move.poll(): button = move.get_buttons() if button == Buttons.middle.value and move_opts[ Opts.holding.value] == Holding.not_holding.value: move_opts[Opts.selection.value] = Selections.a_button.value move_opts[Opts.holding.value] = Holding.holding.value elif button == Buttons.triangle.value and move_opts[ Opts.holding.value] == Holding.not_holding.value: move_opts[Opts.selection.value] = Selections.triangle.value move_opts[Opts.holding.value] = Holding.holding.value elif move_opts[ Opts.is_commander.value] == Bool.no.value and move_opts[ Opts.holding.value] == Holding.holding.value: move.set_leds(200, 200, 200) elif move_opts[ Opts.is_commander.value] == Bool.yes.value and move_opts[ Opts.holding.value] == Holding.holding.value: move.set_leds(*Current_commander_colors[team]) else: #print 'boop' move.set_leds(*Commander_colors[team]) move.update_leds() move_opts[Opts.holding.value] = Holding.not_holding.value move_opts[Opts.selection.value] = Selections.nothing.value while True: if sum(force_color) != 0: no_rumble_time = time.time() + 5 time.sleep(0.01) move.set_leds(*force_color) move.update_leds() move.set_rumble(0) no_rumble = time.time() + 0.5 #if we are not dead elif dead_move.value == 1: if move.poll(): ax, ay, az = move.get_accelerometer_frame( psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) #speed_percent = (music_speed.value - SLOW_MUSIC_SPEED)/(FAST_MUSIC_SPEED - SLOW_MUSIC_SPEED) #warning = common.lerp(SLOW_WARNING, FAST_WARNING, speed_percent) #threshold = common.lerp(SLOW_MAX, FAST_MAX, speed_percent) if move_opts[Opts.is_commander.value] == Bool.no.value: if overdrive.value == 0: warning = SLOW_WARNING threshold = SLOW_MAX else: warning = FAST_WARNING threshold = FAST_MAX else: #if affected by overdrive, this could make the power better warning = SLOW_WARNING threshold = SLOW_MAX if change > threshold: if time.time() > no_rumble: move.set_leds(0, 0, 0) move.set_rumble(90) dead_move.value = 0 time_of_death = time.time() elif change > warning: if time.time() > no_rumble: move.set_leds(20, 50, 100) move.set_rumble(110) else: if move_opts[Opts.is_commander.value] == Bool.no.value: if overdrive.value == 0: move.set_leds(*Commander_colors[team]) else: move.set_leds(*Overdrive_colors[team]) else: move.set_leds(*calculate_flash_time( Current_commander_colors[team][0], Current_commander_colors[team][1], Current_commander_colors[team][2], power.value)) move.set_rumble(0) if move_opts[Opts.is_commander.value] == Bool.yes.value: if (move.get_buttons() == 0 and move.get_trigger() < 10): move_opts[ Opts.holding.value] = Holding.not_holding.value button = move.get_buttons() #print str(power.value) if power.value >= 1.0: #press trigger for overdrive if (move_opts[Opts.holding.value] == Holding.not_holding.value and move.get_trigger() > 100): move_opts[Opts.selection. value] = Selections.trigger.value move_opts[ Opts.holding.value] = Holding.holding.value #elif (move_opts[Opts.holding.value] == Holding.not_holding.value and button == Buttons.middle.value): # move_opts[Opts.selection.value] = Selections.a_button.value # move_opts[Opts.holding.value] = Holding.holding.value #elif (move_opts[Opts.holding.value] == Holding.not_holding.value and button == Buttons.triangle.value): # move_opts[Opts.selection.value] = Selections.triangle.value # move_opts[Opts.holding.value] = Holding.holding.value move_last_value = total move.update_leds() #if we are dead elif dead_move.value <= 0: if time.time() - time_of_death >= death_time: dead_move.value = 3 elif dead_move.value == 3: move_last_value = None dead_move.value = 1 no_rumble = time.time() + 2 if death_time < 25: death_time += 2
import os import psmove import pair import common import joust import time import zombie import commander import random from piaudio import Audio from enum import Enum from multiprocessing import Process, Value, Array TEAM_NUM = 6 TEAM_COLORS = common.generate_colors(TEAM_NUM) #the number of game modes GAME_MODES = 7 class Opts(Enum): alive = 0 selection = 1 holding = 2 team = 3 game_mode = 4 random_start = 5 class Alive(Enum): on = 0 off = 1
def track_move(move_serial, move_num, team, team_num, dead_move, force_color, music_speed, commander_intro, move_opts, power, overdrive): #proc = psutil.Process(os.getpid()) #proc.nice(3) start = False no_rumble = time.time() + 1 move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) #keep on looping while move is not dead ready = False move.set_leds(0, 0, 0) move.update_leds() time.sleep(1) vibrate = False vibration_time = time.time() + 1 flash_lights = True flash_lights_timer = 0 death_time = 8 time_of_death = time.time() while commander_intro.value == 1: if move.poll(): button = move.get_buttons() if button == Buttons.middle.value and move_opts[ Opts.holding.value] == Holding.not_holding.value: move_opts[Opts.selection.value] = Selections.a_button.value move_opts[Opts.holding.value] = Holding.holding.value elif button == Buttons.triangle.value and move_opts[ Opts.holding.value] == Holding.not_holding.value: move_opts[Opts.selection.value] = Selections.triangle.value move_opts[Opts.holding.value] = Holding.holding.value elif move_opts[ Opts.is_commander.value] == Bool.no.value and move_opts[ Opts.holding.value] == Holding.holding.value: move.set_leds(200, 200, 200) elif move_opts[ Opts.is_commander.value] == Bool.yes.value and move_opts[ Opts.holding.value] == Holding.holding.value: move.set_leds(*Current_commander_colors[team]) else: move.set_leds(*Commander_colors[team]) move.update_leds() move_opts[Opts.holding.value] = Holding.not_holding.value move_opts[Opts.selection.value] = Selections.nothing.value while True: if sum(force_color) != 0: no_rumble_time = time.time() + 5 time.sleep(0.01) move.set_leds(*force_color) move.update_leds() move.set_rumble(0) no_rumble = time.time() + 0.5 #if we are not dead elif dead_move.value == 1: if move.poll(): ax, ay, az = move.get_accelerometer_frame( psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) if move_opts[Opts.is_commander.value] == Bool.no.value: if overdrive.value == 0: warning = SLOW_WARNING threshold = SLOW_MAX else: warning = FAST_WARNING threshold = FAST_MAX else: #if affected by overdrive, this could make the power better warning = SLOW_WARNING threshold = SLOW_MAX if change > threshold: if time.time() > no_rumble: move.set_leds(0, 0, 0) move.set_rumble(90) dead_move.value = 0 time_of_death = time.time() elif change > warning and not vibrate: if time.time() > no_rumble: move.set_leds(20, 50, 100) vibrate = True vibration_time = time.time() + 0.5 else: if move_opts[Opts.is_commander.value] == Bool.no.value: if overdrive.value == 0: move.set_leds(*Commander_colors[team]) else: move.set_leds(*Overdrive_colors[team]) else: move.set_leds(*calculate_flash_time( Current_commander_colors[team][0], Current_commander_colors[team][1], Current_commander_colors[team][2], power.value)) move.set_rumble(0) if move_opts[Opts.is_commander.value] == Bool.yes.value: if (move.get_buttons() == 0 and move.get_trigger() < 10): move_opts[ Opts.holding.value] = Holding.not_holding.value button = move.get_buttons() #print str(power.value) if power.value >= 1.0: #press trigger for overdrive if (move_opts[Opts.holding.value] == Holding.not_holding.value and move.get_trigger() > 100): move_opts[Opts.selection. value] = Selections.trigger.value move_opts[ Opts.holding.value] = Holding.holding.value move_last_value = total if vibrate: flash_lights_timer += 1 if flash_lights_timer > 7: flash_lights_timer = 0 flash_lights = not flash_lights if flash_lights: move.set_leds(100, 100, 100) if time.time() < vibration_time - 0.22: move.set_rumble(110) else: move.set_rumble(0) if time.time() > vibration_time: vibrate = False move.update_leds() #if we are dead elif dead_move.value <= 0: if time.time() - time_of_death >= death_time: dead_move.value = 3 elif dead_move.value == 3: move_last_value = None dead_move.value = 1 no_rumble = time.time() + 2 if death_time < 25: death_time += 2
def track_move( move_serial, move_num, team, team_num, dead_move, force_color, music_speed, commander_intro, move_opts, power, overdrive, ): # proc = psutil.Process(os.getpid()) # proc.nice(3) # explosion = Audio('audio/Joust/sounds/Explosion34.wav') # explosion.start_effect() start = False no_rumble = time.time() + 1 move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) # keep on looping while move is not dead ready = False move.set_leds(0, 0, 0) move.update_leds() time.sleep(1) death_time = 8 time_of_death = time.time() while commander_intro.value == 1: if move.poll(): button = move.get_buttons() if button == Buttons.middle.value and move_opts[Opts.holding.value] == Holding.not_holding.value: move_opts[Opts.selection.value] = Selections.a_button.value move_opts[Opts.holding.value] = Holding.holding.value elif button == Buttons.triangle.value and move_opts[Opts.holding.value] == Holding.not_holding.value: move_opts[Opts.selection.value] = Selections.triangle.value move_opts[Opts.holding.value] = Holding.holding.value elif ( move_opts[Opts.is_commander.value] == Bool.no.value and move_opts[Opts.holding.value] == Holding.holding.value ): move.set_leds(200, 200, 200) elif ( move_opts[Opts.is_commander.value] == Bool.yes.value and move_opts[Opts.holding.value] == Holding.holding.value ): move.set_leds(*Current_commander_colors[team]) else: # print 'boop' move.set_leds(*Commander_colors[team]) move.update_leds() move_opts[Opts.holding.value] = Holding.not_holding.value move_opts[Opts.selection.value] = Selections.nothing.value while True: if sum(force_color) != 0: no_rumble_time = time.time() + 5 time.sleep(0.01) move.set_leds(*force_color) move.update_leds() move.set_rumble(0) no_rumble = time.time() + 0.5 # if we are not dead elif dead_move.value == 1: if move.poll(): ax, ay, az = move.get_accelerometer_frame(psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) # speed_percent = (music_speed.value - SLOW_MUSIC_SPEED)/(FAST_MUSIC_SPEED - SLOW_MUSIC_SPEED) # warning = common.lerp(SLOW_WARNING, FAST_WARNING, speed_percent) # threshold = common.lerp(SLOW_MAX, FAST_MAX, speed_percent) if move_opts[Opts.is_commander.value] == Bool.no.value: if overdrive.value == 0: warning = SLOW_WARNING threshold = SLOW_MAX else: warning = FAST_WARNING threshold = FAST_MAX else: # if affected by overdrive, this could make the power better warning = SLOW_WARNING threshold = SLOW_MAX if change > threshold: if time.time() > no_rumble: move.set_leds(0, 0, 0) move.set_rumble(90) dead_move.value = 0 time_of_death = time.time() elif change > warning: if time.time() > no_rumble: move.set_leds(20, 50, 100) move.set_rumble(110) else: if move_opts[Opts.is_commander.value] == Bool.no.value: if overdrive.value == 0: move.set_leds(*Commander_colors[team]) else: move.set_leds(*Overdrive_colors[team]) else: move.set_leds( *calculate_flash_time( Current_commander_colors[team][0], Current_commander_colors[team][1], Current_commander_colors[team][2], power.value, ) ) move.set_rumble(0) if move_opts[Opts.is_commander.value] == Bool.yes.value: if move.get_buttons() == 0 and move.get_trigger() < 10: move_opts[Opts.holding.value] = Holding.not_holding.value button = move.get_buttons() # print str(power.value) if power.value >= 1.0: # press trigger for overdrive if move_opts[Opts.holding.value] == Holding.not_holding.value and move.get_trigger() > 100: move_opts[Opts.selection.value] = Selections.trigger.value move_opts[Opts.holding.value] = Holding.holding.value # elif (move_opts[Opts.holding.value] == Holding.not_holding.value and button == Buttons.middle.value): # move_opts[Opts.selection.value] = Selections.a_button.value # move_opts[Opts.holding.value] = Holding.holding.value # elif (move_opts[Opts.holding.value] == Holding.not_holding.value and button == Buttons.triangle.value): # move_opts[Opts.selection.value] = Selections.triangle.value # move_opts[Opts.holding.value] = Holding.holding.value move_last_value = total move.update_leds() # if we are dead elif dead_move.value <= 0: if time.time() - time_of_death >= death_time: dead_move.value = 3 elif dead_move.value == 3: move_last_value = None dead_move.value = 1 no_rumble = time.time() + 2 if death_time < 25: death_time += 2
def track_move(move_serial, move_num, game_mode, team, team_num, dead_move, force_color, music_speed, werewolf_reveal): # proc = psutil.Process(os.getpid()) # proc.nice(3) # explosion = Audio('audio/Joust/sounds/Explosion34.wav') # explosion.start_effect() start = False no_rumble = time.time() + 1 move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) werewolf = False if team < 0: team = (team + 1) * -1 werewolf = True # keep on looping while move is not dead while True: if sum(force_color) != 0: no_rumble_time = time.time() + 5 time.sleep(0.01) move.set_leds(*force_color) if sum(force_color) > 75: if werewolf: move.set_rumble(80) else: if sum(force_color) == 30: if werewolf: move.set_leds(255, 0, 0) else: move.set_leds(0, 0, 0) move.set_rumble(0) move.update_leds() no_rumble = time.time() + 0.5 elif dead_move.value == 1 and werewolf_reveal.value > 0: if move.poll(): ax, ay, az = move.get_accelerometer_frame(psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) speed_percent = (music_speed.value - SLOW_MUSIC_SPEED) / (FAST_MUSIC_SPEED - SLOW_MUSIC_SPEED) if werewolf: warning = common.lerp(WERE_SLOW_WARNING, WERE_FAST_WARNING, speed_percent) threshold = common.lerp(WERE_SLOW_MAX, WERE_FAST_MAX, speed_percent) else: warning = common.lerp(SLOW_WARNING, FAST_WARNING, speed_percent) threshold = common.lerp(SLOW_MAX, FAST_MAX, speed_percent) if change > threshold: if time.time() > no_rumble: move.set_leds(0, 0, 0) move.set_rumble(90) dead_move.value = 0 elif change > warning: if time.time() > no_rumble: move.set_leds(20, 50, 100) move.set_rumble(110) else: if game_mode == common.Games.WereJoust.value: if werewolf_reveal.value == 2 and werewolf: move.set_leds(255, 0, 0) else: move.set_leds(100, 100, 100) else: move.set_leds(*team_colors[team]) move.set_rumble(0) move_last_value = total move.update_leds()
def track_move(move_serial, move_num, game_mode, team, team_num, dead_move, force_color, music_speed, werewolf_reveal): #proc = psutil.Process(os.getpid()) #proc.nice(3) #explosion = Audio('audio/Joust/sounds/Explosion34.wav') #explosion.start_effect() start = False no_rumble = time.time() + 1 move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) werewolf = False if team < 0: team = (team + 1) * -1 werewolf = True #keep on looping while move is not dead while True: if sum(force_color) != 0: no_rumble_time = time.time() + 5 time.sleep(0.01) move.set_leds(*force_color) if sum(force_color) > 75: if werewolf: move.set_rumble(80) else: if sum(force_color) == 30: if werewolf: move.set_leds(255, 0, 0) else: move.set_leds(0, 0, 0) move.set_rumble(0) move.update_leds() no_rumble = time.time() + 0.5 elif dead_move.value == 1 and werewolf_reveal.value > 0: if move.poll(): ax, ay, az = move.get_accelerometer_frame(psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) speed_percent = (music_speed.value - SLOW_MUSIC_SPEED)/(FAST_MUSIC_SPEED - SLOW_MUSIC_SPEED) if werewolf: warning = common.lerp(WERE_SLOW_WARNING, WERE_FAST_WARNING, speed_percent) threshold = common.lerp(WERE_SLOW_MAX, WERE_FAST_MAX, speed_percent) else: warning = common.lerp(SLOW_WARNING, FAST_WARNING, speed_percent) threshold = common.lerp(SLOW_MAX, FAST_MAX, speed_percent) if change > threshold: if time.time() > no_rumble: move.set_leds(0,0,0) move.set_rumble(90) dead_move.value = 0 elif change > warning: if time.time() > no_rumble: move.set_leds(20,50,100) move.set_rumble(110) else: if game_mode == common.Games.WereJoust.value: if werewolf_reveal.value == 2 and werewolf: move.set_leds(255,0,0) else: move.set_leds(100,100,100) else: move.set_leds(*team_colors[team]) move.set_rumble(0) move_last_value = total move.update_leds()
def track_move(move_serial, move_num, team, team_num, score, win_amount, dead_move, force_color, music_speed): #proc = psutil.Process(os.getpid()) #proc.nice(3) #explosion = Audio('audio/Joust/sounds/Explosion34.wav') #explosion.start_effect() move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) werewolf = False flash_time = time.time() #keep on looping while move is not dead while True: if sum(force_color) != 0: time.sleep(0.01) move.set_leds(*force_color) move.update_leds() if werewolf: move.set_rumble(80) elif dead_move.value == 1: if move.poll(): ax, ay, az = move.get_accelerometer_frame( psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) speed_percent = (music_speed.value - SLOW_MUSIC_SPEED) / ( FAST_MUSIC_SPEED - SLOW_MUSIC_SPEED) warning = common.lerp(SLOW_WARNING, FAST_WARNING, speed_percent) threshold = common.lerp(SLOW_MAX, FAST_MAX, speed_percent) if change > threshold: move.set_leds(0, 0, 0) move.set_rumble(90) score.value = -1 dead_move.value = 0 elif change > warning: move.set_leds(20, 50, 100) move.set_rumble(110) else: if score.value >= 1: if time.time() > flash_time: vall = calculate_flash_time( team_colors[team][0], team_colors[team][1], team_colors[team][2], score.value, win_amount) #print vall move.set_leds(*vall) #flash_time = time.time() + calculate_flash_time(score.value, win_amount) else: move.set_leds(*team_colors[team]) move.set_rumble(0) move_last_value = total move.update_leds() elif dead_move.value == 0: if move.poll(): move_button = move.get_buttons() if score.value >= 0 and move_button == common.Buttons.middle: dead_move.value = 1 move_last_value = None
import common import joust import time import zombie import commander import ninja import swapper import speed_bomb import random import kingofthehill from piaudio import Audio from enum import Enum from multiprocessing import Process, Value, Array TEAM_NUM = 6 TEAM_COLORS = common.generate_colors(TEAM_NUM) #the number of game modes GAME_MODES = 10 SENSITIVITY_MODES = 3 class Opts(Enum): alive = 0 selection = 1 holding = 2 team = 3 game_mode = 4 random_start = 5 class Alive(Enum):
def track_move(move_serial, move_num, team, team_num, dead_move, force_color, music_speed, show_team_colors, invincibility): #proc = psutil.Process(os.getpid()) #proc.nice(3) #explosion = Audio('audio/Joust/sounds/Explosion34.wav') #explosion.start_effect() start = False no_rumble = time.time() + 1 move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) vibrate = False vibration_time = time.time() + 1 flash_lights = True flash_lights_timer = 0 start_inv = False change_arr = [0,0,0] #keep on looping while move is not dead while True: if show_team_colors.value == 1: if team.value != -1: move.set_leds(*team_colors[team.value]) else: move.set_leds(100,100,100) move.update_leds() elif sum(force_color) != 0: no_rumble_time = time.time() + 5 time.sleep(0.01) move.set_leds(*force_color) if sum(force_color) == 30: move.set_leds(0, 0, 0) move.set_rumble(0) move.update_leds() no_rumble = time.time() + 0.5 elif dead_move.value == 1 and team.value != -1: if move.poll(): ax, ay, az = move.get_accelerometer_frame(psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change_real = abs(move_last_value - total) change_arr[0] = change_arr[1] change_arr[1] = change_arr[2] change_arr[2] = change_real change = (change_arr[0] + change_arr[1]+change_arr[2])/3 speed_percent = (music_speed.value - SLOW_MUSIC_SPEED)/(FAST_MUSIC_SPEED - SLOW_MUSIC_SPEED) warning = common.lerp(SLOW_WARNING, FAST_WARNING, speed_percent) threshold = common.lerp(SLOW_MAX, FAST_MAX, speed_percent) if not start_inv and invincibility.value == 1: start_inv = True vibrate = True vibration_time = time.time() + 3 if vibrate: flash_lights_timer += 1 if flash_lights_timer > 7: flash_lights_timer = 0 flash_lights = not flash_lights if flash_lights: move.set_leds(100,100,100) else: if team.value != -1: move.set_leds(*team_colors[team.value]) else: move.set_leds(100,100,100) if time.time() < vibration_time - 0.22: move.set_rumble(110) else: move.set_rumble(0) if time.time() > vibration_time: vibrate = False start_inv = False invincibility.value = 0 else: if team.value != -1: move.set_leds(*team_colors[team.value]) else: move.set_leds(100,100,100) if invincibility.value == 0: if change > threshold: if time.time() > no_rumble: move.set_leds(0,0,0) move.set_rumble(90) dead_move.value = 0 elif change > warning and not vibrate: if time.time() > no_rumble: vibrate = True vibration_time = time.time() + 0.5 move.set_leds(20,50,100) move_last_value = total move.update_leds() else: if dead_move.value < 1: move.set_leds(0,0,0) elif team.value == -1: move.set_leds(100,100,100) move.update_leds() time.sleep(0.5) move.set_rumble(0)
def track_move(move_serial, move_num, team, team_num, dead_move, force_color, music_speed, move_opts): #proc = psutil.Process(os.getpid()) #proc.nice(3) start = False no_rumble = time.time() + 1 move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) #keep on looping while move is not dead ready = False move.set_leds(0, 0, 0) move.update_leds() time.sleep(1) vibrate = False vibration_time = time.time() + 1 flash_lights = True flash_lights_timer = 0 death_time = 2 time_of_death = time.time() move_opts[Opts.holding.value] = Holding.not_holding.value move_opts[Opts.selection.value] = Selections.nothing.value while True: if sum(force_color) != 0: no_rumble_time = time.time() + 5 time.sleep(0.01) move.set_leds(*force_color) move.update_leds() move.set_rumble(0) no_rumble = time.time() + 0.5 #if we are not dead elif dead_move.value == 1: if move.poll(): ax, ay, az = move.get_accelerometer_frame( psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) warning = SLOW_WARNING threshold = SLOW_MAX if change > threshold: if time.time() > no_rumble: move.set_leds(0, 0, 0) move.set_rumble(90) dead_move.value = 0 time_of_death = time.time() elif change > warning and not vibrate: if time.time() > no_rumble: vibrate = True vibration_time = time.time() + 0.5 move.set_leds(20, 50, 100) else: move.set_rumble(0) if vibrate: flash_lights_timer += 1 if flash_lights_timer > 7: flash_lights_timer = 0 flash_lights = not flash_lights if flash_lights: move.set_leds(100, 100, 100) else: move.set_leds(*team_colors[team.value]) if time.time() < vibration_time - 0.22: move.set_rumble(110) else: move.set_rumble(0) if time.time() > vibration_time: vibrate = False else: move.set_leds(*team_colors[team.value]) move_last_value = total move.update_leds() #if we are dead elif dead_move.value <= 0: move.set_leds(100, 100, 100) if time.time() - time_of_death >= death_time: dead_move.value = 3 elif dead_move.value == 3: move_last_value = None dead_move.value = 1 no_rumble = time.time() + 1 team.value = (team.value + 1) % team_num
def track_move(move_serial, move_num, team, team_num, dead_move, force_color, music_speed, move_opts): #proc = psutil.Process(os.getpid()) #proc.nice(3) start = False no_rumble = time.time() + 1 move_last_value = None move = common.get_move(move_serial, move_num) team_colors = common.generate_colors(team_num) #keep on looping while move is not dead ready = False move.set_leds(0, 0, 0) move.update_leds() time.sleep(1) death_time = 8 time_of_death = time.time() move_opts[Opts.holding.value] = Holding.not_holding.value move_opts[Opts.selection.value] = Selections.nothing.value while True: if sum(force_color) != 0: no_rumble_time = time.time() + 5 time.sleep(0.01) move.set_leds(*force_color) move.update_leds() move.set_rumble(0) no_rumble = time.time() + 0.5 #if we are not dead elif dead_move.value == 1: if move.poll(): ax, ay, az = move.get_accelerometer_frame( psmove.Frame_SecondHalf) total = sum([ax, ay, az]) if move_last_value is not None: change = abs(move_last_value - total) if move_opts[Opts.is_commander.value] == Bool.no.value: warning = FAST_WARNING threshold = FAST_MAX else: #if affected by overdrive, this could make the power better warning = SLOW_WARNING threshold = SLOW_MAX if change > threshold: if time.time() > no_rumble: move.set_leds(0, 0, 0) move.set_rumble(90) dead_move.value = 0 time_of_death = time.time() elif change > warning: if time.time() > no_rumble: move.set_leds(20, 50, 100) move.set_rumble(110) else: move.set_leds(100, 0, 100) move.set_rumble(0) button = move.get_buttons() move_last_value = total move.update_leds() #if we are dead elif dead_move.value <= 0: if time.time() - time_of_death >= death_time: dead_move.value = 3 elif dead_move.value == 3: move_last_value = None dead_move.value = 1 no_rumble = time.time() + 2 if death_time < 25: death_time += 2