def run(self): strategy = MyStrategy() debug = Debug(self.writer) while True: message = model.ServerMessageGame.read_from(self.reader) if message.player_view is None: print("THE AND") break player_view = message.player_view #print("Level:" , player_view.game.level) actions = {} cont = 0 for unit in player_view.game.units: #print("cont = ", cont , " >> my_id", player_view.my_id) #print("cont = ", cont , " >> unit", unit) #print("cont = ", cont , " >>units::", player_view.game.units , "XXX") #print("cont = ", cont , " >>game::", player_view.game , "YYY") cont += 1 if unit.player_id == player_view.my_id: actions[unit.id] = strategy.get_action( unit, player_view.game, debug) else: print("PLAYER:unit.position.x", unit.position.x) print("PLAYER:unit.position.y", unit.position.y) ''' print("PLAYER:unit" , unit) print("PLAYER:unit.mines" , unit.mines) print("PLAYER:unit.health" , unit.health) print("PLAYER:unit.weapon" , unit.weapon) print("PLAYER:unit.id" , unit.id) print("PLAYER:unit.jump_state" , unit.jump_state) print("PLAYER:unit.on_ground" , unit.on_ground) print("PLAYER:unit.on_ladder" , unit.on_ladder) print("PLAYER:unit.player_id" , unit.player_id) print("PLAYER:unit.position" , unit.position) print("PLAYER:unit.size" , unit.size) print("PLAYER:unit.stand" , unit.stand) print("PLAYER:unit.walked_right" , unit.walked_right) print("PLAYER:unit_pos.y" , unit.position.y) ''' model.PlayerMessageGame.ActionMessage( model.Versioned(actions)).write_to(self.writer) self.writer.flush()
def run(self): strategy = MyStrategy() debug = Debug(self.writer) while True: message = model.ServerMessageGame.read_from(self.reader) if message.player_view is None: break player_view = message.player_view actions = {} for unit in player_view.game.units: if unit.player_id == player_view.my_id: actions[unit.id] = strategy.get_action( unit, player_view.game, debug) model.PlayerMessageGame.ActionMessage( model.Versioned(actions)).write_to(self.writer) self.writer.flush()
def run(self): strategy = MyStrategy() debug_interface = DebugInterface(self.reader, self.writer) while True: message = model.ServerMessage.read_from(self.reader) if isinstance(message, model.ServerMessage.GetAction): model.ClientMessage.ActionMessage(strategy.get_action( message.player_view, debug_interface if message.debug_available else None)).write_to(self.writer) self.writer.flush() elif isinstance(message, model.ServerMessage.Finish): break elif isinstance(message, model.ServerMessage.DebugUpdate): strategy.debug_update(message.player_view, debug_interface) model.ClientMessage.DebugUpdateDone().write_to(self.writer) self.writer.flush() else: raise Exception("Unexpected server message")
def run(self): strategy = MyStrategy() debug = Debug(self.writer) while True: message = model.ServerMessageGame.read_from(self.reader) if message.player_view is None: break player_view = message.player_view actions = {} for unit in player_view.game.units: if unit.player_id == player_view.my_id: actions[unit.id] = strategy.get_action( unit, player_view.game, debug) print("PLAYER:unit" , unit) print("PLAYER:unit.mines" , unit.mines) print("PLAYER:unit.health" , unit.health) print("PLAYER:unit.weapon" , unit.weapon) print("PLAYER:unit.id" , unit.id) print("PLAYER:unit.jump_state" , unit.jump_state) model.PlayerMessageGame.ActionMessage( model.Versioned(actions)).write_to(self.writer) self.writer.flush()
# select_time_interval: 5min 15min 1d # based on the trading break: 10:15-10:29, hard to adjust time interval duration_seconds = 5 * 60 # duration_seconds = 15 * 60 # duration_seconds = 24 * 60 * 60 # backtest period start_date = dt.date(2018, 7, 2) end_date = dt.date(2018, 7, 26) # aware of some special cases, say 20161111 ###################################################################### # 策略编写与导入 ###################################################################### from my_strategy import MyStrategy my_strategy1 = MyStrategy() ''' what analysis is used idea from XXX paper ''' x = """ def BB(ys, w=20, k=2): BB_mid = SMA(ys, w)['SMA'] # diff_square = (ys - BB_mid).apply(np.square) # sigma = (diff_square.rolling(window=w).mean()).apply(np.sqrt) sigma = ys.rolling(window=w).apply(np.std)
probs.append(1 - extend_path_prob) if len(next_game_states) == 1: probs[0] = 1 if not next_game_states: raise ValueError game_state = random.choice(next_game_states, p=probs)() unsolvable_info = self.strategy.get_unsolvable_info( game_state, max_pairs) if unsolvable_info.is_unsolvable: unsolvable_count += 1 game_state = self.strategy.resolve_unsolvable_game_state( game_state, unsolvable_info) if verbose: print("Unsolvable Count: ", unsolvable_count) if plot: plot_game(game_state) return game_state, unsolvable_count bg = BoardGenerator(MyStrategy()) if __name__ == '__main__': bg.generate_board(12, plot=True, verbose=True)