On 4 Jan 2013, at 19:20, Francesco Loffredo <f...@libero.it> wrote:

> Ciaran Mooney wrote:
>> Thanks for the feedback.
>> 
>> Steve, If I set the FPS to a default of say 30, the game seems to run at 
>> this default FPS=30 regardless of the key pressed in the function.
>> 
>> Dave, If I remove the the default value at the start of the function and add 
>> it to elif in the loop I get the following error:
>> 
>> 
>> Traceback (most recent call last):
>>   File "/Users/callanmooneys/Desktop/Pythoin Programmes/Aliens Game/dodger 
>> ver 3 instructons.py", line 139, in <module>
>>     FPS = difficultyLevel()
>>   File "/Users/callanmooneys/Desktop/Pythoin Programmes/Aliens Game/dodger 
>> ver 3 instructons.py", line 50, in difficultyLevel
>>     return FPS
>> UnboundLocalError: local variable 'FPS' referenced before assignment
>> 
>> 
>> I wondered if i could set FPS to nether a string or integer and just declare 
>> it by setting FPS=None but I get the following error:
>> 
>> Traceback (most recent call last):
>>   File "/Users/callanmooneys/Desktop/Pythoin Programmes/Aliens Game/dodger 
>> ver 3 instructons.py", line 301, in <module>
>>     mainClock.tick(FPS)
>> TypeError: a float is required
>> 
>> Cheers
>> Ciaran
> As far as I understood your problem, it seems that you need the difficulty 
> level to be changed at the player's will during the game. In this case, the 
> function gets called many times, maybe at every game loop. If this is true, 
> you need a global FPS value to be changed by the player's choice, not one 
> that you create inside the function.
> 
> Try this:
> 
> # put the line below out of the function definition and out of the game loop, 
> usually together with other default program settings
> FPS = 30  # you want the game to be beginner-friendly, don't you?
> 
> def difficultyLevel():
>    global FPS
>     windowSurface = pygame.display.set_mode((WINDOWWIDTH, 
> WINDOWHEIGHT),pygame.FULLSCREEN)
>     windowSurface.fill(BACKGROUNDCOLOUR)
>     drawText('LEVEL OF PLAY', font3, windowSurface, (WINDOWWIDTH/6), 
> (WINDOWHEIGHT/6)) 
>     drawText('B: Your an absoulute Begineer', font3, windowSurface, 
> (WINDOWWIDTH/6)-100, (WINDOWHEIGHT/6)+100)
>     drawText('M: Not Too Snazy', font3, windowSurface, (WINDOWWIDTH/6)-100, 
> (WINDOWHEIGHT/6)+150)
>     drawText('H: Deathwish' ,font3,windowSurface, (WINDOWWIDTH/6)-100, 
> (WINDOWHEIGHT/6)+200)
>     pygame.display.update()
> 
>     for event in pygame.event.get():
>         if event.type == QUIT:
>             terminate()
>                 
>         if event.type == KEYDOWN:
>             if event.key == ord('b'):
>                 FPS = 30
>             elif event.key == ord('m'):
>                 FPS = 70
>             elif event.key == ord('h'):
>                 FPS = 120
>     
>     return FPS
> 
> ... then let us know.
> Hope that  helps
> 
> Francesco


Thanks Francesco,
Ill give it a go and come back to u.

Ciaran
> _______________________________________________
> Tutor maillist  -  Tutor@python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to