ScreenData.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:PyMonopoly 作者: Kycko 项目源码 文件源码
def events(self, cur_key):
        for e in pygame.event.get():
            if e.type == pygame.MOUSEBUTTONDOWN and e.button == 1 and cur_key:
                self.action_call(cur_key)
            elif e.type == pygame.KEYDOWN:
                if e.key in (pygame.K_UP, pygame.K_DOWN) and self.cursor:
                    self.cursor.keypress(e.key)
                elif e.key in (pygame.K_RETURN, pygame.K_KP_ENTER) and self.cursor:
                    self.action_call(self.cursor.active_key)
                elif e.key == pygame.K_ESCAPE:
                    actionKEY = ('exit', 'return')['return' in self.menuitems.keys()]
                    self.action_call(actionKEY)
                elif e.key in (pygame.K_LEFT, pygame.K_RIGHT) and self.menuitems and self.cursor and 'SELECTOR' in self.menuitems[self.cursor.active_key].type:
                    self.menuitems[self.cursor.active_key].selector.keypress(e.key)
                elif self.menuitems and ('main_new_edit_player' in self.menuitems['exit'].type or self.menuitems['exit'].type == 'main_settings_player'):
                    self.input_handling(e, 'name_MI', 15)
                elif self.labels and 'property_management_input' in self.labels.keys():
                    self.input_handling(e, 'property_management_input', 2)
                elif self.labels and check_substring_in_dict_keys(self.labels, 'trading_input'):
                    label_key = check_substring_in_dict_keys(self.labels, 'trading_input')
                    if label_key == 'trading_input_fields':
                        max_length = 2
                    elif label_key == 'trading_input_auction_bet':
                        max_length = len(str(Globals.TEMP_VARS['auction']['order'][0].money))
                    else:
                        trader = ('trader', 'tradingwith')['ask_for' in label_key]
                        max_length = len(str(Globals.TEMP_VARS['trading'][trader]['info'].money))
                    self.input_handling(e, label_key, max_length)
                elif self.cursor and e.key in self.menuitems[self.cursor.active_key].HOTKEYS:
                    self.action_call(self.cursor.active_key)
                else:
                    for key in self.menuitems.keys():
                        if self.menuitems[key].type[:4] != 'main' and e.key in self.menuitems[key].HOTKEYS:
                            self.action_call(key)
            elif e.type == pygame.QUIT:
                SYSEXIT()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号