enderX.py 文件源码

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

项目:enderX 作者: Pugduddly 项目源码 文件源码
def uhOhAnError(status):
    global threads
    if sounds:
        sounds['Indigo.wav'].play()
    for thread in threads:
        thread.stop()
    print "Uh-oh. An error occurred."
    Config = ConfigParser.ConfigParser()
    Config.read("enderX.ini")
    Assets = enderAPI.ConfigSectionMap(Config, "Assets")
    Textures = enderAPI.ConfigSectionMap(Config, "Textures")
    System = enderAPI.ConfigSectionMap(Config, "System")
    Fonts = enderAPI.ConfigSectionMap(Config, "Fonts")
    texturesFolder = os.path.join(Assets['assetsfolder'], Textures['texturesfolder'])
    try:
        SCREEN_WIDTH = int(System['screenwidth'])
        SCREEN_HEIGHT = int(System['screenheight'])
    except Exception:
        print "Error while getting screen width & height from config file. Reverting to 640x480"
        SCREEN_WIDTH, SCREEN_HEIGHT = 640, 480
    size = [SCREEN_WIDTH, SCREEN_HEIGHT]
    screen = pygame.display.set_mode(size)
    pygame.display.set_caption(" ")
    clockError = pygame.time.Clock()
    foobar = True
    fooBar = pygame.image.load(os.path.join(texturesFolder,'fatalerror.png'))
    screenCorners = [pygame.image.load(os.path.join(texturesFolder, 'menubar', 'cornerL_b.png')), pygame.image.load(os.path.join(texturesFolder, 'menubar', 'cornerR_b.png')), pygame.image.load(os.path.join(texturesFolder, 'menubar', 'cornerL_c.png')), pygame.image.load(os.path.join(texturesFolder, 'menubar', 'cornerR_c.png'))]
    #uptime = int(calendar.timegm(time.gmtime()))-int(psutil.boot_time())
    uptime = getUptime()
    errormsg = ["Fatal Error",""] + traceback.format_exc().splitlines() + ["", "System info:",
        "Python %d.%d.%d" % (sys.version_info[0], sys.version_info[1], sys.version_info[2]), "Pygame %s" % pygame.ver, "SDL %d.%d.%d" % pygame.get_sdl_version(), platform.platform(),
        "system: %s" % str(platform.system()), "node: %s" % str(platform.node()), "release: %s" % str(platform.release()), "version: %s" % str(platform.version()), "machine: %s" % str(platform.machine()),
        "processor: %s" % str(platform.processor()), "", "System uptime in seconds: %d" % uptime, "System status: %s" % status]
    font = pygame.font.Font(os.path.join(Assets['assetsfolder'], Fonts['fontsfolder'], '16', 'ScratchySans.ttf'), 16)
    while(foobar): # Keep window open
        events = pygame.event.get() # Get events
        for event in events:
            if event.type == pygame.QUIT: # Goodbye
                foobar = False
        screen.fill(BG_COLOR)
        screen.blit(fooBar, (SCREEN_WIDTH/2-64,SCREEN_HEIGHT/2-64))
        yPos = 0
        for msg in errormsg:
            screen.blit(font.render(msg, False, (255,255,255), (0,0,0)), (0,yPos))
            yPos+=font.size(msg)[1]
        screen.blit(screenCorners[0], (0,SCREEN_HEIGHT-5))
        screen.blit(screenCorners[1], (SCREEN_WIDTH-5,SCREEN_HEIGHT-5))
        screen.blit(screenCorners[2], (0,0))
        screen.blit(screenCorners[3], (SCREEN_WIDTH-5,0))
        clockError.tick(10)
        pygame.display.flip()
    pygame.quit()
    sys.exit()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号