Example #1
0
 def attack1(self):
     if GameSession.isEasy():
         return
     if self.attackCnt % 10 == 0:
         n = int(self.attackCnt / 10)
         pt = __class__.laserPointTable[n]
         if GameSession.isHard():
             ObjMgr.addObj(
                 boss.DelayedShotLaser1(
                     self.x + pt[0], self.y + pt[1],
                     -math.pi / 2 + math.pi / 4 * n + math.pi / 16))
             ObjMgr.addObj(
                 boss.DelayedShotLaser1(
                     self.x + pt[0], self.y + pt[1],
                     -math.pi / 2 + math.pi / 4 * n - math.pi / 16))
         else:
             ObjMgr.addObj(
                 boss.DelayedShotLaser1(self.x + pt[0], self.y + pt[1],
                                        -math.pi / 2 + math.pi / 4 * n))
     self.attackCnt += 1
     if self.attackCnt > 10 * 7:
         self.attackCnt = 0
         self.attackState += 1
Example #2
0
 def update(self):
     self.mover.update()
     if self.state == 1:
         if self.mover.tableIndex == 0:
             # STOP
             self.shiftPos = (self.mover.cnt/30) * 8
         elif self.mover.tableIndex == 11:
             # STOP
             self.shiftPos = 8 -(self.mover.cnt/30) * 8
         elif self.mover.tableIndex >= 1:
             if self.mover.mode == CountMover.MOVE:
                 fx = 1
                 dr = 32
                 if self.x < ObjMgr.myShip.x:
                     fx = -1
                     dr = 0
                 if self.cnt % 60 == 0:
                     if GameSession.isEasy():
                         enemy.enemy_shot_dr_multi(self.x -48 * fx, self.y-20, 3, 0, dr, 3, 4)
                         enemy.enemy_shot_dr_multi(self.x -48 * fx, self.y+20, 3, 0, dr, 3, 4)
                     elif GameSession.isHard():
                         enemy.enemy_shot_dr_multi(self.x -48 * fx, self.y-20, 3, 0, dr, 6, 2)
                         enemy.enemy_shot_dr_multi(self.x -48 * fx, self.y+20, 3, 0, dr, 6, 2)
                     else:
                         enemy.enemy_shot_dr_multi(self.x -48 * fx, self.y-20, 3, 0, dr, 4, 3)
                         enemy.enemy_shot_dr_multi(self.x -48 * fx, self.y+20, 3, 0, dr, 4, 3)
     elif self.state == 2:
         if self.mover.tableIndex == 0:
             # STOP
             self.shiftPos = (self.mover.cnt/30) * 8
         elif self.mover.tableIndex == 11:
             # STOP
             self.shiftPos = 8 -(self.mover.cnt/30) * 8
         elif self.mover.tableIndex >= 1:
             if self.mover.mode == CountMover.MOVE:
                 fx = 1
                 if self.x < ObjMgr.myShip.x:
                     fx = -1
                 speed = -4.0
                 if self.x < ObjMgr.myShip.x:
                     speed = 4.0
                 if self.cnt % 60 == 0:
                     #enemy.enemy_shot_dr_multi(self.x -48 * fx, self.y-20, 3, 0, dr, 4, 3)
                     #enemy.enemy_shot_dr_multi(self.x -48 * fx, self.y+20, 3, 0, dr, 4, 3)
                     ObjMgr.addObj(BossLabyrinthShot1(self.x -48 * fx, self.y, speed))
                     # ObjMgr.addObj(BossLabyrinthShot1(self.x -48, self.y-20, 4))
                     # ObjMgr.addObj(BossLabyrinthShot1(self.x -48, self.y+20, 4))
                     # ObjMgr.addObj(BossLabyrinthShot1(self.x -48, self.y+20+16, 4))
                 if self.mover.cnt == 30:
                     ObjMgr.addObj(BossLabyrinthBeam1(self, 32, -32, math.pi * 1.75))
                     ObjMgr.addObj(BossLabyrinthBeam1(self, -32, -32, math.pi * 1.25))
                     ObjMgr.addObj(BossLabyrinthBeam1(self, -32, 32, math.pi * 0.75))
                     ObjMgr.addObj(BossLabyrinthBeam1(self, 32, 32, math.pi * 0.25))
     elif self.state == 100:
         # 破壊状態
         if self.cnt % 10 == 0:
             enemy.create_explosion2(self.x + random.randrange(-30, 30), self.y + random.randrange(-30, 30), self.layer, gcommon.C_EXPTYPE_SKY_M, -1)
         if self.cnt > 120:
             self.mover = CountMover(self, self.moveTable101, False)
             self.nextState()
     elif self.state == 101:
         # 破壊状態
         if self.cnt > 90:
             self.remove()
             ObjMgr.addObj(BossLabyrinth2(self.isBossRush, self.timerObj))
     if self.state < 100 and self.mover.isEnd:
         if self.state == 0:
             self.setState(1)
             self.mover = CountMover(self, self.moveTable1, False)
         elif self.state == 1:
             self.setState(2)
             self.mover = CountMover(self, self.moveTable1, False)
         elif self.state == 2:
             self.setState(1)
             self.mover = CountMover(self, self.moveTable1, False)