예제 #1
0
 def broken(self):
     for feeler in self.feelers:
         feeler.remove()
     for feelerShot in self.feelerShots:
         feelerShot.remove()
     for cell in self.bossCells:
         if cell.removeFlag == False:
             cell.remove()
     self.remove()
     enemy.removeEnemyShot()
     ObjMgr.objs.append(
         boss.BossExplosion(gcommon.getCenterX(self),
                            gcommon.getCenterY(self),
                            gcommon.C_LAYER_EXP_SKY))
     GameSession.addScore(self.score)
     BGM.sound(gcommon.SOUND_LARGE_EXP)
     enemy.Splash.append(gcommon.getCenterX(self), gcommon.getCenterY(self),
                         gcommon.C_LAYER_EXP_SKY)
     if self.isBossRush:
         gcommon.debugPrint("Boss2 call NextEvent")
         if self.timerObj != None:
             self.timerObj.stop()
             self.timerObj = None
         ObjMgr.objs.append(enemy.NextEvent([0, None, 240]))
     else:
         ObjMgr.objs.append(enemy.Delay(enemy.StageClear, None, 240))
예제 #2
0
 def broken(self):
     gcommon.breakObjects(self.bat1List)
     gcommon.breakObjects(self.worm4List)
     self.setState(100)
     self.shotHitCheck = False
     self.hitCheck = False
     enemy.removeEnemyShot()
     GameSession.addScore(self.score)
     BGM.sound(gcommon.SOUND_LARGE_EXP)
     enemy.Splash.append(self.x + 59, self.y + 64, gcommon.C_LAYER_EXP_SKY)
     ObjMgr.objs.append(enemy.Delay(enemy.StageClear, None, 200))
예제 #3
0
 def checkMyShipCollision(self):
     if gcommon.check_collision(self, ObjMgr.myShip):
         self.hitCheck = False
         if self.state == 0:
             # しばらくすると当たり判定
             self.setState(1)
         else:
             self.setState(3)
             BGM.sound(gcommon.SOUND_ITEM_GET, gcommon.SOUND_CH2)
             if self.hide:
                 GameSession.addScore(1000)
             else:
                 GameSession.addScore(500)
     return False
예제 #4
0
 def broken(self):
     self.remove()
     enemy.removeEnemyShot()
     ObjMgr.objs.append(boss.BossExplosion(gcommon.getCenterX(self), gcommon.getCenterY(self), gcommon.C_LAYER_EXP_SKY))
     GameSession.addScore(self.score)
     BGM.sound(gcommon.SOUND_LARGE_EXP)
     enemy.Splash.append(gcommon.getCenterX(self), gcommon.getCenterY(self), gcommon.C_LAYER_EXP_SKY)
     if self.isBossRush:
         if self.timerObj != None:
             self.timerObj.stop()
             self.timerObj = None
         ObjMgr.objs.append(enemy.NextEvent([0, None, 120]))
     else:
         ObjMgr.objs.append(enemy.Delay(enemy.StageClear, None, 240))
예제 #5
0
 def broken(self):
     self.mode = 2
     self.setState(0)
     self.hitCheck = False
     self.shotHitCheck = False
     self.removeAllShot()
     enemy.removeEnemyShot()
     BGM.sound(gcommon.SOUND_LARGE_EXP)
     enemy.Splash.append(gcommon.getCenterX(self), gcommon.getCenterY(self), gcommon.C_LAYER_EXP_SKY)
     GameSession.addScore(self.score)
     if self.isBossRush:
         if self.timerObj != None:
             self.timerObj.stop()
             self.timerObj = None
예제 #6
0
    def broken(self):
        GameSession.addScore(self.score)

        enemy.create_explosion2(self.x + (self.right + self.left + 1) / 2,
                                self.y + (self.bottom + self.top + 1) / 2,
                                self.layer, self.exptype, self.expsound)
        self.remove()
        self.doExplosion()
        enemy.removeEnemyShot()
        if self.isBossRush:
            if self.timerObj != None:
                self.timerObj.stop()
                self.timerObj = None
            ObjMgr.objs.append(enemy.NextEvent([0, None, 120]))
        else:
            ObjMgr.objs.append(enemy.Delay(enemy.StageClear, None, 180))
예제 #7
0
 def doShotCollision(self, shot):
     ret = super(BossLast1, self).doShotCollision(shot)
     if self.mode == 0:
         if self.brokenState == 0 and self.hp < BossLast1.hp2:
             # 初期状態⇒先端が欠けた状態
             self.brokenState = 1
             enemy.create_explosion(self.x +32+32, self.y +64+16+16, gcommon.C_LAYER_GRD, gcommon.C_EXPTYPE_GRD_M)
             GameSession.addScore(1000)
         elif self.brokenState == 1 and self.hp < BossLast1.hp3:
             # 先端が欠けた状態⇒コアむき出し状態
             self.brokenState = 2
             self.mode = 1
             self.setState(0)
             self.removeAllShot()
             enemy.create_explosion(self.x +32+32, self.y +64+16+16, gcommon.C_LAYER_GRD, gcommon.C_EXPTYPE_GRD_M)
             enemy.Splash.append(self.x +32+32+24, self.y +64+16+16, gcommon.C_LAYER_EXP_SKY)
             GameSession.addScore(3000)
     return ret