当前位置: 首页>>代码示例>>Python>>正文


Python Screen.run方法代码示例

本文整理汇总了Python中screen.Screen.run方法的典型用法代码示例。如果您正苦于以下问题:Python Screen.run方法的具体用法?Python Screen.run怎么用?Python Screen.run使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在screen.Screen的用法示例。


在下文中一共展示了Screen.run方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Game

# 需要导入模块: from screen import Screen [as 别名]
# 或者: from screen.Screen import run [as 别名]
class Game (object):

    def __init__(self):
        """Game encompasses the entirety of all game states/objects/etc.
        Here we make our game screen and init some variables for holding our
        game objects."""
        self.screen = Screen()
        self.gameobjects = []
        #NOTE: We have to specifically set screen to self.screen otherwise
        #      it will set dimensions to self.screen, which is BAD
        self.player = Player( (25,50), screen=self.screen )
    
    def run(self):
        """The main game loop. Handles events"""
        self.screen.add_object( EvilMage( (100,100), screen=self.screen ) )
        self.screen.add_object( Text( (500,0), "Test", screen=self.screen) )
        self.screen.add_player( self.player )
        self.screen.run()
        #TODO: eventually have a prompt for saving, etc.
        self.quit()

    
    def quit(self):
        """Quit the game."""
        exit()
开发者ID:johngunderman,项目名称:dungeons_rpg,代码行数:27,代码来源:game.py

示例2: __init__

# 需要导入模块: from screen import Screen [as 别名]
# 或者: from screen.Screen import run [as 别名]
class GB:
    """ GB components instantiation """

    def __init__(self):
        self.logger = Log()

        # Create components
        self.cpu = CPU(self)
        self.memory = Memory(self)
        self.interrupts = Interrupts(self)
        self.screen = Screen(self)
        self.gpu = GPU(self)

        self.debug_mode = False
        self.step_mode = False

    def execute(self, cartridge_data: bytes, debug: bool = False, step: bool = False):
        """
        Execution main loop.
        :param cartridge_data: game to execute
        :param debug: If will run in debug mode or not
        :param step: If it will stop after executing each loop or not. Requires debug==True.
        """
        self.print_cartridge_info(cartridge_data)
        self.gpu.prepare()

        self.step_mode = step
        self.debug_mode = debug
        self.logger.setDebugMode(self.debug_mode)

        self.logger.info("Debug: %s\tStep: %s",self.debug_mode,self.step_mode)
        self.memory.load_cartridge(cartridge_data)
        if self.memory.boot_rom is None:
            self.cpu.register.skip_boot_rom()

        # Instantiates the emulator screen. It will assume control of the main thread, so the emulator main loop must be
        # triggered by the Screen itself, as a scheduled method call.
        self.screen.run()

    def print_cartridge_info(self, cartridge_data: bytes):
        """
        Prints the cartridge header info.
        See: http://gbdev.gg8.se/files/docs/mirrors/pandocs.html#thecartridgeheader
        """
        title = cartridge_data[0x0134:0x143].replace(b'\x00', b'').decode("ascii")
        self.logger.info("Title: %s", title)

        cartridge_type_dict = {0x00:"ROM ONLY",0x01:"MBC1",0x02:"MBC1+RAM",0x03:"MBC1+RAM+BATTERY",
                               0x05:"MBC2",0x06:"MBC2+BATTERY",0x08:"ROM+RAM",0x09:"ROM+RAM+BATTERY",
                               0x0B:"MMM01",0x0C:"MMM01+RAM",0x0D:"MMM01+RAM+BATTERY",
                               0x0F:"MBC3+TIMER+BATTERY",0x10:"MBC3+TIMER+RAM+BATTERY",0x11:"MBC3",
                               0x12:"MBC3+RAM",0x13:"MBC3+RAM+BATTERY",0x15:"MBC4",0x16:"MBC4+RAM",
                               0x17:"MBC4+RAM+BATTERY",0x19:"MBC5",0x1A:"MBC5+RAM",0x1B:"MBC5+RAM+BATTERY",
                               0x1C:"MBC5+RUMBLE",0x1D:"MBC5+RUMBLE+RAM",0x001E:"MBC5+RUMBLE+RAM+BATTERY",
                               0xFC:"POCKET CAMERA",0xFD:"BANDAI TAMA5",0xFE:"HuC3",0xFF:"HuC1+RAM+BATTERY"}
        self.logger.info("Cartridge: %s",cartridge_type_dict[cartridge_data[0x0147]])

        rom_size = {0x00:"32KByte (no ROM banking)",0x01:"64KByte (4 banks)",0x02:"128KByte (8 banks)",
                    0x03:"256KByte (16 banks)",0x04:"512KByte (32 banks)",
                    0x05:"1MByte (64 banks) - only 63 banks used by MBC1",
                    0x06:"2MByte (128 banks) - only 125 banks used by MBC1",
                    0x07:"4MByte (256 banks)",0x52:"1.1MByte (72 banks)",0x53:"1.2MByte (80 banks)",
                    0x54:"1.5MByte (96 banks)"}
        self.logger.info("ROM Size: %s", rom_size[cartridge_data[0x0148]])

        ram_size = {0x00:"None",0x01:"2 KBytes",0x02:"8 Kbytes",0x03:"32 KBytes (4 banks of 8KBytes each)"}
        self.logger.info("RAM Size: %s", ram_size[cartridge_data[0x0149]])

        destination = {0x00:"Japanese",0x01:"Non-Japanese"}
        self.logger.info("Destination: %s", destination[cartridge_data[0x014A]])

        self.logger.info("Version: %d", cartridge_data[0x014C])

    def debug(self):
        """
        Prints debug info to console.
        """
        self.cpu.debug()
        self.memory.debug()  # Makes execution really slow
        self.interrupts.debug()
        self.gpu.debug()
        self.logger.debug("---")
开发者ID:geosohh,项目名称:pgbe,代码行数:84,代码来源:gb.py

示例3: run

# 需要导入模块: from screen import Screen [as 别名]
# 或者: from screen.Screen import run [as 别名]
 def run(self, **kwargs):
     # loop rate set too high so it should run effectively as fast as python is capable of looping
     Screen.run(self, display_loop_rate = 10000, **kwargs)
开发者ID:SridharLab,项目名称:neurodot-present,代码行数:5,代码来源:checkerboard_flasher.py

示例4: main

# 需要导入模块: from screen import Screen [as 别名]
# 或者: from screen.Screen import run [as 别名]
def main():
    S = Screen(**getArgs())
    S.run()
开发者ID:ncanceill,项目名称:matrix-code-rain,代码行数:5,代码来源:matrix_code_rain.py


注:本文中的screen.Screen.run方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。