コード例 #1
0
ファイル: level17.py プロジェクト: torleif/Dystopian-Future
class Level(LevelBase):
    prevlevel = 0
    dialog = 0
    pdialog = 0
    timer = 0
    oldPos = (0, 0)
    dialog = 0
    btimer = 0

    def __init__(self, g, player_new, dimentions, p=0):
        LevelBase.__init__(self, g, player_new, dimentions)
        self.prevlevel = p
        self.title = "Jail"
        # current level
        TW, TH = 32, 32

        # load tile set
        g.tga_load_tiles(os.path.join("textures", "tiles5.png"), (TW, TH), self.tdata)
        g.tga_load_level(os.path.join("levels", "level17.tga"), 1)
        g.bounds = pygame.Rect(TW, TH, (len(g.tlayer[0]) - 2) * TW, (len(g.tlayer) - 2) * TH)
        g.code_events(self.edata)

        self.vats = Inventory(g, "clonevat")
        self.vats.pos((18, 13))
        g.run_codes(self.cdata, (0, 0, g.dimentions[0], g.dimentions[1]))

    # ugly, ugly monsters
    def add_monster(self, g, r, a):
        # e = Enemy(self.g, (r.rect.x, r.rect.y), 'monster1')
        e = Monster1(self.g, (r.rect.x, r.rect.y))

    # upon moving
    def playerMove(self, g, r, a):
        if self.prevlevel == 18:
            g.player.rect.x, g.player.rect.y = r.rect.x, r.rect.y
            g.view.x = r.rect.x
            g.view.y = r.rect.y

    # when you're over a change level tile
    def change_level(self, g, r, a):
        if a.__class__.__name__ != "Player":
            return
        if g.player.pos[0] == 38:
            g.currentLevel = 18

        if g.player.pos[0] == 1:
            g.currentLevel = 16

    # level events
    def level_loop(self):
        g = self.g
コード例 #2
0
ファイル: level28.py プロジェクト: torleif/Dystopian-Future
class Level(LevelBase):
    prevlevel = 0
    dialog = 0
    pdialog = 0
    timer = 0
    oldPos = (0, 0)
    dialog = 0
    btimer = 0
    lockedatmessage = 0
    inbattle = 0
    
    def __init__(self, g, player_new, dimentions, p = 0):
        LevelBase.__init__(self, g, player_new, dimentions)
        self.prevlevel = p
        self.title = 'Airport'
        # current level
        TW,TH = 32,32

        # load tile set
        g.tga_load_tiles(os.path.join("textures",  "tiles6.png"), (TW,TH), self.tdata)
        g.tga_load_level(os.path.join("levels",  "level28.tga"), 1)
        g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH)
        g.code_events(self.edata)

        self.vats = Inventory(g, 'plane')
        self.vats.pos((18, 9))

        g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1]))
        self.g.player.hidden = 0
        self.pan_camera(None)
        self.initBack('bg3.png', 190, 512)
        self.effect = GameEffect(g,'wind')
        pygame.mixer.music.load(os.path.join("ambient",  "amb15.ogg"))
        pygame.mixer.music.play(40000)
        
        self.fox = Character("fox.png","facefox.tga", g, 'fox')
        self.fox.pos((31, 15))
        self.fox.direction = 0
        self.fox.health = 40
        self.fox.healthmax = 40

        self.director = Character("director.png","facedirector.png", g, 'director')
        self.director.pos((36, 16))
        self.director.direction = 1
        
        if 'scene16' in g.saveData:
            self.fox.hidden = 1
        if 'scene17' in g.saveData:
            self.fox.feeling = 'dead'
            self.director.hidden = 1
        # plane is gone if you got imas backup tape
        if 'i_tape' in g.saveData:
            self.vats.removeself()
        self.invbox = 0


    # ugly, ugly monsters
    def add_monster (self,g,r,a):
        Monster5(self.g, (r.rect.x, r.rect.y))

    # upon moving
    def playerMove(self, g,r,a):
        print 'player move'
        if self.prevlevel == 29:
            g.player.rect.x,g.player.rect.y = r.rect.x,r.rect.y - 2
            g.view.x = r.rect.x
            g.view.y = r.rect.y


    # draw back of level
    def draw_back(self):
        test = self.draw_gradent((105,70,70), (0, 30, 255))
        self.g.screen.blit(test, (0,0))

    # when you're over a change level tile
    def change_level(self, g,r,a):
        if a.__class__.__name__ != 'Player':
            return
        if g.player.pos[0] == 64:
            g.currentLevel = 29
        if g.player.pos[0] == 1:
            g.currentLevel = 27
        print g.player.pos

    # level events
    def level_loop(self):
        g = self.g

        if self.g.player.pos[0] > 24:
            if not 'scene16' in g.saveData:
                g.intermission = 1
                self.pan_camera(self.fox)
                if self.dialog == 0:
                    self.dialog = 1

                if self.dialog != 0:
                    if g.keyup:
                        self.dialog += 1
                        self.contains_msg_box_counter = 0
                if self.dialog == 2:
                    g.intermission = 1
                    str = "The plane is ready. "
                    self.info_box(str,self.director)
                if self.dialog == 3:
                    str = "Him, again?"
                    self.fox.direction = 1
                    self.fox.feeling = 'sad'
                    self.info_box(str,self.director)
                if self.dialog == 4:
                    str = "You still havn't killed him?"
                    self.info_box(str,self.director)
                    self.fox.direction = 0
                if self.dialog == 5:
                    str = "This is your last chance. Finish him!"
                    self.info_box(str,self.director)
                    self.director.walkto((35, 16))
                if self.dialog == 6:
                    g.intermission = 0
                    g.saveData['scene16'] = 1
                    self.dialog = 0
                    self.fox.attacking = 3

        if self.director.hasWalkedTo((35,16)):
            self.director.hidden = 1
        if self.fox.attacking != 0 and self.fox.feeling != 'dead':
            self.fox.draw_health_meter()
            self.g.clayer[16][6] = 1
            self.g.tlayer[16][6] = 30
        else:
            if self.fox.health <= 0:
                self.fox.rect.y += 2 # gravity
            self.g.clayer[16][6] = 0
            self.g.tlayer[16][6] = 0
            if g.player.pos == (35, 16):
                if g.event:
                    g.currentLevel = 29

        # make the last health increase
        if self.fox.feeling == 'dead':
            if not 'scene17' in g.saveData:
                self.invbox = Inventory(g, 'healthincrease5', (self.fox.rect.x, self.fox.rect.y))
            g.saveData['scene17'] = 1
            if self.invbox:
                self.invbox.rect.y += 3



           
        if self.oldPos != g.player.pos:
            self.dialog = 0
            self.oldPos = g.player.pos
            self.timer = 0
コード例 #3
0
ファイル: level.py プロジェクト: torleif/Dystopian-Future
 def add_switch(self,g,r,a):
     switch = Inventory(self.g, 'switch')
     pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y))
     switch.pos(pos)
     self.switches.append(switch)
コード例 #4
0
ファイル: level.py プロジェクト: torleif/Dystopian-Future
 def add_spike(self,g,r,a):
     spike = Inventory(self.g, 'spike')
     pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y))
     spike.pos(pos)
コード例 #5
0
ファイル: level.py プロジェクト: torleif/Dystopian-Future
 def add_save_inventory (self,g,r,a):
     save = Inventory(self.g, 'save')
     pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y))
     save.pos(pos)
コード例 #6
0
ファイル: level.py プロジェクト: torleif/Dystopian-Future
 def add_shot3(self, g,r,a):
     shot4 = Inventory(self.g, 'shot4')
     pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y))
     shot4.pos(pos)
コード例 #7
0
ファイル: level.py プロジェクト: torleif/Dystopian-Future
 def add_water(self, g,r,a):
     sprinkler = Inventory(self.g, 'sprinkler')
     pos = g.screen_to_tile((r.rect.x + g.view.x, r.rect.y + g.view.y))
     sprinkler.pos(pos)
     self.sprinklers.append(sprinkler)
コード例 #8
0
ファイル: level2.py プロジェクト: torleif/Dystopian-Future
class Level(LevelBase):
    prevlevel = 0
    dialog = 0
    pdialog = 0
    timer = 10
    ticker = 0
    
    def __init__(self, g, player_new, dimentions, p = 0):
        LevelBase.__init__(self, g, player_new,dimentions)
        self.prevlevel = p
        self.title = 'Engineers Lab'

        # current level
        currentLevel = os.path.join("levels",  "level2.tga")

        TW,TH = 32,32

        # load tile set
        tileTexture = os.path.join("textures",  "tiles0.png")
        g.tga_load_tiles(tileTexture, (TW,TH), self.tdata)
        g.tga_load_level(currentLevel, 1)
        g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH)
        g.code_events(self.edata)

        self.microwave = Inventory(g, 'microwave')
        self.microwave.pos((6, 9))

        self.professor = Character("professor.png","faceprofessor.tga", g)
        self.professor.pos((6, 9))
        self.professor.direction = 0

        self.assistant = Character("assistant.png","faceassistant.png", g)
        self.assistant.pos((12, 9))
        self.assistant.direction = 1
        
        g.intermission = 1

        # already done the cut scene
        if 'scene1' in g.saveData:
            g.intermission = 0
            self.professor.pos((11, 9))
            self.dialog = 9
            self.g.sprites.remove(self.assistant)

        # if you've put the transmitter in
        if 'scene3' in g.saveData:
            self.assistant = Character("assistant.png","faceassistant.png", g)
            self.assistant.pos((13, 9))
            self.professor.pos((8, 9))
            self.assistant.direction = 1
            self.dialog = 10
            g.intermission = 1
        
        # already had the talk after putting in the transmitter
        if 'scene4' in g.saveData:
            self.dialog = 19
            g.intermission = 0
            self.g.sprites.remove(self.assistant)

        if 'scene5' in g.saveData:
            self.dialog = 20
            self.professor.pos((11,9))
            self.professor.faceup = 1

        g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1]))

    # upon moving
    def playerMove(self, g,r,a):
        if self.prevlevel == 3:
            g.player.rect.x = r.rect.x
            g.player.rect.y = r.rect.y
        if self.prevlevel == 5:
            # why do you eat so much chicken?
            pop = g.tile_to_screen((6,9))
            g.player.rect.x = pop[0]
            g.player.rect.y = pop[1]

    # when you're over a change level tile
    def change_level(self, g,r,a):
        if not g.event or a.__class__.__name__ != 'Player':
            return

        #back to castle st
        if g.player.pos == (1, 9):
            self.g.currentLevel = 1
        if g.player.pos == (13, 9):
            self.g.currentLevel = 3

        # The door is open
        if 'scene4' in g.saveData:
            if g.player.pos == (7, 9):
                g.currentLevel = 5


    # draw back of level
    def draw_back(self):
        test = self.draw_gradent((18,20,34), (0, 0, 0))
        self.g.screen.blit(test, (0,0))

        # blinking machines
        if self.ticker % 7 == 0:
            w,h = self.g.dimentions[0], self.g.dimentions[1]
            for y in range(0,h):
                for x in range(0,w):
                    if self.g.tlayer[y][x] == 47:
                        self.g.tlayer[y][x] = 63
                    elif self.g.tlayer[y][x] == 63:
                        self.g.tlayer[y][x] = 47


        # open the door
        if 'scene4' in self.g.saveData:
            w,h = self.g.dimentions[0], self.g.dimentions[1]
            for y in range(0,h):
                for x in range(0,w):
                    if self.g.tlayer[y][x] == 1:
                        self.g.tlayer[y][x] = 55



    # level events
    def level_loop(self):
        g = self.g
        # if the key is up
        if g.keyup and self.timer > 30 and self.dialog != 9 and self.dialog != 19 and self.dialog != 20:
            self.dialog += 1
            self.timer = 0
            self.contains_msg_box_counter = 0

        # dialog bs
        if self.dialog == 0:
            self.professor.faceup = 1
        elif self.dialog == 1:
            self.professor.faceup = 0
            str = "I've completed the testing of the microwave transmitter."
            str += "\nI'll put the cover on it and it will be fixed."
            self.info_box(str, self.professor)
        elif self.dialog == 2 :
            self.professor.walkto((11, 9))
            if self.professor.hasWalkedTo((11, 9)):
                self.professor.faceup = 1
                str = "I don't know how I'll manage to fix it again; "
                str += "\nThe solder is rusted and the components have decayed. If"
                str += "\nthey want us to do it again they'll need to supply us correctly."
                self.info_box(str, self.professor)
        elif self.dialog == 3:
            self.professor.faceup = 0
            str = "Hehe!"
            str += "\nThere's a visitor in the door"
            self.info_box(str, self.assistant)
        elif self.dialog == 4:
            str = "A visitor?"
            self.professor.direction = 1
            self.info_box(str, self.professor)
        elif self.dialog == 5:
            self.professor.walkto((3, 9))
            self.assistant.walkto((4, 9))
            if self.professor.hasWalkedTo((3, 9)):
                str = "You're a face I haven't seen before..."
                self.info_box(str, self.professor)
        elif self.dialog == 6:
            str = "The ID sown to your speed suit is GARD01 2454"
            self.info_box(str, self.professor)
        elif self.dialog == 7:
            self.professor.direction = 0
            str = "You wouldn't happen to know where this man came from,"
            str += "\ndo you, Ima?"
            str += "\n"
            self.info_box(str, self.professor)
        elif self.dialog == 8:
            self.professor.direction = 1
            str = "Well I'm sure you wouldn't helping her take the microwave "
            str += "\ntransmitter to the clock tower and install it. It shouldn't"
            str += "\ntake long."
            self.info_box(str, self.professor)
        elif self.dialog == 9:
            # enable walking
            g.intermission = 0

            # professor goes back to working
            self.professor.direction = 0
            self.professor.walkto((11, 9))

            if self.professor.hasWalkedTo((11, 9)):
                self.professor.faceup = 1

            if self.assistant in self.g.sprites:
                g.following = self.assistant
            g.saveData['scene1'] = 1
            
            # asking the professor what to do
            if g.player.pos == (11,9) and g.event:
                self.pdialog = 1
            if self.pdialog == 1:
                str = "You can get to the tower using the door to my right."
                str += "\nMake sure to take the transmitter!"
                self.info_box(str, self.professor)
        elif self.dialog == 10:
            self.assistant.walkto((11, 9))
            self.professor.walkto((10, 9))
            g.player.direction = 1
            if self.assistant.hasWalkedTo((11, 9)):
                self.professor.faceup = 0
                str = "Back already?"
                self.info_box(str, self.professor)
        elif self.dialog == 11:
            str = "Good work. This means we can go home for the day."
            self.info_box(str, self.professor)
        elif self.dialog == 12:
            self.assistant.walkto((10, 9))
            self.professor.walkto((11, 9))
            if self.professor.hasWalkedTo((11, 9)):
                self.assistant.direction = 0
                str = "What about you?"
                self.info_box(str, self.professor)
        elif self.dialog == 13:
            str = "The last thing you remember is getting paid for a medical trail?"
            str += "\nAh yes. To be an undergraduate again..."
            str += "\nWonderful times!"
            self.info_box(str, self.professor)
        elif self.dialog == 14:
            str = "Ima:"
            str += "\nEngineer?"
            self.info_box(str, self.assistant)
        elif self.dialog == 15:
            str = "Engineer:"
            self.professor.direction = 1
            str += "\nI'd imagine you have the responsibility of caring for your"
            str += "\nnew friend."
            self.info_box(str, self.professor)
        elif self.dialog == 16:
            self.professor.direction = 0
            str = "Engineer:"
            str += "\nTake this, you can use it to protect yourself."
            str += "\nI made it myself."
            self.info_box(str, self.professor)
        elif self.dialog == 17:
            str = "\nReceived the Crux!"
            g.saveData['weapon'] = 1
            g.saveData['displayhealth'] = 1
            self.info_box(str)
        elif self.dialog == 18:
            str = "Engineer:"
            str += "\nI'll open the door."
            self.info_box(str, self.professor)
            self.assistant.direction = 1
        elif self.dialog == 19:
            g.intermission = 0
            g.saveData['scene4'] = 1
            self.professor.walkto((11, 9))
            # walk the assistant to the door and remove her.
            if self.assistant in self.g.sprites:
                self.assistant.walkto((7, 9))
                if self.assistant.hasWalkedTo((7, 9)):
                    self.g.sprites.remove(self.assistant)

            # a small message to the player about the monsters outside
            if g.player.pos == (11,9) and g.event:
                self.pdialog = 1
            if self.pdialog == 1:
                str = "Engineer:"
                str += "\nThe weapon works by locating erroneous DNA left by"
                str += "\nmodified creatures, and storing it for reproduction."
                self.info_box(str, self.professor)
        elif self.dialog == 20: # if you've killed the fox, and Ima's been kidnapped
            if g.player.pos == (11,9) and g.event:
                g.intermission = 1
                self.dialog = 21
                self.timer = 0
        elif self.dialog == 21: # if you've killed the fox, and Ima's been kidnapped
            str = "Engineer:"
            str += "\nWhat? Ima's been kidnapped?! By a giant pumpkin?"
            self.professor.walkto((12,9))
            self.professor.direction = 1
            self.info_box(str, self.professor)
            self.professor.faceup = 0
            g.player.direction = 0
        elif self.dialog == 22:
            str = "Engineer:"
            str += "\nI know who he is. His name is Fox. "
            self.info_box(str, self.professor)
        elif self.dialog == 23:
            str = "Engineer:"
            str += "\nHe was made by terrorists, but found work with the "
            str += "\nNews Corperation."
            self.info_box(str, self.professor)
        elif self.dialog == 24:
            str = "Engineer:"
            str += "\n...The world has changed since you were last awake. A long time "
            str += "\nago terrorists got their hands on genetic manipulation equipment."
            self.info_box(str, self.professor)
        elif self.dialog == 25:
            str = "Engineer:"
            str += "\nAcross the globe people were attacked with cheap explosives,"
            str += "\npoisons and modified creatures."
            self.info_box(str, self.professor)
        elif self.dialog == 26:
            str = "Engineer:"
            str += "\nPeople found refuge underground. The only people on top"
            str += "\nare maintainers to their system they live in."
            self.info_box(str, self.professor)
        elif self.dialog == 27:
            str = "Engineer:"
            str += "\nLaw does not permit us to copy people, and Ima copied you. "
            str += "\nSo News Corp. must have sent someone take her..."
            self.info_box(str, self.professor)
        elif self.dialog == 28:
            str = "Engineer:"
            str += "\nYou'll have to go and get her. They probably just want"
            str += "\nto set an example anyway."
            self.info_box(str, self.professor)
        elif self.dialog == 29:
            str = "Engineer:"
            str += "\nGet to the Octagon were their office is and take her back."
            self.info_box(str, self.professor)
        elif self.dialog == 30:
            g.intermission = 0
            g.saveData['scene6'] = 1




        self.timer += 1
        self.ticker += 1
        # remmber last pos so I can remove old dialoge boxes
        if self.oldPos != g.player.pos:
            self.pdialog = 0
        self.oldPos = g.player.pos
コード例 #9
0
ファイル: level14.py プロジェクト: torleif/Dystopian-Future
class Level(LevelBase):
    prevlevel = 0
    dialog = 0
    pdialog = 0
    timer = 0
    oldPos = (0, 0)
    dialog = 0
    btimer = 0
    fillingwithwater = 0
    
    def __init__(self, g, player_new, dimentions, p = 0):
        LevelBase.__init__(self, g, player_new, dimentions)
        self.prevlevel = p
        self.title = 'Jail'

        # current level
        TW,TH = 32,32

        # load tile set
        tileTexture = os.path.join("textures",  "tiles5.png")
        g.tga_load_tiles(tileTexture, (TW,TH), self.tdata)
        currentLevel = os.path.join("levels",  "level14.tga")
        g.tga_load_level(currentLevel, 1)
        g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH)
        g.code_events(self.edata)

        self.robot = Character("robot0.png","facerobot.tga", g,'robot')
        self.robot.pos((13, 20))
        self.robot.direction = 0
        
        #(2, 3) 'i_arms' in g.saveData
        self.arms = Inventory(g, 'arms')
        self.arms.pos((2,3))

        # if you've given her arms
        if 'scene7' in g.saveData:
            self.dialog = 6
            self.robot.feeling = 'arms'

        # if you read the newspaper, she fights you to get to the top
        self.newspaper = 0
        if 'scene17' in g.saveData:
            self.newspaper = Inventory(g, "newspaper")
            self.newspaper.pos((6, 20))

        if 'scene19' in g.saveData:
            self.robot.feeling = 'dead'
            self.robot.hidden = 1

        g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1]))

    # upon moving
    def playerMove(self, g,r,a):
        if self.prevlevel == 15:
            g.player.rect.x,g.player.rect.y = r.rect.x,r.rect.y
            g.view.x = r.rect.x
            g.view.y = r.rect.y

    # when you're over a change level tile
    def change_level(self, g,r,a):
        if a.__class__.__name__ != 'Player':
            return
        if g.player.pos[0] == 38:
            g.currentLevel = 15

    # level events
    def level_loop(self):
        g = self.g

        if 'scene7' in g.saveData:
            self.g.clayer[4][18] = 0
            self.g.tlayer[4][18] = 1
        else:
            self.g.clayer[4][18] = 1
            self.g.tlayer[4][18] = 25

        # player position
        if g.player.pos == (13, 20) and not 'scene18' in g.saveData:
            if g.event:
                self.pdialog = 1
                if 'i_arms' in g.saveData:
                    self.pdialog = 2
            if self.pdialog == 0:
                if not 'scene7' in g.saveData:
                    self.robot.feeling = 'blink'
            if self.pdialog == 1:
                self.dialog = 0
                self.robot.feeling = ''
                str = "Hello! Welcome to the Octagon Correctional Facility."
                str += "\nYou must be a visitor, as you weren't tagged when you arrived."
                str += "\nI'd love to help you, but I've misplaced my arms."
                self.info_box(str, self.robot)
            elif self.pdialog == 2:
                if g.keyup and self.timer > 30:
                    self.dialog += 1
                    self.timer = 0
                    self.contains_msg_box_counter = 0
                if 'scene7' in g.saveData and self.dialog == 1:
                    self.dialog = 6 # if you already got the item
                if self.dialog == 1:
                    self.robot.feeling = 'happy'
                    str = "Ah! you found some arms!"
                    g.intermission = 1
                    g.player.staylooking = 1
                    self.info_box(str, self.robot)
                elif self.dialog == 2:
                    self.robot.feeling = 'arms'
                    str = "Thank you"
                    g.saveData['i_arms'] = 0
                    g.player.staylooking = 1
                    self.info_box(str, self.robot)
                elif self.dialog == 3:
                    self.robot.feeling = 'arms'
                    str = "Ima? Yes a girl was automatically transferred to a holding cell "
                    str += "\nacross to the jail. She's been stored in a cell across the complex. "
                    self.info_box(str, self.robot)
                    g.player.staylooking = 1
                elif self.dialog == 4:
                    str = "I'll open the door for you so you can get out."
                    self.info_box(str, self.robot)
                    g.player.staylooking = 1
                elif self.dialog == 5:
                    g.saveData['scene7'] = 1
                    g.player.staylooking = 0
                    g.intermission = 0
                    self.dialog = 7
                elif self.dialog == 6:
                    self.robot.feeling = 'arms'
                    str = "Your friend was automatically transferred to a holding cell."
                    self.info_box(str, self.robot)

        if 'scene17' in g.saveData:
            if not 'scene18' in g.saveData:
                if self.newspaper and self.newspaper.gotten:
                    if g.intermission == 0:
                        self.timer = 0
                    str = "What are you doing? Don't touch that!"
                    self.info_box(str, self.robot)
                    g.intermission = 1
                    g.player.direction = 0
                    if g.keyup and self.timer > 30:
                        g.saveData['scene18'] = 1
                        g.intermission = 0
                        self.robot.attacking = 1

        if self.robot.attacking != 0 and self.robot.feeling != 'dead':
            self.robot.draw_health_meter()
            self.g.clayer[17][18] = 1
            self.g.tlayer[17][18] = 11
        else:
            self.g.clayer[17][18] = 0
            self.g.tlayer[17][18] = 10

        if self.robot.feeling == 'dead':
            if not 'scene19' in g.saveData:
                Inventory(self.g, 'drawingwater', (192, 536 - 64))
                Inventory(self.g, 'waterfall', (15 * 32, 16 * 32))
                g.shake_screen()
                g.player.maxspeed = 3
                g.player.jump_gravity = 7
                self.fillingwithwater = 1
            g.saveData['scene19'] = 1

        # filling the level with water
        if (self.fillingwithwater != 0):
            self.fillingwithwater += 1
            self.g.clayer[17][18] = 1
            self.g.tlayer[17][18] = 11
            

            if self.fillingwithwater > 450 and self.fillingwithwater < 550:
                self.info_box("\nYou can't hold your breath for much longer.")

            if self.fillingwithwater > 750 and self.fillingwithwater < 850:
                self.info_box("\nYou are feeling lightheaded")


            # fade to black when dead
            fadouttime = 1000
            if self.fillingwithwater > fadouttime and self.fillingwithwater < fadouttime+64:
                g.intermission = 1
                self.g.player.animation = 1
                self.g.player.dieanimation = 1
                alpha = 255 - (self.fillingwithwater - fadouttime) * 4
                self.g.screen.fill((alpha,alpha,alpha), None, BLEND_MULT)
            if self.fillingwithwater >= fadouttime+64:
                self.g.screen.fill((0,0,0))
                self.g.player.animation = 0
                self.g.player.dieanimation = 0
            if self.fillingwithwater > 1100:
                g.currentLevel = 13




        #(15, 16) test


        # if you're moving
        if self.oldPos != g.player.pos:
            self.pdialog = 0
            self.dialog = 0
        self.oldPos = g.player.pos
        self.timer += 1

        
コード例 #10
0
ファイル: level19.py プロジェクト: torleif/Dystopian-Future
class Level(LevelBase):
    prevlevel = 0
    dialog = 0
    pdialog = 0
    timer = 0
    oldPos = (0, 0)
    dialog = 0
    btimer = 0
    
    def __init__(self, g, player_new, dimentions, p = 0):
        LevelBase.__init__(self, g, player_new, dimentions)
        self.prevlevel = p
        self.title = 'Jail'
        # current level
        TW,TH = 32,32

        # load tile set
        g.tga_load_tiles(os.path.join("textures",  "tiles5.png"), (TW,TH), self.tdata)
        g.tga_load_level(os.path.join("levels",  "level19.tga"), 1)
        g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH)
        g.code_events(self.edata)

        # and an odd object called flutter box. flutter shutter (37, 13) 
        self.terrorist = Character("terrorist.png","faceterrorist.tga", g)
        self.terrorist.pos((3, 20))
        self.terrorist.direction = 0
        self.terrorist.faceup = 1

        self.flutterbox = Inventory(g, 'flutterbox')
        self.flutterbox.pos((37, 13))
        self.flutterswitch = Inventory(g, 'flutterswitch')
        self.flutterswitch.pos((37, 20))

        g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1]))

    # ugly, ugly monsters
    def add_monster (self,g,r,a):
        print 'add_monster ',r.rect
        e = Monster1(self.g, (r.rect.x, r.rect.y))

    # upon moving
    def playerMove(self, g,r,a):
        if self.prevlevel == 20:
            g.player.rect.x,g.player.rect.y = r.rect.x,r.rect.y
            g.view.x = r.rect.x
            g.view.y = r.rect.y

    # when you're over a change level tile
    def change_level(self, g,r,a):
        if a.__class__.__name__ != 'Player':
            return
        if g.player.pos[1] == 1:
            g.currentLevel = 18

        if g.player.pos == (39, 27) or g.player.pos == (39, 28):
            g.currentLevel = 20

    # level events
    def level_loop(self):
        g = self.g



        # 16, 13
        if self.switches[0].open:
           self.g.clayer[13][16] = 0
           self.g.tlayer[13][16] = 2
        else:
           self.g.clayer[13][16] = 1
           self.g.tlayer[13][16] = 25

        #(26, 13)
        if self.switches[1].open:
           self.g.clayer[13][26] = 0
           self.g.tlayer[13][26] = 2
        else:
           self.g.clayer[13][26] = 1
           self.g.tlayer[13][26] = 25

        # opened up the flutter box (13, 20)
        if 'scene10' in g.saveData:
           self.g.clayer[20][11] = 0
           self.g.tlayer[20][11] = 2
        else:
           self.g.clayer[20][11] = 1
           self.g.tlayer[20][11] = 25

        # door to leave (38, 27)
        if 'scene11' in g.saveData:
           self.g.clayer[27][38] = 0
           self.g.tlayer[27][38] = 2
        else:
           self.g.clayer[27][38] = 1
           self.g.tlayer[27][38] = 25
        

        if g.player.pos == (37, 20):
            if 'i_flutterbox' in g.saveData:
                if g.event:
                    self.pdialog = 1
                    g.saveData['scene10'] = 1
                if self.pdialog == 1:
                    str = "\nPlaced the flutter box inside the holder"
                    self.info_box(str)
                    
        # talking to the terrorist
        if g.player.pos == (3, 20):
            if g.keyup and self.timer > 30:
                if self.pdialog > 0:
                    self.pdialog += 1
                    self.timer = 0
                    self.contains_msg_box_counter = 0
            if g.event and self.pdialog < 2:
                self.pdialog = 1
            if self.pdialog == 2:
                g.intermission = 1
                str = "Ah?"
                str += "\nYou interrupted me!"
                self.info_box(str, self.terrorist)
                self.terrorist.walkto((4, 20))
                self.terrorist.direction = 1
                self.terrorist.faceup = 0
                g.player.direction = 0
            elif self.pdialog == 3:
                str = "What do you want, baldy?"
                self.info_box(str, self.terrorist)
            elif self.pdialog == 4:
                str = "Ah, you must be the one who was sent down here. I guess the robot "
                str += "\ndidn't think you'd live past the Monotane. "
                str += "\nShe didn't think much of me either. "
                self.info_box(str, self.terrorist)
            elif self.pdialog == 5:
                str = "Most people don't think much of my group."
                self.info_box(str, self.terrorist)
            elif self.pdialog == 6:
                str = "They called us terrorists, after they ruined the economy. They "
                str += "\nlobbied our leaders against the people, and when the people turned "
                str += "\nto crime to put food on their table they put them in prison."
                self.info_box(str, self.terrorist)
            elif self.pdialog == 7:
                str = "We found salvation. A company called News Corp financed us "
                str += "\nso we could fight back. "
                self.info_box(str, self.terrorist)
            elif self.pdialog == 8:
                str = "The government stepped in and sold the people  "
                str += "\nEntertainment Devices that protected them completely.  "
                str += "\nThose blue things behind me, there are people in them.  "
                self.info_box(str, self.terrorist)
            elif self.pdialog == 9:
                str = "I've hacked the Entertainment network. The girl you're looking for "
                str += "\nwas inserted into the system, but got rejected due to an  "
                str += "\nincompatible brain. She's going to be flown out of the city soon. "
                self.info_box(str, self.terrorist)
            elif self.pdialog == 10:
                str = "Take my card with my location. The airport is down to the right; "
                str += "\nif you ever want to  continue the fight against the power,"
                str += "\nyou know where to find me.  "
                self.info_box(str, self.terrorist)
            elif self.pdialog == 11:
                str = "\nReceived the location card!"
                self.info_box(str)
                g.saveData['i_locationcard'] = 1
            elif self.pdialog == 12:
                g.intermission = 0
                g.saveData['scene11'] = 1



        self.timer += 1
        if self.oldPos != g.player.pos:
            self.pdialog = 0
            self.oldPos = g.player.pos
コード例 #11
0
ファイル: level31.py プロジェクト: torleif/Dystopian-Future
class Level(LevelBase):
    prevlevel = 0
    dialog = 0
    pdialog = 0
    timer = 0
    oldPos = (0, 0)
    dialog = 0
    btimer = 0
    lockedatmessage = 0
    inbattle = 0
    
    def __init__(self, g, player_new, dimentions, p = 0):
        LevelBase.__init__(self, g, player_new, dimentions)
        self.prevlevel = p
        self.title = 'Office Complex Top'
        # current level
        TW,TH = 32,32

        # load tile set
        g.tga_load_tiles(os.path.join("textures",  "tiles6.png"), (TW,TH), self.tdata)
        g.tga_load_level(os.path.join("levels",  "level31.tga"), 1)
        g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH)
        g.code_events(self.edata)
        self.initBack('bg1.png', 730)

        self.backuptape = Inventory(g, 'tape', (37, 22))
        self.backuptape.pos((37, 22))
        self.backup = Character('backup.png', 'facebackup.png', g, 'backup')
        self.backup.pos((28, 25))
        self.backup.direction = 0
        if 'scene21' in g.saveData:
            self.backup.hidden = 1
        # coming back and saying high to the guy.
        if 'scene20' in g.saveData and not 'scene21' in g.saveData:
            del g.saveData['scene20']

        g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1]))
        self.coins = 0


    # upon moving
    def playerMove(self, g,r,a):
        print 'player move'

    # draw back of level
    def draw_back(self):
        test = self.draw_gradent((105,70,70), (0, 30, 255))
        self.g.screen.blit(test, (0,0))

    # when you're over a change level tile
    def change_level(self, g,r,a):
        if a.__class__.__name__ != 'Player':
            return
        print g.player.pos
        if g.player.pos[0] == 1:
            g.currentLevel = 30

    # level events
    def level_loop(self):
        g = self.g



        # Some hints as to the past
        if g.player.pos == (28, 25) and not 'scene20' in g.saveData:
            if self.pdialog != 0:
                if g.keyup:
                    self.contains_msg_box_counter = 0
                    self.pdialog += 1
            if g.event and self.pdialog == 0:
                self.backup.face_the_player()
                g.intermission = 1
                self.pdialog = 1
                self.backup.walkto((29, 25))
                self.backup.direction = 1
                g.player.direction = 0

            if self.pdialog == 2:
                str = "Hello"
                self.info_box(str, self.backup)
            elif self.pdialog == 3:
                str = "You don't know me..."
                str += "\nbut I know you, ha. Haha!"
                self.info_box(str, self.backup)
            elif self.pdialog == 4:
                str = "Who knows if I'm myself, when I am who what's on a tape? "
                str += "\nSeveral times I've been built because of a timer."
                str += "\nWhat happened in between these gaps is anyone's guess."
                self.info_box(str, self.backup)
            elif self.pdialog == 5:
                str = "You came to tell me what you're doing."
                str += "\nBut I already know!"
                self.info_box(str, self.backup)
            elif self.pdialog == 6:
                str = "See, you can't have her tape."
                str += "\nI need it. For the future, you see."
                self.info_box(str, self.backup)
            elif self.pdialog == 7:
                str = "The insult 'tool' never really fits to most situations."
                str += "\nBut now it's apt!"
                self.info_box(str, self.backup)
            elif self.pdialog == 8:
                str = "...sudo apt!"
                self.info_box(str, self.backup)
            elif self.pdialog == 9:
                str = "..."
                self.info_box(str, self.backup)
            elif self.pdialog == 10:
                str = "Now you die!"
                self.info_box(str, self.backup)
            elif self.pdialog == 11:
                g.saveData['scene20'] = 1
                self.backup.attacking = 1
                self.backup.dy = -10.0
                self.pdialog = 20
                self.backup.walkto(None)
        else:
            g.intermission = 0

        if 'scene20' in g.saveData:
            if not 'scene21' in g.saveData:
                self.backup.draw_health_meter()

        if self.backup.health <= 0:
            if not 'scene21' in g.saveData:
                g.saveData['scene21'] = 1
                self.backup.attacking = 0
                self.backup.dead = 1
                self.coins = Inventory(g, 'coin', (self.backup.rect.x, self.backup.rect.y) )

        if self.coins:
            self.coins.rect.y += 5
            self.backup.rect.y += 5


        if self.oldPos != g.player.pos:
            self.pdialog = 0
        self.oldPos = g.player.pos


        
コード例 #12
0
ファイル: level21.py プロジェクト: torleif/Dystopian-Future
class Level(LevelBase):
    prevlevel = 0
    dialog = 0
    pdialog = 0
    timer = 0
    oldPos = (0, 0)
    dialog = 0
    btimer = 0
    
    def __init__(self, g, player_new, dimentions, p = 0):
        LevelBase.__init__(self, g, player_new, dimentions)
        self.prevlevel = p
        self.title = 'Elevator'
        # current level
        TW,TH = 32,32

        # load tile set
        g.tga_load_tiles(os.path.join("textures",  "tiles5.png"), (TW,TH), self.tdata)
        g.tga_load_level(os.path.join("levels",  "level21.tga"), 1)
        g.bounds = pygame.Rect(TW,TH,(len(g.tlayer[0])-2)*TW,(len(g.tlayer)-2)*TH)
        g.code_events(self.edata)

        #see two dead fish. Symbolisim
        self.vats = Inventory(g, 'fish0')
        self.vats.pos((19, 19))
        self.vats = Inventory(g, 'fish1')
        self.vats.pos((28, 19))

        g.run_codes(self.cdata,(0,0,g.dimentions[0],g.dimentions[1]))
        self.initBack('bg2.png', 680)
        self.g.player.hidden = 0

    # ugly, ugly monsters
    def add_monster (self,g,r,a):
        #e = Enemy(self.g, (r.rect.x, r.rect.y), 'monster0')
        Monster0(self.g, (r.rect.x, r.rect.y))

    # upon moving
    def playerMove(self, g,r,a):
        if self.prevlevel == 22:
            g.player.rect.x,g.player.rect.y = r.rect.x,r.rect.y
            g.view.x = r.rect.x
            g.view.y = r.rect.y

    # draw back of level 242422
    def draw_back(self):
        test = self.draw_gradent((0,0,0), (24, 24, 22))
        self.g.screen.blit(test, (0,0))

    # when you're over a change level tile
    def change_level(self, g,r,a):
        if a.__class__.__name__ != 'Player':
            return
        print g.player.pos
        if g.player.pos[0] == 38:
            g.currentLevel = 22

    # level events
    def level_loop(self):
        g = self.g
        if g.player.pos == (6, 27):
            if g.event:
                g.currentLevel = 20


        #message at (33, 27)
        if g.player.pos == (33, 27):
            if g.event:
                self.pdialog = 2
            if self.pdialog == 2:
                str = "Casting two fish,"
                str = "\nA man you shall meet you bearing a pitcher of water."
                self.info_box(str)

        self.timer += 1
        if self.oldPos != g.player.pos:
            self.pdialog = 0
            self.oldPos = g.player.pos