def __init__(self): try: import mpi4py as MPI import MPIWrapper __MPIEnabled = True self.comm = MPI.COMM_WORLD() self.rank = comm.Get_rank() self.size = comm.Get_size() wrap = MPIWrapper.wrap(comm, rank, size) #may not be needed, just being careful with scope except: ########################################### ################################################### try: import multiprocessing temp = multiprocessing.cpu_count() if(temp > 1): __multiProcessEnabled = True __processCount = temp import multiPer as per import MPlayer as lay import MPneuron as neu else: import singlePer as per import layer as lay import neuron as neu except NotImplementedError: __multiProcessEnabled = False import singlePer as per neuron = neu.neuron_gen() layer = lay.layer_gen(neuron) _createNet = per.createNet_gen(layer)
def create_bot(self, active_splayer): name = "bot_" + str(active_splayer.get_id()) debug(name + " is created") active_splayer.set_cheated(False) rmplayer = MPlayer(name) rmplayer.set_strategy(Strategy.RANDOM) rmplayer.loc = active_splayer.get_location() rmplayer.initialize(active_splayer.get_id(), self.all_colors) # all_players_color?, resolve color conflict rmplayer.state = Player_state.READY return rmplayer
def start_tournament(): num_players = 8 server = Server.Server.reset_get_instance() server.build_deck() m_players = [None] * num_players for i in range(num_players): m_players[i] = MPlayer(str(i)) server.init_splayers(m_players) server.start_game()
def next(self): self.reset() self.mp = MPlayer() song = self.lib.rand() self.ui.pplayer('next'+song.path()) self.mp.loadfile(song.path()); self.lastSong = song try: length = float(self.mp.get_property("length")) self.alarm.set(self.next, length) except: self.ui.pplayer('No length found'+song.path()) # default to 250s self.alarm.set(self.next, 250.0) self.notifier(song.name());
class Player: def go(q): while (True): item = q.get() item() q.task_done() def __init__(self, ui): MPlayer.populate() # Handle actions asynchronously self.player_q = queue.Queue() t = threading.Thread(target=Player.go, args=(self.player_q,)) t.daemon = True t.start() # rather static.. self.ui = ui self.lib = Library() self.notifier = Notifier(); self.alarm = AlarmClock() # Really stateful variables self.lastSong = None self.mp = None def get_queue(self): return self.player_q def play(self, path): pass def next(self): self.reset() self.mp = MPlayer() song = self.lib.rand() self.ui.pplayer('next'+song.path()) self.mp.loadfile(song.path()); self.lastSong = song try: length = float(self.mp.get_property("length")) self.alarm.set(self.next, length) except: self.ui.pplayer('No length found'+song.path()) # default to 250s self.alarm.set(self.next, 250.0) self.notifier(song.name()); def pause(self): self.mp.pause() def reset(self): self.alarm.cancel() if self.mp: self.mp.quit() def quit(self): self.reset() Library.save(self.lib) def put(self, action): self.player_q.put(action) def delete(self): if self.lastSong: self.lastSong.delete() self.next()
def init_player_mat(): mplayer = MPlayer("Mat") mplayer.initialize("green", []) return mplayer
def init_player_john(): mplayer = MPlayer("John") mplayer.initialize("red", []) return mplayer