fast forward in replay
This commit is contained in:
parent
7aebb2318b
commit
f985d84483
@ -81,12 +81,12 @@ class Game:
|
|||||||
eventlet.sleep(0.5)
|
eventlet.sleep(0.5)
|
||||||
self.notify_room()
|
self.notify_room()
|
||||||
|
|
||||||
def replay(self, log):
|
def replay(self, log, speed=1.0, fast_forward = -1):
|
||||||
from tests.dummy_socket import DummySocket
|
from tests.dummy_socket import DummySocket
|
||||||
self.players = []
|
self.players = []
|
||||||
self.is_hidden = True
|
self.is_hidden = True
|
||||||
self.is_replay = True
|
self.is_replay = True
|
||||||
self.replay_speed = 1
|
self.replay_speed = speed
|
||||||
for i in range(len(log)-1):
|
for i in range(len(log)-1):
|
||||||
print('replay:', i, 'of', len(log)-3, '->', log[i])
|
print('replay:', i, 'of', len(log)-3, '->', log[i])
|
||||||
if (log[i] == "@@@"):
|
if (log[i] == "@@@"):
|
||||||
@ -134,6 +134,9 @@ class Game:
|
|||||||
player.buy_gold_rush_card(int(cmd[2]))
|
player.buy_gold_rush_card(int(cmd[2]))
|
||||||
# if cmd[1] == 'chat_message':
|
# if cmd[1] == 'chat_message':
|
||||||
# chat_message(None, cmd[2], player)
|
# chat_message(None, cmd[2], player)
|
||||||
|
if i == fast_forward:
|
||||||
|
self.replay_speed = 1.0
|
||||||
|
|
||||||
eventlet.sleep(max(self.replay_speed, 0.1))
|
eventlet.sleep(max(self.replay_speed, 0.1))
|
||||||
eventlet.sleep(6)
|
eventlet.sleep(6)
|
||||||
if self.is_replay:
|
if self.is_replay:
|
||||||
|
@ -368,12 +368,16 @@ def chat_message(sid, msg, pl=None):
|
|||||||
return
|
return
|
||||||
if '/replay' in msg and not '/replayspeed' in msg:
|
if '/replay' in msg and not '/replayspeed' in msg:
|
||||||
_cmd = msg.split()
|
_cmd = msg.split()
|
||||||
if len(_cmd) == 2:
|
if len(_cmd) >= 2:
|
||||||
replay_id = _cmd[1]
|
replay_id = _cmd[1]
|
||||||
response = requests.get(f"https://www.toptal.com/developers/hastebin/raw/{replay_id}")
|
response = requests.get(f"https://www.toptal.com/developers/hastebin/raw/{replay_id}")
|
||||||
log = response.text.splitlines()
|
log = response.text.splitlines()
|
||||||
ses.game.spectators.append(ses)
|
ses.game.spectators.append(ses)
|
||||||
ses.game.replay(log)
|
if len(_cmd) == 2:
|
||||||
|
ses.game.replay(log)
|
||||||
|
if len(_cmd) == 3:
|
||||||
|
line = int(_cmd[2])
|
||||||
|
ses.game.replay(log, speed=0.1, fast_forward=line)
|
||||||
return
|
return
|
||||||
if '/replayspeed' in msg:
|
if '/replayspeed' in msg:
|
||||||
_cmd = msg.split()
|
_cmd = msg.split()
|
||||||
|
Loading…
Reference in New Issue
Block a user