[Tutor] This program has worked for me before.
Nathaniel Trujillo
hothottrott at gmail.com
Thu Feb 9 01:43:17 CET 2012
Hello, I stopped using python for about 4 months but now I am back. I tried
running my pizza_panic_game.py program again thinking nothing had changed
since a last ran it but boy was I wrong. Are we allowed to send the program
as an attachment? Here is the program
# Pizza Panic
# Player must catch falling pizzas before they hit the ground
from livewires import games, color
import random
games.init(screen_width = 640, screen_height = 480, fps =50)
class Pan(games.Sprite):
"""
A pan controlled by player to catch falling pizzas.
"""
image = games.load_image("pan.bmp")
def __init__(self):
""" Initializing Pan object and create Text object for score. """
super(Pan, self).__init__(image = Pan.image, x = games.mouse.x,
bottom = games.screen.height)
self.score = games.Text(value = 0, size = 25, color = color.black,
top = 5, right = games.screen.width - 10)
games.screen.add(self.score)
def update(self):
""" Move to mouse x position. """
self.x = games.mouse.x
if self.left < 0:
self.left = 0
if self.right > games.screen.width:
self.right = games.screen.width
self.check_catch()
def check_catch(self):
""" Check if catch pizzas. """
for pizza in self.overlapping_sprites:
self.score.value += 10
self.score.right = games.screen.width - 10
pizza.handle_caught()
class Pizza(games.Sprite):
"""
A pizza which falls to the ground.
"""
image = games.load_image("pizza.bmp")
speed = 1
def __init__(self, x, y = 90):
""" Initialize a Pizza object. """
super(Pizza, self).__init__(image = Pizza.image, x = x, y = y, dy =
Pizza.speed)
def update(self):
""" Check if bottom edge has reached screen bottom. """
if self.bottom > games.screen.height:
self.end_game()
self.destroy()
def handle_caught(self):
""" Destroy self if caught. """
self.destroy()
def end_game(self):
""" End the game. """
end_message = games.Message(value = "Game Over", size = 90, color =
color.red, x = games.screen.width/2, y = games.screen.height/2, lifetime =
5 * games.screen.fps, after_death = games.screen.quit)
games.screen.add(end_message)
class Chef(games.Sprite):
"""
A chef which moves left and right, dropping pizzas.
"""
image = games.load_image("chef.bmp")
def __init__(self, y = 55, speed = 2, odds_change = 200):
""" Initialize the Chef object. """
super(Chef, self).__init__(image = Chef.image, x =
games.screen.width / 2, y = y, dx = speed)
self.odds_change = odds_change
self.time_til_drop = 0
def update(self):
""" Determined if direction needs to be reversed. """
if self.left < 0 or self.right > games.screen.width:
self.dx = -self.dx
elif random.randrange(self.odds_change) == 0:
self.dx = -self.dx
self.check_drop()
def check_drop(self):
""" Decrease countdown or drop pizza and reset countdown. """
if self.time_til_drop > 0:
self.time_til_drop -= 1
else:
new_pizza = Pizza(x = self.x)
games.screen.add(new_pizza)
# set buffer to approx 30% of pizza height, regardless of pizza
speed
self.time_til_drop = int(new_pizza.height * 1.3 / Pizza.speed)
+ 1
def main():
""" Play the game. """
wall_image = games.load_image("wall.jpg", transparent = False)
games.screen.background = wall_image
the_chef = Chef()
games.screen.add(the_chef)
the_pan = Pan()
games.screen.add(the_pan)
games.mouse.is_visible = False
games.screen.event_grab = True
games.screen.mainloop()
# start it up!
main()
and it keeps giving me this error message which I then googled to no avail
Traceback (most recent call last):
File "C:\Python31\pizza_panic_game.py", line 4, in <module>
from livewires import games, color
File "C:\Python31\lib\site-packages\livewires\games.py", line 57, in
<module>
import pygame, pygame.image, pygame.mixer, pygame.font, pygame.transform
File "C:\Python31\lib\site-packages\pygame\__init__.py", line 95, in
<module>
from pygame.base import *
ImportError: DLL load failed: The specified module could not be found.
thanks for the help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120208/98428d14/attachment-0001.html>
More information about the Tutor
mailing list