<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal><b>First and foremost, here is the code:<o:p></o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>"""<o:p></o:p></p><p class=MsoNormal>Player Car<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>"""<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>import pygame, random<o:p></o:p></p><p class=MsoNormal>pygame.init()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>screen = pygame.display.set_mode((640, 480))<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>class RedCar(pygame.sprite.Sprite):<o:p></o:p></p><p class=MsoNormal> def __init__(self):<o:p></o:p></p><p class=MsoNormal> pygame.sprite.Sprite.__init__(self)<o:p></o:p></p><p class=MsoNormal> self.image = pygame.image.load("red.png")<o:p></o:p></p><p class=MsoNormal> self.image = pygame.transform.scale(self.image,(50,75))<o:p></o:p></p><p class=MsoNormal> self.rect = self.image.get_rect()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> if not pygame.mixer:<o:p></o:p></p><p class=MsoNormal> print("problem with sound")<o:p></o:p></p><p class=MsoNormal> else:<o:p></o:p></p><p class=MsoNormal> pygame.mixer.init()<o:p></o:p></p><p class=MsoNormal> self.sndYay = pygame.mixer.Sound("yay.ogg")<o:p></o:p></p><p class=MsoNormal> self.sndThunder = pygame.mixer.Sound("thunder.ogg")<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def update(self):<o:p></o:p></p><p class=MsoNormal> mousex, mousey = pygame.mouse.get_pos()<o:p></o:p></p><p class=MsoNormal> self.rect.center = (mousex, 430)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>class GasCan(pygame.sprite.Sprite):<o:p></o:p></p><p class=MsoNormal> def __init__(self):<o:p></o:p></p><p class=MsoNormal> pygame.sprite.Sprite.__init__(self)<o:p></o:p></p><p class=MsoNormal> self.image = pygame.image.load("gas.png")<o:p></o:p></p><p class=MsoNormal> self.image = pygame.transform.scale(self.image,(50, 50))<o:p></o:p></p><p class=MsoNormal> self.image = self.image.convert_alpha()<o:p></o:p></p><p class=MsoNormal> self.rect = self.image.get_rect()<o:p></o:p></p><p class=MsoNormal> self.reset()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> self.dy = 5<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def update(self):<o:p></o:p></p><p class=MsoNormal> self.rect.centery += self.dy<o:p></o:p></p><p class=MsoNormal> if self.rect.top > screen.get_height():<o:p></o:p></p><p class=MsoNormal> self.reset()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def reset(self):<o:p></o:p></p><p class=MsoNormal> self.rect.top = 0<o:p></o:p></p><p class=MsoNormal> self.rect.centerx = random.randrange(0, screen.get_width())<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>class YellowCar(pygame.sprite.Sprite):<o:p></o:p></p><p class=MsoNormal> def __init__(self):<o:p></o:p></p><p class=MsoNormal> pygame.sprite.Sprite.__init__(self)<o:p></o:p></p><p class=MsoNormal> self.image = pygame.image.load("yellow.png")<o:p></o:p></p><p class=MsoNormal> self.image = pygame.transform.scale(self.image,(50, 75))<o:p></o:p></p><p class=MsoNormal> self.rect = self.image.get_rect()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def update(self):<o:p></o:p></p><p class=MsoNormal> self.rect.centery += self.dy<o:p></o:p></p><p class=MsoNormal> #self.rect.centery += random.randrange(5, 20)<o:p></o:p></p><p class=MsoNormal> if self.rect.top > screen.get_height():<o:p></o:p></p><p class=MsoNormal> self.reset()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def reset(self):<o:p></o:p></p><p class=MsoNormal> self.rect.bottom = 0<o:p></o:p></p><p class=MsoNormal> self.rect.centerx = random.randrange(190, screen.get_width())<o:p></o:p></p><p class=MsoNormal> self.dy = random.randrange(10, 30)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>class Bush(pygame.sprite.Sprite):<o:p></o:p></p><p class=MsoNormal> def __init__(self):<o:p></o:p></p><p class=MsoNormal> pygame.sprite.Sprite.__init__(self)<o:p></o:p></p><p class=MsoNormal> self.image = pygame.image.load("bush.png")<o:p></o:p></p><p class=MsoNormal> self.image = pygame.transform.scale(self.image,(50, 50))<o:p></o:p></p><p class=MsoNormal> self.rect = self.image.get_rect()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def update(self):<o:p></o:p></p><p class=MsoNormal> self.rect.centery += 10<o:p></o:p></p><p class=MsoNormal> if self.rect.top > screen.get_height():<o:p></o:p></p><p class=MsoNormal> self.reset()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def reset(self):<o:p></o:p></p><p class=MsoNormal> self.rect.bottom = 0<o:p></o:p></p><p class=MsoNormal> self.rect.centerx = random.randrange(0, 150)<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>class Road(pygame.sprite.Sprite):<o:p></o:p></p><p class=MsoNormal> def __init__(self):<o:p></o:p></p><p class=MsoNormal> pygame.sprite.Sprite.__init__(self)<o:p></o:p></p><p class=MsoNormal> self.image = pygame.image.load("road.png")<o:p></o:p></p><p class=MsoNormal> #self.image = pygame.transform.scale(self.image,(640, 480))<o:p></o:p></p><p class=MsoNormal> self.rect = self.image.get_rect()<o:p></o:p></p><p class=MsoNormal> self.dy = 10<o:p></o:p></p><p class=MsoNormal> self.reset()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def update(self):<o:p></o:p></p><p class=MsoNormal> self.rect.bottom += self.dy<o:p></o:p></p><p class=MsoNormal> if self.rect.top >= 0:<o:p></o:p></p><p class=MsoNormal> self.reset()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def reset(self):<o:p></o:p></p><p class=MsoNormal> self.rect.bottom = screen.get_height()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>class Scoreboard(pygame.sprite.Sprite):<o:p></o:p></p><p class=MsoNormal> def __init__(self):<o:p></o:p></p><p class=MsoNormal> pygame.sprite.Sprite.__init__(self)<o:p></o:p></p><p class=MsoNormal> self.lives = 11<o:p></o:p></p><p class=MsoNormal> self.score = 0<o:p></o:p></p><p class=MsoNormal> self.level = 0<o:p></o:p></p><p class=MsoNormal> self.font = pygame.font.SysFont("None", 50)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> def update(self):<o:p></o:p></p><p class=MsoNormal> self.text = "Car: %d, score: %d, level: %d" % (self.lives, self.score, self.level)<o:p></o:p></p><p class=MsoNormal> self.image = self.font.render(self.text, 1, (255, 255, 0))<o:p></o:p></p><p class=MsoNormal> self.rect = self.image.get_rect()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>def Game():<o:p></o:p></p><p class=MsoNormal> pygame.display.set_caption("Car")<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> background = pygame.Surface(screen.get_size())<o:p></o:p></p><p class=MsoNormal> background.fill((0, 0, 0))<o:p></o:p></p><p class=MsoNormal> screen.blit(background, (0, 0))<o:p></o:p></p><p class=MsoNormal> redCar = RedCar()<o:p></o:p></p><p class=MsoNormal> gas = GasCan()<o:p></o:p></p><p class=MsoNormal> yellowCar1 = YellowCar()<o:p></o:p></p><p class=MsoNormal> yellowCar2 = YellowCar()<o:p></o:p></p><p class=MsoNormal> yellowCar3 = YellowCar()<o:p></o:p></p><p class=MsoNormal> yellowCar4 = YellowCar()<o:p></o:p></p><p class=MsoNormal> yellowCar5 = YellowCar()<o:p></o:p></p><p class=MsoNormal> bush1 = Bush()<o:p></o:p></p><p class=MsoNormal> bush2 = Bush()<o:p></o:p></p><p class=MsoNormal> bush3 = Bush()<o:p></o:p></p><p class=MsoNormal> road = Road()<o:p></o:p></p><p class=MsoNormal> scoreboard = Scoreboard()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> goodSprites = pygame.sprite.Group(gas, road, redCar)<o:p></o:p></p><p class=MsoNormal> scoreSprite = pygame.sprite.Group(scoreboard)<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> clock = pygame.time.Clock()<o:p></o:p></p><p class=MsoNormal> keepGoing = True<o:p></o:p></p><p class=MsoNormal> while keepGoing:<o:p></o:p></p><p class=MsoNormal> clock.tick(30)<o:p></o:p></p><p class=MsoNormal> pygame.mouse.set_visible(False)<o:p></o:p></p><p class=MsoNormal> for event in pygame.event.get():<o:p></o:p></p><p class=MsoNormal> if event.type == pygame.QUIT:<o:p></o:p></p><p class=MsoNormal> keepGoing = False<o:p></o:p></p><p class=MsoNormal> if scoreboard.score < 500:<o:p></o:p></p><p class=MsoNormal> badSprites = pygame.sprite.Group(yellowCar1, yellowCar2, yellowCar3, bush1)<o:p></o:p></p><p class=MsoNormal> scoreboard.level = 1<o:p></o:p></p><p class=MsoNormal> elif scoreboard.score < 1000:<o:p></o:p></p><p class=MsoNormal> badSprites = pygame.sprite.Group(yellowCar1, yellowCar2, yellowCar3, yellowCar4, bush1, bush2)<o:p></o:p></p><p class=MsoNormal> scoreboard.level = 2<o:p></o:p></p><p class=MsoNormal> elif scoreboard.score < 1500:<o:p></o:p></p><p class=MsoNormal> badSprites = pygame.sprite.Group(yellowCar1, yellowCar2, yellowCar3, yellowCar4, yellowCar5, bush1, bush2, bush3)<o:p></o:p></p><p class=MsoNormal> scoreboard.level = 3<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> if redCar.rect.colliderect(gas.rect):<o:p></o:p></p><p class=MsoNormal> redCar.sndYay.play()<o:p></o:p></p><p class=MsoNormal> gas.reset()<o:p></o:p></p><p class=MsoNormal> scoreboard.score += 100<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> if scoreboard.score % 5 == 0:<o:p></o:p></p><p class=MsoNormal> scoreboard.lives + 1<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> hitCar = pygame.sprite.spritecollide(redCar, badSprites, False)<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> if hitCar:<o:p></o:p></p><p class=MsoNormal> redCar.sndThunder.play()<o:p></o:p></p><p class=MsoNormal> scoreboard.lives -= 1<o:p></o:p></p><p class=MsoNormal> if scoreboard.lives <= 0:<o:p></o:p></p><p class=MsoNormal> keepGoing = False<o:p></o:p></p><p class=MsoNormal> for theCar in hitCar:<o:p></o:p></p><p class=MsoNormal> theCar.reset()<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> # allSprites.clear(screen, background)<o:p></o:p></p><p class=MsoNormal> goodSprites.update()<o:p></o:p></p><p class=MsoNormal> badSprites.update()<o:p></o:p></p><p class=MsoNormal> scoreSprite.update()<o:p></o:p></p><p class=MsoNormal> goodSprites.draw(screen)<o:p></o:p></p><p class=MsoNormal> badSprites.draw(screen)<o:p></o:p></p><p class=MsoNormal> scoreSprite.draw(screen)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> pygame.display.flip()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> pygame.mouse.set_visible(True)<o:p></o:p></p><p class=MsoNormal> return scoreboard.score<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>def instructions(score):<o:p></o:p></p><p class=MsoNormal> redCar = RedCar()<o:p></o:p></p><p class=MsoNormal> road = Road()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> allSprites = pygame.sprite.Group(road, redCar)<o:p></o:p></p><p class=MsoNormal> insFont = pygame.font.SysFont(None, 50)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> instructions = (<o:p></o:p></p><p class=MsoNormal> "Car Survival. Last score: %d" % score ,<o:p></o:p></p><p class=MsoNormal> "Instructions: Drive your car,",<o:p></o:p></p><p class=MsoNormal> "and avoid cars and bushes.",<o:p></o:p></p><p class=MsoNormal> "",<o:p></o:p></p><p class=MsoNormal> "Gain points by driving over the gas cans.",<o:p></o:p></p><p class=MsoNormal> "",<o:p></o:p></p><p class=MsoNormal> "good luck!",<o:p></o:p></p><p class=MsoNormal> "",<o:p></o:p></p><p class=MsoNormal> "click to start, escape to quit..."<o:p></o:p></p><p class=MsoNormal> )<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> insLabels = []<o:p></o:p></p><p class=MsoNormal> # Create a rendered list of instructions, ready for display<o:p></o:p></p><p class=MsoNormal> for line in instructions:<o:p></o:p></p><p class=MsoNormal> tempLabel = insFont.render(line, 1, (255, 255, 0))<o:p></o:p></p><p class=MsoNormal> insLabels.append(tempLabel)<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> keepGoing = True<o:p></o:p></p><p class=MsoNormal> clock = pygame.time.Clock()<o:p></o:p></p><p class=MsoNormal> pygame.mouse.set_visible(False)<o:p></o:p></p><p class=MsoNormal> while keepGoing:<o:p></o:p></p><p class=MsoNormal> clock.tick(30)<o:p></o:p></p><p class=MsoNormal> for event in pygame.event.get():<o:p></o:p></p><p class=MsoNormal> if event.type == pygame.QUIT:<o:p></o:p></p><p class=MsoNormal> keepGoing = False<o:p></o:p></p><p class=MsoNormal> donePlaying = True<o:p></o:p></p><p class=MsoNormal> # Check for a mouse click<o:p></o:p></p><p class=MsoNormal> if event.type == pygame.MOUSEBUTTONDOWN:<o:p></o:p></p><p class=MsoNormal> keepGoing = False<o:p></o:p></p><p class=MsoNormal> donePlaying = False<o:p></o:p></p><p class=MsoNormal> # .... or a quit<o:p></o:p></p><p class=MsoNormal> elif event.type == pygame.KEYDOWN:<o:p></o:p></p><p class=MsoNormal> if event.key == pygame.K_ESCAPE:<o:p></o:p></p><p class=MsoNormal> keepGoing = False<o:p></o:p></p><p class=MsoNormal> donePlaying = True<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> allSprites.update()<o:p></o:p></p><p class=MsoNormal> allSprites.draw(screen)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> # Display the instructions<o:p></o:p></p><p class=MsoNormal> for i in range(len(insLabels)):<o:p></o:p></p><p class=MsoNormal> screen.blit(insLabels[i], (50, 30*i))<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> pygame.display.flip()<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> pygame.mouse.set_visible(True)<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> return donePlaying<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>def main():<o:p></o:p></p><p class=MsoNormal> donePlaying = False<o:p></o:p></p><p class=MsoNormal> score = 0<o:p></o:p></p><p class=MsoNormal> while not donePlaying:<o:p></o:p></p><p class=MsoNormal> donePlaying = instructions(score)<o:p></o:p></p><p class=MsoNormal> if not donePlaying:<o:p></o:p></p><p class=MsoNormal> score = Game()<o:p></o:p></p><p class=MsoNormal> pygame.quit()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>if __name__ == "__main__":<o:p></o:p></p><p class=MsoNormal> main()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>Now for some reason, it is saying that YellowCar doesn’t have a dy variable, when it clearly does. This only happens when it is going from level 1 to level 2, I don’t know what happens after level 2 because the program keeps giving me the error. Any help would be appreciated.<o:p></o:p></b></p><p class=MsoNormal><b><o:p> </o:p></b></p><p class=MsoNormal><b>P.S. I am new to the python language and this is my first game.<o:p></o:p></b></p></div></body></html>