如何让圆圈出现在pygame屏幕上

2024-06-16 10:06:14 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我的一小段程序。目前,该程序接受用户的输入,并在pythonshell中将其转换为二进制数。我正在尝试使用该输入,以便以图形方式显示二进制数。目前,我无法在pygame屏幕上显示任何内容。它只是白色的,没有圆圈,没有文字。我不知道为什么它不起作用。我的老师建议我把这段代码变成一个程序,看看我是否有任何运气,然后回到他那里。我希望有人能找出我的手术有什么问题,要么给我指出,要么纠正。任何帮助都将不胜感激。我很抱歉,如果我的格式问题是不是壮观,这是我的第一个职位。你知道吗


from pygame import*

font.init()  
comicFont=font.SysFont("ComicSansMS",12)
screen = display.set_mode((500,500))
binaryWord = str(100101)
binaryDigits = len(binaryWord)
binaryBlit = range(0,10)
binaryGraphicX = 0  
color = (0,0,0)
color2 = (125,125,125)
pos = (binaryGraphicX,200)
radius = 15
width = 0
while True:
    for binaryDigit in range (0,binaryDigits):
        TxtPic = []
        binaryGraphicX = binaryGraphicX + 25        
        if binaryWord[binaryDigit] == 1:
            running=True
            while running:
                for evnt in event.get():
                    if evnt.type==QUIT:
                        running = False
                event.get()
                draw.circle(screen,color,pos,radius)
                display.flip()
                TxtPic[binaryDigit]=comicFont.render(str(2**binaryBlit),True,(0,0,0))
                screen.blit(TxtPic[binaryDigit],(binaryGraphicX,220))
        elif binaryWord[binaryDigit] == 0:
            running=True
            while running:
                for evnt in event.get():
                    if evnt.type==QUIT:
                        running = False
                event.get()
            draw.circle(screen,color2,pos,radius)
            display.flip()
            TxtPic[binaryDigit]=comicFont.render(str(2**binaryBlit),True,(0,0,0))
            screen.blit(TxtPic[binaryDigit],(binaryGraphicX,220))
quit()

下面是我调用程序的地方

    running=True
    while running:
        for evnt in event.get():
            if evnt.type==QUIT:
                running = False
        event.get()

        screen.fill((255,255,255))
        TxtPic1=comicFont.render(str(solution),True,(255,255,255))
        screen.blit(TxtPic1,(200,200))
        binaryGraphics(binaryNumber)
        display.flip()
    display.quit()

Tags: eventtrueforgetdisplayscreenrunningwhile
1条回答
网友
1楼 · 发布于 2024-06-16 10:06:14

我仔细查看了您的代码,发现的第一个明显的问题是您在if语句中将字符/字符串与int进行比较。你知道吗

例如

字符串:

binaryWord = str(100101)

字符串到Int的比较:(将返回false和skip)

if binaryWord[binaryDigit] == 1:

请尝试以下操作:

if binaryWord[binaryDigit] == "1":

你的程序从来没有机会访问你的代码来画文本/圆圈。你知道吗

相关问题 更多 >