我用PyGame用Python编写的简单(谜题)游戏。
如何检查Python是处于图形模式还是控制台模式?防爆。 Ubuntu中的 ctrl + alt + f1 。在cli模式下,我的谜题崩溃了。如果我尝试在这种模式下显示图像和内容,那就非常糟糕了。以下代码无效:
try
pygame.init()
self.screen = pygame.display.set_mode((PICTURE_WIDTH,PICTURE_HEIGHT))
pygame.display.set_caption('ImagePuzzles')
self.screen.fill((255,255,255))
self.gameIsStarted = False
except:
print "Game only for graphics mode."
sys.exit()
答案 0 :(得分:2)
结帐环境变量
import os
os.environ['TERM'] #"linux" in console mode, "xterm" on graphic terminal
'DISPLAY'设置为图形模式,如果用户登录桌面(gnome,kde等),则设置'DESKTOP_SESSION'。
把它放在开头
import os,sys
try:
assert 'DISPLAY' in os.environ
except AssertionError:
sys.exit(1)
答案 1 :(得分:0)
在Linux和其他将X服务器用于图形环境的Unix(基本上所有这些)中,图形程序在DISPLAY环境变量指向的X显示中运行。在没有将DISPLAY环境变量设置为有效的X显示名称的情况下,在文本终端中启动图形程序通常被认为是用户错误。当您从图形环境内部启动程序时,默认情况下会设置此变量,您可以检查此变量。