tidied up stealing implementation

This commit is contained in:
Sakimori 2021-03-27 19:51:43 -04:00
parent 5f88bfaee1
commit aac1d905e2
3 changed files with 18 additions and 18 deletions

View file

@ -222,7 +222,7 @@ class game(object):
self.max_innings = config()["default_length"] self.max_innings = config()["default_length"]
self.bases = {1 : None, 2 : None, 3 : None} self.bases = {1 : None, 2 : None, 3 : None}
self.weather = weather.Weather(self) self.weather = weather.Weather(self)
self.voice = game_strings_base() self.voice = None
self.current_batter = None self.current_batter = None
def occupied_bases(self): def occupied_bases(self):
@ -383,7 +383,7 @@ class game(object):
self.bases[start_base+1] = baserunner self.bases[start_base+1] = baserunner
self.bases[start_base] = None self.bases[start_base] = None
self.voice.stealing(baserunner.name, base_string(start_base+1), defender.name, successful) self.voice.stealing(outcome, baserunner.name, base_string(start_base+1), defender.name, successful)
if self.outs >= 3: if self.outs >= 3:
self.flip_inning() self.flip_inning()

View file

@ -40,14 +40,14 @@ class game_strings_base(object):
homerun = ["hits a dinger!"] homerun = ["hits a dinger!"]
grandslam = ["hits a grand slam!"] grandslam = ["hits a grand slam!"]
steal_success = ["{} was caught stealing {} base by {}!"] steal_caught = ["{} was caught stealing {} base by {}!"]
steal_caught = ["{runner} steals {base_string} base!"] steal_success = ["{} steals {} base!"]
twoparts = [] twoparts = []
diff_formats = {fielderschoice[0]: ("defender", "base_string"), diff_formats = {fielderschoice[0]: ("defender", "base_string"),
steal_success[0]: ("runner", "base_string", "defender"), steal_success[0]: ("runner", "base_string"),
steal_caught[0]: ("runner", "base_string")} steal_caught[0]: ("runner", "base_string", "defender")}
no_formats = strikeoutlooking + strikeoutswinging + doubleplay + walk + single + double + triple + homerun + grandslam no_formats = strikeoutlooking + strikeoutswinging + doubleplay + walk + single + double + triple + homerun + grandslam
def activate(self, lastupdate, currentupdate, game): def activate(self, lastupdate, currentupdate, game):
@ -99,22 +99,22 @@ class game_strings_base(object):
def activate_weather(self, lastupdate, currentupdate, game): def activate_weather(self, lastupdate, currentupdate, game):
pass pass
def stealing(self, runner, base_string, defender, is_successful): def stealing(self, currentupdate, runner, base_string, defender, is_successful):
if not is_successful: if is_successful:
index = randrange(0, len(steal_success)) index = randrange(0, len(self.steal_success))
text = steal_success[index] text = self.steal_success[index]
else: else:
index = randrange(0, len(steal_caught)) index = randrange(0, len(self.steal_caught))
text = steal_caught[index] text = self.steal_caught[index]
format_list = [] format_list = []
for format in diff_formats[text]: for format in self.diff_formats[text]:
if format == "runner": if format == "runner":
format_list.append(runner.name) format_list.append(runner)
elif format == "base_string": elif format == "base_string":
format_list.append(base_string) format_list.append(base_string)
elif format == "defender": elif format == "defender":
format_list.append(defender.name) format_list.append(defender)
currentupdate["steals"] = [text.format(*format_list)] currentupdate["steals"] = [text.format(*format_list)]
@ -214,8 +214,8 @@ class TheGoddesses(game_strings_base):
def all_voices(): def all_voices():
return [game_strings_base, return {"default": game_strings_base,
TheGoddesses] "the goddesses": TheGoddesses}
def base_string(base): def base_string(base):

View file

@ -1632,7 +1632,7 @@ def prepare_game(newgame, league = None, weather_name = None):
newgame.weather = weathers[random.choice(list(weathers.keys()))](newgame) newgame.weather = weathers[random.choice(list(weathers.keys()))](newgame)
if newgame.voice is None: if newgame.voice is None:
newgame.voice = gametext.TheGoddesses() newgame.voice = random.choice(list(gametext.all_voices().values()))()
state_init = { state_init = {
"away_name" : newgame.teams['away'].name, "away_name" : newgame.teams['away'].name,