def load_movelist(self): #try: self.movelist = MoveList(self.chars[self.CharChoice.get()]) #self.MoveId['menu'].delete(0, 'end') #moves = self.movelist.GetAllMoveIdsAndNames() #for move in moves: #self.MoveId['menu'].add_command(label=move, command=_setit(var, move)) #self.movelist = MoveList(self.CharIDBox.get("1.0", 'end-1c')) self.CharNameBox.configure(state="normal") self.CharNameBox.delete("1.0", END) self.CharNameBox.insert("1.0", self.movelist.CharXml.getroot().attrib['name']) self.CharNameBox.configure(state="disabled")
def Update(self, gameState: TekkenGameState): BotBehaviors.Basic(gameState, self.botCommands) if self.gameplan == None: char_id = gameState.GetBotCharId() print("Testing Char ID: " + str(char_id)) if char_id != None: self.gameplan = GetGameplan(char_id) self.Movelist = MoveList(char_id) self.useMoves = self.Movelist.allMoves self.Movelist.getGameplan(1) self.OppMovelist = MoveList(gameState.stateLog[-1].opp.char_id) if gameState.WasFightReset(): self.botCommands.ClearCommands() if gameState.IsGameHappening(): self.frameCounter += 1 self.distance = gameState.GetDist() self.BotMove = gameState.GetCurrentBotMoveName() self.AppendBotMove(gameState.GetCurrentOppMoveName()) Stance = self.Movelist.GetStanceFromGameMove(self.BotMove) if (Stance != None): self.Stance = Stance
def testMoveList(self): print("Switching to Test Movelist") self.launcher = TekkenBotLauncher(BotTestCommand, False) self.overlay = GUI_TestOverlay(self, self.launcher, (1000, 35), (450, 170)) self.launcher.botBrain.overlay = self.overlay # character=self.launcher.gameState.stateLog[-1].bot.character_name character = "Akuma" charId = self.GetCharacterId(character) movelist = MoveList(charId) moves = movelist.GetAllMoveIds() moveCommands = [] for id in moves: print(id) move = movelist.getMoveById(id) moveCommands.append(movelist.getMoveCommand(move)) self.launcher.botBrain.Command = moveCommands self.launcher.botBrain.Delay = 60
def Update(self, gameState: TekkenGameState): successfulUpdate = gameState.Update() #if successfulUpdate: # self.cyclopedia_p1.Update(self.gameState) # self.cyclopedia_p2.Update(self.gameState) #print(gameState.GetCurrentBotMoveName()) #debugging if not self.recorder == None: self.recorder.Update(gameState) BotBehaviors.Basic(gameState, self.botCommands) if self.gameplan == None: char_id = gameState.GetBotCharId() print("Testing Char ID: " + str(char_id)) if char_id != None: self.gameplan = GetGameplan(char_id) self.Movelist = MoveList(char_id) self.useMoves = self.Movelist.allMoves self.Movelist.getGameplan(1) if gameState.WasFightReset(): self.botCommands.ClearCommands() self.gameplan = None if gameState.IsGameHappening(): self.frameCounter += 1 self.distance = gameState.GetDist() self.BotMove = gameState.GetCurrentBotMoveName() Stance = self.Movelist.GetStanceFromGameMove(self.BotMove) if (Stance != None): self.Stance = Stance # if self.botCommands.IsAvailable(): return successfulUpdate
import movelist import NotationParser from NotationParser import ParseMoveList from movelist import MoveList gp = MoveList(28) m = gp.GetPunishers(10, True) print(m) #moves = gp.getGameplan(1) #for move in gp.gameplan: # try: # command = ParseMoveList(gp.getMoveCommand(move)) # except: # print(move[0].text)
def Update(self, gameState: TekkenGameState): successfulUpdate = gameState.Update() if gameState.IsGameHappening(): self.frameCounter += 1 self.distance = gameState.GetDist() if not self.recorder == None: self.recorder.Update(gameState) BotBehaviors.Basic(gameState, self.botCommands) if gameState.WasFightReset(): self.botCommands.ClearCommands() self.gameplan = None if self.gameplan == None: char_id = gameState.GetBotCharId() if char_id != None: self.gameplan = GetGameplan(char_id) #self.punishableMoves = self.gameplan.GetPunishableMoves() #self.allMoves = getMoves(char_id) #self.useMoves = getPunishableMoves(self.allMoves) self.allMoves = MoveList(char_id) self.useMoves = self.allMoves.allMoves self.allMoves.getGameplan(1) self.allMoves.shuffleGameplan() if self.botCommands.IsAvailable(): #if gameState.DidBotStartGettingPunishedXFramesAgo(30): #gameState.IsOppAbleToAct() if gameState.stateLog[-1].bot.IsPunish( ) or gameState.stateLog[-1].bot.IsBeingJuggled(): #if gameState.GetFramesSinceBotTookDamage() < 30: if self.lastMove: print("Punished") self.NumCorrectPunished = self.NumCorrectPunished + 1 self.allMoves.removeMoveFromGameplan(self.lastMove) self.lastMove = None if not self.allMoves.gameplan: self.exit = True print("Percentage of punishes: " + str((float(self.NumCorrectPunished) / float(self.CountOfAttempts)) * 100) + "%") print("Total Punished: " + str(self.NumCorrectPunished)) print("Total Attempts: " + str(self.CountOfAttempts)) BotBehaviors.BlockAllAttacks(gameState, self.botCommands) #Check to see if the bot is standing if gameState.stateLog[-1].bot.simple_state != ( SimpleMoveStates.STANDING): self.FrameLastAction = self.frameCounter #print(gameState.stateLog[-1].bot.simple_state) else: if self.distance > 1500: self.botCommands.AddCommand( self.botCommands.ForwarddashSmall()) elif self.DetermineIfAction(): #print(self.distance) #self.botCommands.AddCommand(random.choice(self.punishableMoves)) #print(random.choice(self.punishableMoves)) if len(self.queue) == 0: self.lastMove = self.allMoves.getNextGameplanMove() #move = self.allMoves.getMoveById(18) #self.queue.append(move) #self.queue.append(move) else: self.lastMove = self.queue.pop(0) #move = self.allMoves[-1] #command = move.getMoveCommand command = self.allMoves.getMoveCommand(self.lastMove, 0) print("Move: " + self.allMoves.getMoveName(self.lastMove) + "\nID: " + self.allMoves.getMoveId(self.lastMove) + "\n") #print(ParseMoveList(command)) if command is not None: self.botCommands.AddCommand(ParseMoveList(command)) self.CountOfAttempts = self.CountOfAttempts + 1