On 21/12/12 07:40, Ciaran Mooney wrote:
def difficultyLevel(): FPS = ''
Here you set the variable FPS to the empty string.
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
These three options set FPS to an integer value. But notice that if the user does not press one of the b m or h keys, FPS never gets changed so it still has the initial value of the empty string.
return FPS The function is then called and FPS converted too a integer value in the main game loop as follows:
FPS = int(difficultyLevel())
However I keep getting the following error: ValueError: invalid literal for int() with base 10: ''
There are three possible values that difficultyLevel() may return: * if the user hits the 'h' key, it returns the integer value 120; * if the user hits the 'm' key, it returns the integer value 70; * if the user hits the 'b' key, it returns the integer value 30; * otherwise, it returns the empty string. Three of the four values are already ints and don't need to be converted; the fourth cannot be converted because it is not a numeric string. To fix this, change the line FPS = '' to a default integer value, say, FPS = 30. -- Steven _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor