def game_reload(self, replay_file): #self.game_status.log("Reloading game") self.msg_controller.prompt("Reloading game") self.dump_to_replay = replaydump.ReplayDump(filename=replay_file, save=False) isserver = self.dump_to_replay.read() seed = self.dump_to_replay.read() player1_name = self.dump_to_replay.read() my_deck = self.dump_to_replay.read() my_avatar = self.dump_to_replay.read_raw() player2_name = self.dump_to_replay.read() other_deck = self.dump_to_replay.read() other_avatar = self.dump_to_replay.read_raw() player_data = [(player1_name,my_deck,my_avatar), (player2_name,other_deck,other_avatar)] random.seed(seed) players = [] for name, deck, avatar in player_data: players.append(GamePlayer(name, deck)) player1, player2 = players[:2] for player in players: player.dirty_input = self.replay_input self.player_hand.set_hidden(False) self.otherplayer_hand.set_hidden(False) Keeper.init(players) self.make_connections((player1, None, my_avatar), (player2, None, other_avatar)) # XXX This is hacky - need to change it replaydump.players = dict([(player.name,player) for player in players]) replaydump.stack = Keeper.stack self.client = None self.start_rules_engine()
def game_start(self, player_name, seed, player_data, client=None): #self.game_status.log("Starting game") self.msg_controller.prompt("Starting game") self.dump_to_replay = replaydump.ReplayDump(save=True) self.dump_to_replay.write(True) self.dump_to_replay.write(seed) for name, deck, avatar in player_data: self.dump_to_replay.write(name) self.dump_to_replay.write(deck) self.dump_to_replay.write_raw(avatar) random.seed(seed) players = [] for name, deck, avatar in player_data: players.append(GamePlayer(name, deck)) player1, player2 = players[:2] if player1.name != player_name: player1, player2 = player2, player1 player_data.reverse() for player in players: if not client or player.name == player_name: player.dirty_input = self.greenlet_input self.player_hand.set_hidden(False) if not client: self.otherplayer_hand.set_hidden(False) else: player.dirty_input = self.network_input Keeper.init(players) self.make_connections((player1, None, player_data[0][2]), (player2, None, player_data[1][2])) # XXX This is hacky - need to change it replaydump.players = dict([(player.name,player) for player in players]) replaydump.stack = Keeper.stack self.client = client if client: client.call_action = lambda result, self=self: self.switch_to_rules_engine(result) client.ready_to_play() self.start_rules_engine()
def __call__(self, card): from engine.GameKeeper import Keeper return Keeper.isSorceryTiming(card.controller)
if not result is False: return result except: debug.set_trace() dump = replaydump.ReplayDump(replayfile, False) sserver = dump.read() seed = dump.read() player1_name = dump.read() my_deck = dump.read() player2_name = dump.read() other_deck = dump.read() player1 = Player(player1_name, my_deck) player2 = Player(player2_name, other_deck) player1.dirty_input = userinput player2.dirty_input = userinput # Choose starting player random.seed(seed) dispatcher.reset() Keeper.init([player1, player2]) # This is hacky replaydump.players = dict([(player.name,player) for player in [player1, player2]]) replaydump.stack = Keeper.stack msg = Keeper.start() print msg
seed = dump_to_replay.read() player1 = dump_to_replay.read() my_deck = dump_to_replay.read() player2 = dump_to_replay.read() other_deck = dump_to_replay.read() input = replayInput else: dump_to_replay = replaydump.ReplayDump(filename=replay_file, save=True) seed = time.time() player1 = conf.get("main", "playername") player2 = conf.get("solitaire", "playername") my_deck, sideboard = read_deckfile(conf.get("main", "deckfile")) other_deck, other_sideboard = read_deckfile( conf.get("solitaire", "deckfile")) input = playerInput dump_to_replay.write(True) dump_to_replay.write(seed) for name, deck in [(player1, my_deck), (player2, other_deck)]: dump_to_replay.write(name) dump_to_replay.write(deck) players = [Player(player1, my_deck), Player(player2, other_deck)] random.seed(seed) for player in players: player.dirty_input = input replaydump.players[player.name] = player Keeper.init(players) Keeper.start()
player1 = dump_to_replay.read() my_deck = dump_to_replay.read() player2 = dump_to_replay.read() other_deck = dump_to_replay.read() input = replayInput else: dump_to_replay = replaydump.ReplayDump(filename=replay_file, save=True) seed = time.time() player1 = conf.get("main", "playername") player2 = conf.get("solitaire", "playername") my_deck, sideboard = read_deckfile(conf.get("main", "deckfile")) other_deck, other_sideboard = read_deckfile(conf.get("solitaire", "deckfile")) input = playerInput dump_to_replay.write(True) dump_to_replay.write(seed) for name, deck in [(player1, my_deck), (player2, other_deck)]: dump_to_replay.write(name) dump_to_replay.write(deck) players = [Player(player1, my_deck) , Player(player2, other_deck) ] random.seed(seed) for player in players: player.dirty_input = input replaydump.players[player.name] = player Keeper.init(players) Keeper.start()