示例#1
0
 def __init__(self):
     self.time = 0.0
     self.color = pygame.color.Color("black")
     self.selectedColor = pygame.color.Color("black")
     Globals.SCREEN.fill(pygame.color.Color("black"))
     self.selectionID = 0
     ImageManager.unloadAll()
     ImageManager.loadSet("Astoria")
     ImageManager.loadSet("debug")
     AudioManager.loadSfxSet("menu")
     AudioManager.loadSfxSet("game")
     if AudioManager.loadedMusic != "title" or\
             not pygame.mixer.music.get_busy():
         AudioManager.loadMusic("title")
         pygame.mixer.music.play(-1)
     Globals.LASTSCREENMAIN = True
     self.astoriaToggleTime = 0.0
     self.astoriaToggleTimeInterval = 2
     self.astoriaOpacity = 0
     temp = ImageManager.levelRes["Astoria"]["Astoria1.png"]
     temp2 = ImageManager.levelRes["Astoria"]["Astoria2.png"]
     width = 500
     height = 200
     ImageManager.levelRes["Astoria"]["Astoria1.png"] =\
         pygame.transform.scale(temp, (width, height))
     ImageManager.levelRes["Astoria"]["Astoria2.png"] =\
         pygame.transform.scale(temp2, (width, height))
 def __init__(self):
     self.time = 0.0
     self.color = pygame.color.Color("white")
     AudioManager.loadSfxSet("title")
     ImageManager.loadSet("cutscene")
     self.temp = ImageManager.levelRes["cutscene"]["YOUWIN.png"]
     self.state = 0
     self.sceneTime = 0.0
示例#3
0
 def __init__(self, level):
     ImageManager.loadSet(level)
     if "Layer0.png" in ImageManager.levelRes[level]:
         self.bg0 = ImageManager.levelRes[level]["Layer0.png"]
     if "Layer1.png" in ImageManager.levelRes[level]:
         self.bg1 = ImageManager.levelRes[level]["Layer1.png"]
     if "Layer2.png" in ImageManager.levelRes[level]:
         self.bg2 = ImageManager.levelRes[level]["Layer2.png"]
     if "Layer3.png" in ImageManager.levelRes[level]:
         self.bg3 = ImageManager.levelRes[level]["Layer3.png"]
示例#4
0
 def __init__(self):
     self.time = 0.0
     self.color = pygame.color.Color("black")
     self.selectedColor = pygame.color.Color("black")
     Globals.SCREEN.fill(pygame.color.Color("black"))
     #self.selectionID = 0
     self.currentLevel()
     AudioManager.loadSfxSet("menu")
     ImageManager.loadSet("map")
     self.temp =\
         ImageManager.levelRes["map"]["Astoria_Map_Grass_aftersnowboss.png"]
     ImageManager.levelRes["map"]["Astoria_Map_Grass_aftersnowboss.png"] =\
         pygame.transform.scale(self.temp, (800, 600))
 def __init__(self):
     self.time = 0.0
     self.color = pygame.color.Color("white")
     Globals.SCREEN.fill(pygame.color.Color("black"))
     self.text = ""
     self.width, self.height = Globals.FONT.size(self.text)
     AudioManager.loadSfxSet("title")
     if AudioManager.loadedMusic != "title" or\
             not pygame.mixer.music.get_busy():
         AudioManager.loadMusic("title")
         pygame.mixer.music.play(-1)
     ImageManager.loadSet("cutscene")
     self.temp = ImageManager.levelRes["cutscene"]["CutSceneSnowboss.png"]
     ImageManager.levelRes["cutscene"]["CutSceneSnowboss.png"] =\
         pygame.transform.scale(self.temp, (800, 600))
示例#6
0
 def __init__(self):
     self.time = 0.0
     self.color = pygame.color.Color("black")
     Globals.SCREEN.fill(pygame.color.Color("black"))
     self.text = "Noel's Journey ... "
     self.width, self.height = Globals.FONT.size(self.text)
     AudioManager.loadSfxSet("title")
     if AudioManager.loadedMusic != "title" or\
             not pygame.mixer.music.get_busy():
         AudioManager.loadMusic("title")
         pygame.mixer.music.play(-1)
     ImageManager.loadSet("title")
     self.temp = ImageManager.levelRes["title"]["Title_Screen.png"]
     ImageManager.levelRes["title"]["Title_Screen.png"] =\
         pygame.transform.scale(self.temp, (1000, 600))
示例#7
0
 def __init__(self):
     self.time = 0.0
     self.color = pygame.color.Color("black")
     Globals.SCREEN.fill(pygame.color.Color("black"))
     self.temp = pygame.Surface((1, 1))
     self.text = "Gyration Games"
     self.width, self.height = Globals.FONT.size(self.text)
     self.FADEIN = True
     self.GGames = True
     self.soundPlaying = False
     AudioManager.loadSfxSet("title")
     ImageManager.loadSet("map")
     self.temp2 =\
         ImageManager.levelRes["map"]["Astoria_Map_Grass_aftersnowboss.png"]
     ImageManager.levelRes["map"]["Astoria_Map_Grass_aftersnowboss.png"] =\
         pygame.transform.scale(self.temp2, (800, 600))
 def __init__(self):
     self.time = 0.0
     self.red = pygame.color.Color("red")
     self.yellow = pygame.color.Color("yellow")
     self.blue = pygame.color.Color("blue")
     self.white = pygame.color.Color("white")
     self.color = pygame.color.Color("black")
     self.selectedColor = pygame.color.Color("black")
     Globals.SCREEN.fill(pygame.color.Color("black"))
     self.selectionID = 0
     self.astoriaToggleTime = 0.0
     self.astoriaToggleTimeInterval = 2
     self.astoriaOpacity = 0
     self.skills = [
         Globals.SKILL_JUMP, Globals.SKILL_DAMAGE, Globals.SKILL_MAX_HEALTH]
     self.colorWheel = [self.blue, self.yellow, self.red]
     ImageManager.loadSet("effects")
     self.sunImage = ImageManager.levelRes["effects"]["sun.png"]
     ImageManager.levelRes["effects"]["sun.png"] =\
         pygame.transform.scale(self.sunImage, (50, 50))
     ImageManager.loadSet("player")
     self.playerWalk = ImageManager.levelRes["player"]["Noelwalk.png"]
     ImageManager.levelRes["player"]["Noelwalk.png"] =\
         pygame.transform.scale(self.playerWalk, (50, 75))
     self.playerJump = ImageManager.levelRes["player"]["noel_jump.png"]
     ImageManager.levelRes["player"]["noel_jump.png"] =\
         pygame.transform.scale(self.playerJump, (50, 75))
     self.attack = ImageManager.levelRes["player"]["NoelWithZord.png"]
     ImageManager.levelRes["player"]["NoelWithZord.png"] =\
         pygame.transform.scale(self.attack, (50, 75))
     self.arrow = ImageManager.levelRes["player"]["BowArrow.png"]
     ImageManager.levelRes["player"]["BowArrow.png"] =\
         pygame.transform.scale(self.arrow, (200, 150))
     self.zord = ImageManager.levelRes["player"]["zord.png"]
     ImageManager.levelRes["player"]["zord.png"] =\
         pygame.transform.scale(self.arrow, (50, 50))
示例#9
0
def makeMonsterSpawner(x, y, mType, level):
    spawner = Entity.Entity()
    spawner.posx = x
    spawner.posy = y
    spawner.rect = pygame.Rect(x, y, 1, 1)
    if level == "one":
        if mType == 0:
            spawner.componentList.append(CSpawnMushroom.CSpawnMushroom(1))
        elif mType == 1:
            spawner.componentList.append(CSpawnBird.CSpawnBird(1))
    elif level == "two":
        if mType == 0:
            spawner.componentList.append(CSpawnVulture.CSpawnVulture(1))
        elif mType == 1:
            spawner.componentList.append(CSpawnRabbit.CSpawnRabbit(1))
    elif level == "three":
        if mType == 0:
            spawner.componentList.append(CSpawnBat.CSpawnBat(1))
        elif mType == 1:
            spawner.componentList.append(CSpawnStalactite.CSpawnStalactite(1))
        elif mType == 2:
            spawner.componentList.append(CSpawnSlime.CSpawnSlime(1))
    elif level == "four":
        if mType == 0:
            spawner.componentList.append(CSpawnOwl.CSpawnOwl(1))
        elif mType == 1:
            spawner.componentList.append(CSpawnIcicle.CSpawnIcicle(1))
        elif mType == 2:
            spawner.componentList.append(CSpawnPenguin.CSpawnPenguin(1))
    elif level == "five":
        if mType == 0:
            ImageManager.loadSet("boss")
            spawner.componentList.append(CSpawnSnowboss.CSpawnSnowboss())
            spawner.initialize()
    if len(spawner.componentList) > 0:
        groups["spawners"].add(spawner)
示例#10
0
    def __init__(self):
        ImageManager.loadSet("player")
        ImageManager.loadSet("effects")
        ImageManager.loadSet(Globals.CURRENT_LEVEL)

        if len(World.groups["HUD"].sprites()) == 0:
            healthHud = Entity.Entity()
            healthHud.componentList.append(CHUDHealth.CHUDHealth())
            World.groups["HUD"].add(healthHud)

            #manaHud = Entity.Entity()
            #manaHud.componentList.append(CHUDMana.CHUDMana())
            #World.groups["HUD"].add(manaHud)

            healthText = Entity.Entity()
            healthText.componentList.append(CHUDHealthText.CHUDHealthText())
            World.groups["HUDText"].add(healthText)

            #manaText = Entity.Entity()
            #manaText.componentList.append(CHUDManaText.CHUDManaText())
            #World.groups["HUDText"].add(manaText)

            scoreText = Entity.Entity()
            scoreText.componentList.append(CHUDScoreText.CHUDScoreText())
            World.groups["HUDText"].add(scoreText)

            sunText = Entity.Entity()
            sunText.componentList.append(CHUDSunText.CHUDSunText())
            World.groups["HUDText"].add(sunText)

            if Globals.CURRENT_LEVEL == "five":
                bossHUD = Entity.Entity()
                bossHUD.componentList.append(CHUDBoss.CHUDBoss())
                World.groups["HUD"].add(bossHUD)

        if Globals.PLAYER is None:
            World.loadMap(Globals.CURRENT_LEVEL)
            World.loadBG(Globals.CURRENT_LEVEL)
            World.initialize()

            entity = Entity.Entity()
            entity.componentList.append(CAnimation.CAnimation(
                ImageManager.levelRes["player"]["Noel_SpriteSheet.png"],
                6, 6, 0, 0.17))
            entity.componentList.append(CPhysics.CPhysics())
            entity.componentList.append(CBasicControl.CBasicControl())
            entity.componentList.append(CCollision.CCollision())
            entity.componentList.append(CView.CView())
            entity.componentList.append(
                CLiving.CLiving(Globals.PLAYER_MAX_HEALTH))
            entity.componentList.append(CDamage.CDamage(Globals.PLAYER_DAMAGE))
            entity.componentList.append(CPlayer.CPlayer())
            entity.componentList.append(CDeathParticle.CDeathParticle(
                ImageManager.levelRes["player"]["Noel_Dead.png"],
                3,
                (0, -20),
                0,
                pygame.BLEND_ADD))
            World.groups["player"].add(entity)
            entity.initialize()
            entity.state = 1
            Globals.PLAYER = entity
            Globals.WIN = False
            Globals.TIME = 120

            zord = Entity.Entity()
            zord.componentList.append(CAnimation.CAnimation(
                ImageManager.levelRes["player"]["Zord_Spritesheet.png"],
                6, 6, 0, 0))
            zord.componentList.append(CPhysics.CPhysics())
            zord.accy = 0
            zord.componentList.append(CAttach.CAttach(entity, 53))
            World.groups["equipment"].add(zord)
            zord.initialize()

            if not Globals.CHECKPOINT_SET or Globals.CURRENT_LEVEL == "five":
                Globals.PLAYER.posx = World.playerPos[0]
                Globals.PLAYER.posy = World.playerPos[1]
            else:
                Globals.PLAYER.posx = float(Globals.getCheckpointPos()[0])
                Globals.PLAYER.posy = float(Globals.getCheckpointPos()[1])

        self.timer = 1.0
        self.bossWinTimer = 4.0

        if AudioManager.loadedMusic != Globals.CURRENT_LEVEL or\
                not pygame.mixer.music.get_busy():
            AudioManager.loadMusic(Globals.CURRENT_LEVEL)
            if AudioManager.loadedMusic == Globals.CURRENT_LEVEL:
                pygame.mixer.music.play(-1)
                if Globals.CURRENT_LEVEL == "five":
                    pygame.mixer.music.set_volume(0.1)

        if not Globals.CURRENT_LEVEL == "five":
            self.sunArray = []
            for sun in Globals.SUN_TRACKER[Globals.CURRENT_LEVEL]:
                self.sunArray.append(sun)
示例#11
0
def loadMap(cLevel):
    Globals.initSunTracker()

    global key
    global tiles
    global tileSize
    global playerPos
    global tileBuckets
    global world_width

    mapFile = "img/" + cLevel + "/map"
    keyFile = "img/" + cLevel + "/key"

    groups["tiles"].empty()
    groups["tilesObs"].empty()
    groups["spawners"].empty()

    lresources = []
    for resource in ImageManager.levelRes:
        lresources.append(resource)
    for resource in lresources:
        if resource == "one" or resource == "two" or\
                resource == "three" or resource == "four":
            ImageManager.unloadSet(resource)

    ImageManager.loadSet(cLevel)

    key = []
    tiles = {}
    tileSize = 0
    k = open(keyFile)
    y = 0
    x = 0
    for line in k:
        if y == 0:
            iString = ""
            for c in line:
                if c != '\n':
                    iString = iString + c
            tileSize = int(iString)
        else:
            key.append(line)
            temp = 0
            for c in line:
                temp += 1
            if temp > x:
                x = temp
        y += 1
    k.close()

    tileSheet = ImageManager.levelRes[cLevel]["tiles.png"]
    for j in range(y - 1):
        for i in range(x - 1):
            tiles[(i, j)] = tileSheet.subsurface(
                pygame.Rect(i * tileSize, j * tileSize, tileSize, tileSize))

    f = open(mapFile)

    y = 0
    sunID = 0
    for line in f:
        x = 0
        for c in line:
            if c == 'p':
                playerPos = (x * tileSize, y * tileSize)
            elif c == '*':
                Globals.WIN_POS = x * tileSize
            elif c == '-':  # monster 0
                makeMonsterSpawner(x * tileSize, y * tileSize, 0, cLevel)
            elif c == '_':  # monster 1
                makeMonsterSpawner(x * tileSize, y * tileSize, 1, cLevel)
            elif c == '=':  # monster 2
                makeMonsterSpawner(x * tileSize, y * tileSize, 2, cLevel)
            elif c == '+':  # monster 3
                makeMonsterSpawner(x * tileSize, y * tileSize, 3, cLevel)
            elif c == '~':  # sun
                if Globals.SUN_TRACKER[Globals.CURRENT_LEVEL][sunID]:
                    sun = Entity.Entity()
                    sun.componentList.append(CSun.CSun())
                    sun.image = ImageManager.levelRes["effects"]["sun.png"]
                    sun.rect = sun.image.get_rect()
                    sun.rect.x = x * tileSize
                    sun.rect.y = y * tileSize
                    sun.posx = sun.rect.x
                    sun.posy = sun.rect.y
                    groups["enemies"].add(sun)
                    Globals.sunPos()[(sun.rect.x, sun.rect.y)] = sunID
                sunID += 1
            elif c != '\n' and c != ' ':
                block = Entity.Entity()
                block.image = tiles[findKeyPos(c)]
                block.rect = block.image.get_rect()
                block.rect.left = x * tileSize
                block.rect.top = y * tileSize
                if (c >= 'A' and c <= 'Z') or\
                        (c >= '0' and c <= '9'):
                    groups["tilesObs"].add(block)
                else:
                    groups["tiles"].add(block)
            x += 1
        y += 1
    Globals.BOTTOM = y * tileSize
#    block = Entity.Entity()
#    block.image = pygame.Surface((30, 600))
#    block.rect = pygame.Rect((-30, 600, 30, 600))
#    groups["tilesObs"].add(block)

#    entityBuckets = []
    tileBuckets = []
    xmax = (x) * tileSize + cell_size
    ymax = (y) * tileSize + cell_size
    world_width = xmax
    for y in range(ymax / cell_size):
        for x in range(xmax / cell_size):
            tileBuckets.append(Bucket.Bucket(x * cell_size, y * cell_size))
#            entityBuckets.append(Bucket.Bucket(x * cell_size, y * cell_size))

    for tE in groups["tilesObs"]:
        tileBuckets[hashpos(tE.rect.x, tE.rect.y)].add(tE)
        tileBuckets[hashpos(tE.rect.x + tE.rect.width, tE.rect.y)].add(tE)
        tileBuckets[hashpos(tE.rect.x, tE.rect.y + tE.rect.height)].add(tE)
        tileBuckets[hashpos(
            tE.rect.x + tE.rect.width, tE.rect.y + tE.rect.height)].add(tE)