28 lines
		
	
	
		
			896 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			896 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import json, os.path
 | |
| 
 | |
| # record solver/rando to play in the VCR tracker
 | |
| class VCR(object):
 | |
|     def __init__(self, name, type):
 | |
|         self.baseName = os.path.basename(os.path.splitext(name)[0])
 | |
|         self.outFileName = "{}.{}.vcr".format(self.baseName, type)
 | |
|         self.empty()
 | |
| 
 | |
|     def empty(self):
 | |
|         self.tape = []
 | |
| 
 | |
|     def addLocation(self, locName, itemName):
 | |
|         self.tape.append({'type': 'location', 'loc': locName, 'item': itemName})
 | |
| 
 | |
|     def addRollback(self, count):
 | |
|         self.tape.append({'type': 'rollback', 'count': count})
 | |
| 
 | |
|     def dump(self):
 | |
|         with open(self.outFileName, 'w') as jsonFile:
 | |
|             json.dump(self.tape, jsonFile)
 | |
| 
 | |
|     # in scavenger we have the rando solver then the scav solver, generate vcr for both
 | |
|     def reinit(self, type):
 | |
|         self.dump()
 | |
|         self.outFileName = "{}.{}.vcr".format(self.baseName, type)
 | |
|         self.empty()
 | 
