def Do(self): if not Action.Do(self,self.I_MenuReward): return False Screens.findClick(self.r_AllGet, self.i_AllGet_btn) #self.r_AllGet.find(self.i_AllGet_btn).click() self.post()
def Do(self): if not Action.Do(self, "M_Main_100yeargungon.png"): return False r_100yearTry = Region(413,644,380,76) Screens.findClick(r_100yearTry, "A_100year_Challange.png") self.post()
def Do(self): if not Action.Do(self, self.I_MenuAttend): return False Screens.findClick(self.r_attendBtn, self.i_Attend_btn) # self.r_attendBtn.find(self.i_Attend_btn).click() self.post()
def mountItems(player, w, h): ar = 8 Box = Screens.initEquip(player, w, h, ar) while True: Screens.printMenu(Box) c = Getch.getch() if c == '\r': return
def confirmExit(player, w, h): ar = 9 while True: m = Screens.printConfirm(w, 10, "exit ", ar) c = Getch.getch() if c == 'w' or c == 's': ar = Screens.updateConfirm(m, c) if c == '\r': if ar == 7: print("save and quit successful") exit(-1) if ar == 9: return
def improve(m, player, skill): ar = 9 while True: m = Screens.printConfirm(len(m[0]), 10, skill, ar) c = Getch.getch() if c == 'w' or c == 's': ar = Screens.updateConfirm(m, c) if c == '\r': if ar == 9: return if ar == 7: player.increase(player, skill) ar = Screens.updateSkill(m, ar, c, player) return
def Do(self): click(self.l_TopTextMenu) wait(0.5) if Screens.checkExists(self.r_FishDiag, self.i_FishDiagText,2): pass else: Debug.user("No Fishing.. Skip") return Screens.findClick(self.r_FishDiagBottom,self.i_FishDiagBottom_getall) wait(5) self.post()
def harvist(fl, locTree): Debug.user("Harvist one") print fl # mouseMove(fl) click(fl) # wait select tree diag if not Screens.checkExists(r_TreeDiagTitle, "Md_Harvist_TreeDiagTitle.png",1): return False # moneytree or exptree click(locTree) sleep(0.2) if not Screens.findClick(r_HarvistDiagBtn, "Md_Harvist_DiagGet.png"): return False # sleep(1) # click(fl) return True
def viewSkills(player, w, h): ar = 19 if player.attributes['xp'] < 100 else 7 while True: Box = Screens.initSkills(w, h, ar, player) Screens.printSkills(Box) c = Getch.getch() if c == 'w' or c == 's': ar = Screens.updateSkill(Box, ar, c, player) if c == '\r': if ar == 19: return if ar == 7: improve(Box, player, "Health") if ar == 10: improve(Box, player, "Mana") if ar == 13: improve(Box, player, "Strength") if ar == 16: improve(Box, player, "Defense") ar = 19 if player.attributes['xp'] < 100 else 7
def openMenu(p, w, h): ar = 5 Box = Screens.initMenu(w, h, ar) while True: Screens.printMenu(Box) c = (Getch.getch()) if c == 'p': return if c == 'w' or c == 's': ar = Screens.updateMenu(Box, ar, c) if c == '\r': if ar == 5: Map.viewMap() elif ar == 8: Bag.viewBag() elif ar == 11: Skill.viewSkills(p, w, h) elif ar == 14: Equip.mountItems(p, w * 2, h) elif ar == 17: Save.confirmExit(p, w, h)
def Do(self): if not Action.Do(self, self.I_MenuJumsul): return False if not Screens.selectBottom(self.IB_MenuJusul): r_JumsulDiag = Region(590,229,81,35) i_JumsulText = "A_Jumsul_TextTop.png" if not Screens.checkExists(r_JumsulDiag, i_JumsulText, 3): return l_rollDices = Location(620, 492) click(l_rollDices) r_1000kinusul =Region(646,426,80,48) i_1000kinusul = "A_Jumsul_Diag_1000ki.png" # click 9 times Screens.findClick(r_1000kinusul, i_1000kinusul) for i in range(0,8): r_1000kinusul.getLastMatch().click() # click again 8 more l_ConfirmDices = Location(630, 453) click(l_ConfirmDices) # click ok 9 more for i in range(0,10): click(l_ConfirmDices) wait(0.5) click(l_ConfirmDices) self.post() def post(self): wait(1) click (Location(994, 239))
def on_draw(): end_game = Functions.check_endgame(Objects.player_ship) if Objects.title_obj.dead == False: Screens.title_screen(window, Objects.game_obj.game_objects) else: if end_game == False: Screens.game_screen(window) elif end_game == True: Screens.end_screen(window, Objects.game_obj.game_objects)
def main(): if len(sys.argv) > 1: if sys.argv[1] == 'test': Helpers.Test = True print "testing" pygame.display.init() pygame.font.init() size = [SCREEN_WIDTH, SCREEN_HEIGHT] screen = pygame.display.set_mode(size, pygame.RESIZABLE) pygame.display.set_caption("Codeventures!") done = False clock = pygame.time.Clock() transitionScreen,load = Screens.titleScreen(done, clock) while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True if transitionScreen == "buildingScreen": transitionScreen, load = Screens.buildingScreen(done, clock, load) elif transitionScreen == "playScreen": transitionScreen,load = Screens.playGame(done, clock, load) elif transitionScreen == "titleScreen": transitionScreen, load = Screens.titleScreen(done, clock) elif transitionScreen == "optionsScreen": transitionScreen = Screens.options(done, clock) elif transitionScreen == "unimplemented": transitionScreen = Screens.unimplemented(done, clock) elif transitionScreen == "changeScreenSize": transitionScreen = Screens.changeResolution(done, clock) elif transitionScreen == "done": Screens.exitScreen(done, clock) done = True pygame.quit()
def _cleanScreen(self, screen: str, NoColor: bool = True) -> str: if not screen: return screen # http://asf.atmel.com/docs/latest/uc3l/html/group__group__avr32__utils__print__funcs.html#ga024c3e2852fe509450ebc363df52ae73 # screen = re.sub('\[[\d+;]*m', '', screen) screen = re.sub(r'[\r]', '', screen) screen = re.sub(r'[\x00-\x08]', '', screen) screen = re.sub(r'[\x0b\x0c]', '', screen) # screen = re.sub(r'[\x0e-\x1f]', '', screen) screen = re.sub(r'[\x0e-\x1A]', '', screen) screen = re.sub(r'[\x1C-\x1F]', '', screen) screen = re.sub(r'[\x7f-\xff]', '', screen) screen = Screens.VT100(screen) return screen
def Do(self): if not Action.Do(self,self.I_MenuHonor): return False # get honor if Screens.checkExists(self.r_HonorItem_InList, self.i_GetHonorReward): #Region(Region(438,393,361,161)).find(Pattern("1467385626798.png").targetOffset(280,3)).click() #self.r_HonorItem_InList.getLastMatch().targetOffset(280,3).click() Screens.findClick(self.r_HonorItem_InList, Pattern(self.i_GetHonorReward).targetOffset(280,3)) wait(1.5) Screens.findClick(self.r_HonorConfirm_Dig, self.i_HonorConfirm_btn) # get daily yellow tickets for i in range(0,5): if Screens.checkExists(self.r_dailyReward, Pattern(self.i_dailyReward).similar(0.88)): self.r_dailyReward.getLastMatch().click() wait(1.5) self.post()
def hazard_touched_method(hero): screen = Screens.LoseScreen(hero) screen.show() screen.draw_order = 15000 r.Ragnarok.get_world().add_obj(screen)
# # p = re.compile('name="MEGOGO\WNET"\W.*?version="([^"]*?)"') # branch_release = re.search(p, http).group(1) # xbmc.log('[%s]: Branch version - %s' % (addon_name, branch_release)) # # if addon_version != branch_release: # dialog = xbmcgui.Dialog() # dialog.ok(language(1033), language(1034)) # del dialog # except Exception as e: # xbmc.log('[%s]: ERROR getting branch version! %s' % (addon_name, e)) # # ################################## START UI ####################################### # if getconfiguration(): # Get config from MEGOGO import Screens home = Screens.Back('back.xml', addon_path, splash=splash) home.doModal() xbmc.log('!!! RETURN TO START !!!') del home else: dialog = xbmcgui.Dialog() dialog.ok(language(1025), language(1031), language(1032)) del dialog splash.close() # ################################## CLOSE APP ####################################### # xbmc.log('[%s]: TRY CLOSE APP!!!' % addon_name) dic = db.get_login_from_db() db.close_db() __addon__.setSetting(id='login', value=dic['login']) __addon__.setSetting(id='password', value=dic['password'])
def send(self, Msg: str, TargetList: list, ScreenTimeout: int = 0, Refresh: bool = True, Secret: bool = False) -> int: if not all(isinstance(T, TargetUnit) for T in TargetList): raise ValueError('Item of TargetList must be TargetUnit') if ScreenTimeout == 0: CurrentScreenTimeout = Config.ScreenTimeOut else: CurrentScreenTimeout = ScreenTimeout self._ReceiveDataQueue = [] BreakDetectAfterSend = False BreakIndex = -1 isSecret = Secret while True: if Refresh and not Msg.endswith(Command.Refresh): Msg = Msg + Command.Refresh try: Msg = Msg.encode('big5-uao', 'ignore') except AttributeError: pass except Exception as e: traceback.print_tb(e.__traceback__) print(e) Msg = Msg.encode('big5', 'ignore') if isSecret: Log.showValue(Log.Level.DEBUG, [i18n.SendMsg], i18n.HideSensitiveInfor) else: Log.showValue(Log.Level.DEBUG, [i18n.SendMsg], Msg) if self._ConnectMode == ConnectMode.Telnet: self._Core.read_very_eager() self._Core.write(Msg) else: asyncio.get_event_loop().run_until_complete( self._Core.send(Msg)) if BreakDetectAfterSend: return BreakIndex Msg = '' CycleTime = 0 CycleWait = 0 ReceiveData = [] ReceiveDataBuffer = bytes() StartTime = time.time() MidTime = time.time() while MidTime - StartTime < CurrentScreenTimeout: if self._ConnectMode == ConnectMode.Telnet: try: ReceiveDataTemp = self._Core.read_very_eager() except EOFError: return -1 else: try: asyncio.get_event_loop().run_until_complete( WebsocketReceiver(self._Core, CurrentScreenTimeout)) ReceiveDataTemp = _WSRecvData except websockets.exceptions.ConnectionClosed: return -1 except asyncio.TimeoutError: return -1 ReceiveDataBuffer += ReceiveDataTemp ReceiveDataTemp = ReceiveDataBuffer.decode('big5-uao', errors='ignore') Screen = self._cleanScreen(ReceiveDataTemp) FindTarget = False for Target in TargetList: Condition = Target.isMatch(Screen) if Condition: if len(Screen) > 0: Screens.show(Screen) self._ReceiveDataQueue.append(Screen) Target.raiseException() FindTarget = True Log.showValue(Target.getLogLevel(), [i18n.PTT, i18n.Msg], Target.getDisplayMsg()) EndTime = time.time() Log.showValue(Log.Level.DEBUG, [ i18n.SpendTime, ], round(EndTime - StartTime, 2)) if Target.isBreak(): return TargetList.index(Target) Msg = Target.getResponse(Screen) AddRefresh = False if Target.isRefresh(): AddRefresh = True elif Refresh: AddRefresh = True if AddRefresh: if not Msg.endswith(Command.Refresh): Msg = Msg + Command.Refresh isSecret = Target.isSecret() if Target.isBreakAfterSend(): BreakIndex = TargetList.index(Target) BreakDetectAfterSend = True break if FindTarget: break if len(Screen) > 0: Screens.show(Screen) self._ReceiveDataQueue.append(Screen) MidTime = time.time() if not FindTarget: raise NoMatchTargetError(self._ReceiveDataQueue) raise NoMatchTargetError(self._ReceiveDataQueue)
def checkMode(self,surface): x=Screens() if self.hero.mode=="Win": x.win() x.draw(surface) self.level+=1 self.gameOver=True elif self.hero.mode=="Dead": x.lose() x.draw(surface) self.gameOver=True elif self.hero.mode=="Fall": self.speedY-=10 if(self.speedY<=-500): # delay displaying death screen #after finishing falling x.lose() x.draw(surface) self.gameOver=True if(self.gameOver==True): self.count+=1
def checkMode(self, surface): x = Screens() if self.hero.mode == "Win": x.win() x.draw(surface) self.level += 1 self.gameOver = True elif self.hero.mode == "Dead": x.lose() x.draw(surface) self.gameOver = True elif self.hero.mode == "Fall": self.speedY -= 10 if (self.speedY <= -500): # delay displaying death screen #after finishing falling x.lose() x.draw(surface) self.gameOver = True if (self.gameOver == True): self.count += 1
def send(self, Msg: str, TargetList: list, ScreenTimeout: int = 0, Refresh: bool = True, Secret: bool = False) -> int: if not all(isinstance(T, TargetUnit) for T in TargetList): raise ValueError('Item of TargetList must be TargetUnit') if self._UseTooManyResources not in TargetList: TargetList.append(self._UseTooManyResources) if ScreenTimeout == 0: CurrentScreenTimeout = self.Config.ScreenTimeOut else: CurrentScreenTimeout = ScreenTimeout BreakDetectAfterSend = False BreakIndex = -1 isSecret = Secret UseTooManyRes = False while True: if Refresh and not Msg.endswith(Command.Refresh): Msg = Msg + Command.Refresh try: Msg = Msg.encode('big5-uao', 'replace') except AttributeError: pass except Exception as e: traceback.print_tb(e.__traceback__) print(e) Msg = Msg.encode('big5', 'replace') if isSecret: Log.showValue(self.Config, Log.Level.DEBUG, [i18n.SendMsg], i18n.HideSensitiveInfor) else: Log.showValue(self.Config, Log.Level.DEBUG, [i18n.SendMsg], Msg) try: asyncio.get_event_loop().run_until_complete( self._Core.send(Msg)) except websockets.exceptions.ConnectionClosedError: raise Exceptions.ConnectionClosed() except RuntimeError: raise Exceptions.ConnectionClosed() except websockets.exceptions.ConnectionClosedOK: raise Exceptions.ConnectionClosed() if BreakDetectAfterSend: return BreakIndex Msg = '' ReceiveDataBuffer = bytes() # print(f'0 {UseTooManyRes}') StartTime = time.time() MidTime = time.time() while MidTime - StartTime < CurrentScreenTimeout: try: asyncio.get_event_loop().run_until_complete( WebsocketReceiver(self._Core, CurrentScreenTimeout)) ReceiveDataTemp = _WSRecvData except websockets.exceptions.ConnectionClosed: # print(f'0.1 {UseTooManyRes}') if UseTooManyRes: # print(f'0.2 {UseTooManyRes}') raise Exceptions.UseTooManyResources() # print(f'0.3 {UseTooManyRes}') raise Exceptions.ConnectionClosed() except websockets.exceptions.ConnectionClosedOK: raise Exceptions.ConnectionClosed() except asyncio.TimeoutError: return -1 ReceiveDataBuffer += ReceiveDataTemp ReceiveDataTemp = ReceiveDataBuffer.decode('big5-uao', errors='replace') Screen = self._cleanScreen(ReceiveDataTemp) FindTarget = False for Target in TargetList: Condition = Target.isMatch(Screen) if Condition: if Target._Handler is not None: Target._Handler() if len(Screen) > 0: Screens.show(self.Config, Screen) self._RDQ.add(Screen) # self._ReceiveDataQueue.append(Screen) if Target == self._UseTooManyResources: # print('!!!!!!!!!!!!!!!') UseTooManyRes = True # print(f'1 {UseTooManyRes}') break Target.raiseException() FindTarget = True Log.showValue(self.Config, Target.getLogLevel(), [i18n.PTT, i18n.Msg], Target.getDisplayMsg()) EndTime = time.time() Log.showValue(self.Config, Log.Level.DEBUG, [ i18n.SpendTime, ], round(EndTime - StartTime, 2)) if Target.isBreak(): return TargetList.index(Target) Msg = Target.getResponse(Screen) AddRefresh = False if Target.isRefresh(): AddRefresh = True elif Refresh: AddRefresh = True if AddRefresh: if not Msg.endswith(Command.Refresh): Msg = Msg + Command.Refresh isSecret = Target.isSecret() if Target.isBreakAfterSend(): BreakIndex = TargetList.index(Target) BreakDetectAfterSend = True break # print(f'2 {UseTooManyRes}') if UseTooManyRes: # print(f'3 {UseTooManyRes}') continue # print(f'4 {UseTooManyRes}') if FindTarget: break if len(Screen) > 0: Screens.show(self.Config, Screen) self._RDQ.add(Screen) # self._ReceiveDataQueue.append(Screen) MidTime = time.time() if not FindTarget: raise Exceptions.NoMatchTargetError(self._RDQ) raise Exceptions.NoMatchTargetError(self._RDQ)
def main(): pygame.init() Screens.drugScreen() while True: Screens.startScreen() runGame()
def runGame(): ball,bumper,blocks = setup() score = 0 blocksDestroyed = 0 #use a random number to tell which way to start the ball off randVal = random.random() if(randVal<=.5): direction = DL else: direction = DR start = False #define the beginning ball values scoreImage = pygame.image.load('Images/score.png') scoreFont = pygame.font.Font('freesansbold.ttf',37) while True: if start: direction = move(ball,bumper,direction) #if the ball hit the bottom of the screen, game over if direction == -1: Screens.gameOver() Screens.highScoreScreen(score) return blockHitY, blockHitX, direction = hitBlock(ball,blocks,direction) if blockHitX>=0 and blockHitY>=0: blocks[blockHitX][blockHitY].alive = False blocksDestroyed+=1 score += 10 if blocksDestroyed >= BLOCKSROW*BLOCKSCOLUMN: blocks = resetBoard() blocksDestroyed = 0 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.MOUSEBUTTONDOWN and event.button == LEFT: start = not start elif event.type == pygame.MOUSEMOTION: #the y of the bumper isn't going to move, so let's just ignore its return value tempx, tempy = pygame.mouse.get_pos() #if it's less than 63 or greater than 578, don't let it run off the screen if tempx <= BUMPERWIDTH/2: bumper.x = -2 elif tempx >= WINDOWWIDTH - (BUMPERWIDTH/2): bumper.x = 520 #the 63 centers it - the sprite is approximately 125 pixels wide else: bumper.x = tempx-(BUMPERWIDTH/2) DISPLAYSURF.fill(WHITE) DISPLAYSURF.blit(BACKGROUND,(0,0)) DISPLAYSURF.blit(bumper.img,(bumper.x,bumper.y)) DISPLAYSURF.blit(ball.img, (ball.x,ball.y)) DISPLAYSURF.blit(scoreImage, (440,20)) scoreSurface = scoreFont.render(str(score), True, WHITE) scoreRect = scoreSurface.get_rect() scoreRect.topleft = (445+SCOREWIDTH, 25) DISPLAYSURF.blit(scoreSurface,scoreRect) drawBlocks(blocks) pygame.display.update() fpsClock.tick(FPS)
def Do(self,menu): if not Screens.select(menu): print ("Can not find ", menu) return False return True
#wait(1) type(Key.ESC) class JusulMergeAction(Action): IB_MenuJusul = "MB_Menu_Jusul.png" r_JusulDiagBtnArea = Region(344,587,119,50) i_JusulMergeBtn = "A_Jusul_Diag_MergeAll.png" r_JusulConfirmDiag = Region(526,453,204,69) i_ConfirmBtn = "A_Jusul_ConfirmDiag_ok.png" def Do(self): print ("Can not find ", self.IB_MenuJusul) return False Screens.findClick(self.r_JusulDiagBtnArea,self.i_JusulMergeBtn) Screens.findClick(self.r_JusulConfirmDiag,self.i_ConfirmBtn) self.post() def post(self): wait(1) type(Key.ESC) class JumsulAction(Action): I_MenuJumsul = "M_Menu_Jumsul.png" def Do(self): if not Action.Do(self, self.I_MenuJumsul): return False
def on_draw(): Screens.screen_display(Objects.game_obj.game_state)
def special_touched_method(): hero.CURRENT_STATE = hero.PAUSED_STATE screen = Screens.WinScreen() screen.show() screen.draw_order = 15000 r.Ragnarok.get_world().add_obj(screen)
import config as c pygame.init() running = True pygame.display.set_caption("Hacktrix V1.0") info = pygame.display.Info() c.width = info.current_w c.height = info.current_h load_screen = 'Main_menu' if c.screen_mode: screen = pygame.display.set_mode((c.width, c.height), pygame.HWSURFACE | pygame.DOUBLEBUF | pygame.FULLSCREEN) else: screen = pygame.display.set_mode((c.width, c.height)) # load screens Desktop = Screens.Desktop(screen) SavesMenu = Screens.SavesMenu(screen) PlayLevel = Screens.PlayLevel(screen) Text_screen = Screens.Text_screen(screen) MainMenu = Screens.MainMenu(screen) # PlayLevel.load_level(os.path.join('levels', '1.txt')) command = '0' #pygame.time.set_timer(c.DRAW, 1000 // c.FPS) while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if load_screen == 'Main_menu': command = MainMenu.run(event) elif load_screen == 'Saves_menu': command = SavesMenu.run(event)