Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from collections import namedtuple
- BattleState = namedtuple("BattleState", ["us", "them"])
- TeamState = namedtuple("TeamState", ["name", "active", "members"])
- MemberState = namedtuple("MemberState", ["name", "id", "attack", "defense", "speed", "hp",
- "typeid", "poisonedturns", "otherstats"])
- def parse_battle_state(state):
- return BattleState(*map(parse_team_state, state.split("#")))
- def parse_team_state(state):
- na, *members = state.split("|")
- name, active = na.split(":")
- return TeamState(name, int(active), list(map(parse_member_state, members)))
- def parse_member_state(state):
- name, id_, attack, defense, speed, hp, typeid, poisonedturns, *rest = state.split(":")
- return MemberState(name, int(id_), float(attack), float(defense), float(speed),
- float(hp), int(typeid), int(poisonedturns), rest)
- command = sys.argv[1].strip()
- if command.startswith("T"):
- metapod1 = "Metapod1:0:50:100:80:0:1:11"
- metapod2 = "Metapod2:0:50:100:80:0:1:11"
- metapod3 = "Metapod3:0:50:100:80:0:1:11"
- print("HardenedTrio|{}|{}|{}".format(metapod1, metapod2, metapod3))
- elif command.startswith("C"):
- battle_state = parse_battle_state(command[2:])
- for i,codemon in enumerate(battle_state.us.members):
- if codemon.hp > 0:
- print(i)
- break
- elif command.startswith("A"):
- battle_state = parse_battle_state(command[2:])
- our_team = battle_state.us
- current_codemon = our_team.members[our_team.active]
- if current_codemon.hp < 50 and int(current_codemon.otherstats[1]) > 0:
- # Heal up if low
- print(1)
- elif int(current_codemon.otherstats[2]) > 0:
- # Harden!
- print(2)
- else:
- # Punch!
- print(0)
- elif command.startswith("B"):
- our_team = parse_team_state(command[2:])
- print("1:1:1")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement