<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>