Pygame得分问题

时间:2016-01-25 00:57:47

标签: python python-2.7 pygame

$pages = DataList::create('YourClassNameHere');
$pages = $pages->filterByCallback(function($page) { return $page->canView(); });

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

2 个答案:

答案 0 :(得分: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个以上。

答案 1 :(得分:0)

当得分为200时,您的代码不会设置fact。您必须检查score >= 200或使用

if score < 200:
   fact == 'NOTHING'

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

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

顺便说一句:您可以在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()