134 lines
6.3 KiB
Python
134 lines
6.3 KiB
Python
def large_scale_debug(): #massive debug, goes in games.py
|
|
average_player = player('{"id" : "average", "name" : "average", "batting_stars" : 2.5, "pitching_stars" : 2.5, "defense_stars" : 2.5, "baserunning_stars" : 2.5}')
|
|
max_player = player('{"id" : "max", "name" : "max", "batting_stars" : 5, "pitching_stars" : 5, "defense_stars" : 5, "baserunning_stars" : 5}')
|
|
min_player = player('{"id" : "min", "name" : "min", "batting_stars" : 1, "pitching_stars" : 1, "defense_stars" : 1, "baserunning_stars" : 1}')
|
|
team_avg = team()
|
|
team_avg.add_lineup(average_player)
|
|
team_avg.set_pitcher(average_player)
|
|
team_avg.finalize()
|
|
team_max = team()
|
|
team_max.add_lineup(max_player)
|
|
team_max.set_pitcher(max_player)
|
|
team_max.finalize()
|
|
team_min = team()
|
|
team_min.add_lineup(min_player)
|
|
team_min.set_pitcher(min_player)
|
|
team_min.finalize()
|
|
|
|
average_game = game(team_avg, team_avg)
|
|
slugging_game = game(team_max, team_min)
|
|
shutout_game = game(team_min, team_max)
|
|
|
|
hit_count_avg = 0
|
|
walk_count_avg = 0
|
|
home_run_avg = 0
|
|
so_avg = 0
|
|
fo_avg = 0
|
|
go_avg = 0
|
|
for i in range(0,10000):
|
|
ab = average_game.at_bat()
|
|
if ab["ishit"]:
|
|
hit_count_avg += 1
|
|
if ab["text"] == appearance_outcomes.homerun:
|
|
home_run_avg += 1
|
|
elif ab["text"] == appearance_outcomes.walk:
|
|
walk_count_avg += 1
|
|
elif ab["text"] == appearance_outcomes.strikeoutlooking or ab["text"] == appearance_outcomes.strikeoutswinging:
|
|
so_avg += 1
|
|
elif ab["text"] == appearance_outcomes.groundout:
|
|
go_avg += 1
|
|
elif ab["text"] == appearance_outcomes.flyout:
|
|
fo_avg += 1
|
|
|
|
hit_count_slg = 0
|
|
walk_count_slg = 0
|
|
home_run_slg = 0
|
|
fo_slg = 0
|
|
go_slg = 0
|
|
so_slg = 0
|
|
for i in range(0,10000):
|
|
ab = slugging_game.at_bat()
|
|
if ab["ishit"]:
|
|
hit_count_slg += 1
|
|
if ab["text"] == appearance_outcomes.homerun:
|
|
home_run_slg += 1
|
|
elif ab["text"] == appearance_outcomes.walk:
|
|
walk_count_slg += 1
|
|
elif ab["text"] == appearance_outcomes.strikeoutlooking or ab["text"] == appearance_outcomes.strikeoutswinging:
|
|
so_slg += 1
|
|
elif ab["text"] == appearance_outcomes.groundout:
|
|
go_slg += 1
|
|
elif ab["text"] == appearance_outcomes.flyout:
|
|
fo_slg += 1
|
|
|
|
hit_count_sht = 0
|
|
walk_count_sht = 0
|
|
home_run_sht = 0
|
|
go_sht = 0
|
|
fo_sht = 0
|
|
so_sht = 0
|
|
for i in range(0,10000):
|
|
ab = shutout_game.at_bat()
|
|
if ab["ishit"]:
|
|
hit_count_sht += 1
|
|
if ab["text"] == appearance_outcomes.homerun:
|
|
home_run_sht += 1
|
|
elif ab["text"] == appearance_outcomes.walk:
|
|
walk_count_sht += 1
|
|
elif ab["text"] == appearance_outcomes.strikeoutlooking or ab["text"] == appearance_outcomes.strikeoutswinging:
|
|
so_sht += 1
|
|
elif ab["text"] == appearance_outcomes.groundout:
|
|
go_sht += 1
|
|
elif ab["text"] == appearance_outcomes.flyout:
|
|
fo_sht += 1
|
|
|
|
|
|
return (hit_count_avg, walk_count_avg, hit_count_slg, walk_count_slg, hit_count_sht, walk_count_sht, home_run_avg, home_run_slg, home_run_sht, so_avg, so_slg, so_sht, go_avg, go_slg, go_sht, fo_avg, fo_slg, fo_sht)
|
|
|
|
|
|
# massive debug function, companion to above. goes in the_prestige
|
|
# elif command == "testabs":
|
|
# result = games.large_scale_debug()
|
|
# await msg.channel.send(f"over 10000 atbats, average player vs average pitcher achieved avg {(result[0]/(10000-result[1]))} and walk rate {result[1]/10000}.")
|
|
# await msg.channel.send(f"over 10000 atbats, max player vs min pitcher achieved avg {(result[2]/(10000-result[3]))} and walk rate {result[3]/10000}.")
|
|
# await msg.channel.send(f"over 10000 atbats, min player vs max pitcher achieved avg {(result[4]/(10000-result[5]))} and walk rate {result[5]/10000}.")
|
|
# await msg.channel.send(f"""there were {result[6]}, {result[7]}, and {result[8]} home runs, respectively.
|
|
# there were {result[9]}, {result[10]}, and {result[11]} strikeouts, respectively.
|
|
# there were {result[12]}, {result[13]}, and {result[14]} groundouts, respectively.
|
|
# there were {result[15]}, {result[16]}, and {result[17]} flyouts, respectively.""")
|
|
|
|
|
|
def debug_game(): #returns a game object ready to run
|
|
average_player = player('{"id" : "average", "name" : "AJ", "batting_stars" : 2.5, "pitching_stars" : 2.5, "defense_stars" : 2.5, "baserunning_stars" : 2.5}')
|
|
average_player2 = player('{"id" : "average", "name" : "Astrid", "batting_stars" : 2.5, "pitching_stars" : 2.5, "defense_stars" : 2.5, "baserunning_stars" : 2.5}')
|
|
average_player3 = player('{"id" : "average", "name" : "xvi", "batting_stars" : 2.5, "pitching_stars" : 2.5, "defense_stars" : 2.5, "baserunning_stars" : 2.5}')
|
|
average_player4 = player('{"id" : "average", "name" : "Fox", "batting_stars" : 2.5, "pitching_stars" : 2.5, "defense_stars" : 2.5, "baserunning_stars" : 2.5}')
|
|
average_player5 = player('{"id" : "average", "name" : "Pigeon", "batting_stars" : 2.5, "pitching_stars" : 2.5, "defense_stars" : 2.5, "baserunning_stars" : 2.5}')
|
|
max_player = player('{"id" : "max", "name" : "max", "batting_stars" : 5, "pitching_stars" : 5, "defense_stars" : 5, "baserunning_stars" : 5}')
|
|
min_player = player('{"id" : "min", "name" : "min", "batting_stars" : 1, "pitching_stars" : 1, "defense_stars" : 1, "baserunning_stars" : 1}')
|
|
team_avg = team()
|
|
team_avg.name = "Arizona Aways"
|
|
team_avg.add_lineup(average_player)
|
|
team_avg.add_lineup(average_player2)
|
|
team_avg.add_lineup(average_player3)
|
|
team_avg.add_lineup(average_player4)
|
|
team_avg.set_pitcher(average_player5)
|
|
team_avg.finalize()
|
|
team_avg2 = team()
|
|
team_avg2.name = "Houston Homes"
|
|
team_avg2.add_lineup(average_player5)
|
|
team_avg2.add_lineup(average_player4)
|
|
team_avg2.add_lineup(average_player3)
|
|
team_avg2.add_lineup(average_player2)
|
|
team_avg2.set_pitcher(average_player)
|
|
team_avg2.finalize()
|
|
team_min = team()
|
|
team_min.add_lineup(min_player)
|
|
team_min.set_pitcher(min_player)
|
|
team_min.finalize()
|
|
|
|
average_game = game("test", team_avg, team_avg2)
|
|
#slugging_game = game(team_max, team_min)
|
|
#shutout_game = game(team_min, team_max)
|
|
|
|
return average_game |