-
Notifications
You must be signed in to change notification settings - Fork 3
/
unpack.py
34 lines (30 loc) · 1.27 KB
/
unpack.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# unpack.py
# ---------
# Licensing Information: You are free to use or extend these projects for
# educational purposes provided that (1) you do not distribute or publish
# solutions, (2) you retain this notice, and (3) you provide clear
# attribution to UC Berkeley, including a link to http://ai.berkeley.edu.
#
# Attribution Information: The Pacman AI projects were developed at UC Berkeley.
# The core projects and autograders were primarily created by John DeNero
# ([email protected]) and Dan Klein ([email protected]).
# Student side autograding was added by Brad Miller, Nick Hay, and
# Pieter Abbeel ([email protected]).
import os, _pickle, sys
if len(sys.argv) != 3:
print('Usage: %s stats_file team_name' % sys.argv[0])
print('Unpacks the stats file of a server into a bunch of replay files.')
if len(sys.argv) == 2:
d = _pickle.load(open(sys.argv[1]))
print('Team names:', d.keys())
sys.exit(2)
d = _pickle.load(open(sys.argv[1]))
user = sys.argv[2]
k = 0
print('Unpacking games for', user)
for g, w in d[user]['gameHistory']:
k += 1
t = {'layout': g.state.data.layout, 'agents': g.agents, 'actions': g.moveHistory, 'length': g.length}
fname = 'replay_' + user + '_' + str(k)
print('Game:', fname)
_pickle.dump(t, open(fname, 'w'))