$pages = DataList::create('YourClassNameHere');
$pages = $pages->filterByCallback(function($page) { return $page->canView(); });
为什么这不起作用?在游戏中,一旦玩家得分达到目标得分(ex> 200),它应该将事实(例如SWAG')改变为它在'if'语句中所说的内容,但由于'fact ='它保持不变“””。
答案 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()