2016-01-25 40 views
0
while not done: 
    baddieAddCounter = 0 
    baddies = [] 
    score += 1 
    fact = "" 

    #GIVES PLAYER A NEW FACT EVERYTIME THEY REACH THE TARGET SCORE 
    if score < 200: 
     fact == 'NOTHING' 

    elif score > 200 and score <= 599: 
     fact == 'SWAG' 

    elif score > 600 and score <= 799: 
     fact == 'brehh' 


    drawText('Score: %s' % (score), font, screen, 10, 0) 
    drawText('Fact: %s' % (fact), font, screen, 10, 40) 
    pygame.display.update() 

为什么这不起作用?在游戏中,一旦玩家得分达到目标得分(ex> 200),它应该将事实(例如SWAG')改变为它在'if'陈述中所说的事实,但由于'fact =“而保持不变, “”。Pygame评分问题

+1

它应该是'fact ='NOTHING'''不是'fact =='NOTHING''等 –

回答

2

您还没有分配给fact,你是比较它。我想,你希望是

if score < 200: 
     fact = 'NOTHING' 

elif score > 200 and score <= 599: 
    fact = 'SWAG' 

elif score > 600 and score <= 799: 
    fact = 'brehh' 

还要注意,在200分的玩家将获得一个空白的事实,作为第一个条件仅小于200,接下来只比200

更大
0

您代码没有设置fact当比分是200你必须检查score >= 200或使用

if score < 200: 
    fact == 'NOTHING' 

elif score <= 599: 
    fact == 'SWAG' 

elif score <= 799: 
    fact == 'brehh' 

BTW:你可以设置face=''while

fact = "" 

baddieAddCounter = 0 
baddies = [] 

while not done: 
    score += 1 

    if score < 200: 
     fact == 'NOTHING' 

    elif score <= 599: 
     fact == 'SWAG' 

    elif score <= 799: 
     fact == 'brehh' 

    drawText('Score: %s' % (score), font, screen, 10, 0) 
    drawText('Fact: %s' % (fact), font, screen, 10, 40) 
    pygame.display.update() 

编辑:

@Margius有权利。您可以使用==,但你需要=

fact = "" 

baddieAddCounter = 0 
baddies = [] 

while not done: 
    score += 1 

    if score < 200: 
     fact = 'NOTHING' 

    elif score <= 599: 
     fact = 'SWAG' 

    elif score <= 799: 
     fact = 'brehh' 

    drawText('Score: %s' % (score), font, screen, 10, 0) 
    drawText('Fact: %s' % (fact), font, screen, 10, 40) 
    pygame.display.update() 
+0

我必须说:直到@Margius显示这个为止我没注意'==' – furas