forked from iteratedecks/fansiteSubmission
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimulatorIteratedecks.py
More file actions
69 lines (52 loc) · 2.22 KB
/
simulatorIteratedecks.py
File metadata and controls
69 lines (52 loc) · 2.22 KB
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import re
import subprocess
from fansiteSimulator import FansiteSimulator
class SimulatorIteratedecks(FansiteSimulator):
name = "iteratedecks"
executable = "iteratedecks-cli.exe"
def loadVersion(self):
commandArgs = [SimulatorIteratedecks.executable, "--version"]
result = subprocess.check_output(commandArgs)
return result.split()[2]
def processResults(self, results):
iterateDecksRegex = "\D+(\d+)\D+(\d+)" # Wins 123 / 200
iterateDecksRegex += "\D+(\d+)\D+\d+" # Losses 123 / 200
iterateDecksRegex += "\D+(\d+)\D+\d+" # Draws 123 / 200
iterateDecksRegex += "\s+.+ANP=([\d\.]+)" # ANP=25.000
iterateDecksRegex = re.compile(iterateDecksRegex)
simResults = iterateDecksRegex.match(results).groups()
results = {}
results["wins"] = simResults[0]
results["total"] = simResults[1]
results["losses"] = simResults[2]
results["draws"] = simResults[3]
results["ard"] = simResults[4]
return results
def addAchievement(self, commandArgs, achievementId, missionId):
commandArgs.append("-a")
commandArgs.append(str(achievementId))
commandArgs.append("-m")
commandArgs.append(str(missionId))
def addAttackingDeck(self, commandArgs, attackingDeck, attackingDeckCards):
commandArgs.append(attackingDeck)
def addBattlegroundId(self, commandArgs, battlegroundId):
commandArgs.append("-b")
commandArgs.append(str(battlegroundId))
def addCustom(self, commandArgs, custom):
commandArgs.append(custom)
def addExtraArgs(self, commandArgs, args):
commandArgs.extend(["-n", str(args.numSims)])
commandArgs.append("--seed")
def addMission(self, commandArgs, missionId):
commandArgs.append("-m")
commandArgs.append(str(missionId))
def addOrdered(self, commandArgs):
commandArgs.append("-o")
def addQuest(self, commandArgs, questId):
commandArgs.append("-Q")
commandArgs.append(str(questId))
def addRaid(self, commandArgs, raidId):
commandArgs.append("-r")
commandArgs.append(str(raidId))
def addSurge(self, commandArgs):
commandArgs.append("-s")