Example #1
0
    def update(self):
        if self.St0 == 0:
            self.PosY += 1.5
            if self.PosY > 80:
                imp.Em.append(EnemyBullet(self.PosX - 10, self.PosY, 4, 0, 0))
                imp.Em.append(EnemyBullet(self.PosX + 10, self.PosY, 4, 0, 0))
                self.TmpCtr = 30  # ちょっと待つ
                self.St0 = 1
        elif self.St0 == 1:
            self.TmpCtr -= 1
            if self.TmpCtr <= 0:
                self.TmpCtr = 40  # 炎の表示タイマー
                self.St0 = 2
        else:
            if self.TmpCtr > 0:
                self.TmpCtr -= 1
            self.PosY -= 0.5

        # -----------------------------------------------
        # 死にチェック
        if self.Life <= 0:  # 0以下なら死ぬ
            self.Death = 1  # 死ぬ
            imp.Score += self.Score  # Scoreを加算
            if imp._DEBUG_ == True:
                print("enemy die")
            # アイテムセット
            if self.ItemSet != 0:
                if imp._DEBUG_ == True:
                    print("item")
                imp.Itm.append(plitem.PlItem(self.PosX, self.PosY, 0, 0, 0))

        # 画面内チェック
        imp.CheckScreenIn(self)
Example #2
0
    def update(self):
        # 全方向撃って戻る
        if self.St0 == 0:
            self.PosY += self.VectorY
            if self.PosY > 60:
                self.St0 += 1

        elif self.St0 == 1:
            # 減速
            self.PosY += self.VectorY
            self.VectorY += -0.03
            if self.VectorY <= 0.0:
                self.VectorY = 0.0

                self.TmpCtr = 40  # キャラ替え時間
                self.St0 += 1

        elif self.St0 == 2:
            self.TmpCtr -= 1
            if self.TmpCtr <= 0:
                self.BulletTime = 0
                self.TmpCtr = 0
                self.MvWait = 0
                self.St0 += 1

        elif self.St0 == 3:
            # 全方向発射
            self.MvWait -= 1
            if self.MvWait <= 0:
                for n in range(32):
                    imp.Em.append(EnemyBullet(self.PosX, self.PosY, 1, n, 0))
                self.MvWait = 80
                self.BulletTime += 1
                if self.BulletTime >= 8:
                    self.MvWait = 90
                    self.St0 += 1

        elif self.St0 == 4:
            self.MvWait -= 1
            if self.MvWait <= 0:
                self.St0 += 1

        elif self.St0 == 5:
            self.PosY -= 0.6

        # -----------------------------------------------
        # 死にチェック
        if self.Life <= 0:  # 0以下なら死ぬ
            self.Death = 1  # 死ぬ
            imp.Score += self.Score  # Scoreを加算
            if imp._DEBUG_ == True:
                print("enemy die")
            # アイテムセット
            if self.ItemSet != 0:
                if imp._DEBUG_ == True:
                    print("item")
                imp.Itm.append(plitem.PlItem(self.PosX, self.PosY, 0, 0, 0))

        # 画面内チェック
        imp.CheckScreenIn(self)
Example #3
0
    def update(self):
        if self.Id0 == 0:  # カーブ
            if self.St0 == 0:
                self.PosY += 1.2
                if self.PosY > 40:
                    pl = imp.GetPl(self)
                    if pl != 0:
                        if self.PosX < pl.PosX:
                            self.VectorX += 0.015
                            self.St1 = 1  # 右回転
                        else:
                            self.VectorX -= 0.015
                            self.St1 = 2  # 左回転

                self.PosX += self.VectorX

        elif self.Id0 == 1:  # まっすぐ
            self.PosY += 0.9

        # -----------------------------------------------
        # 死にチェック
        if self.Life <= 0:  # 0以下なら死ぬ
            self.Death = 1  # 死ぬ
            imp.Score += self.Score  # Scoreを加算
            if imp._DEBUG_ == True:
                print("enemy die")
            # アイテムセット
            if self.ItemSet != 0:
                # GroupIdのチェック
                find_group = 0
                for eg in imp.Em:
                    if eg.ObjType == imp.OBJEM:
                        if eg.__class__.__name__ == "EnemyItemGroup":
                            if self.Id1 == eg.Id1:
                                find_group += 1  # 同じId1を見つけた、同じGroup
                                if find_group >= 2:  # 2以上になったら > 1の時、自分自身も含んでいるため、2個目を発見したら、自分以外の同じGroupが居るということ
                                    break

                if find_group == 1:
                    if imp._DEBUG_ == True:
                        print("item")
                    imp.Itm.append(plitem.PlItem(self.PosX, self.PosY, 0, 0,
                                                 0))

        # 画面内チェック
        imp.CheckScreenIn(self)
Example #4
0
    def update(self):
        if self.Id0 == 0:  # 狙って撃つ
            if self.st == 0:
                self.Rot = shooting_sub.GetDirection(self, self.PosX,
                                                     self.PosY, imp.Pl[0].PosX,
                                                     imp.Pl[0].PosY)
                shooting_sub.SetVector(self, self.Rot, 1.5)
                self.st = 1
            else:
                self.PosX += self.VectorX
                self.PosY += self.VectorY

        elif self.Id0 == 1:  # 指定の方向
            if self.st == 0:
                self.Rot = math.radians(self.Id1 * (90 / 8))
                shooting_sub.SetVector(self, self.Rot, 0.6)
                self.st = 1
            else:
                self.PosX += self.VectorX
                self.PosY += self.VectorY

        elif self.Id0 == 2:  # 〇弾 指定の方向
            if self.st == 0:
                self.Rot = math.radians(self.Id1 * (90 / 8))
                shooting_sub.SetVector(self, self.Rot, 1.5)
                self.st = 1
            else:
                self.PosX += self.VectorX
                self.PosY += self.VectorY

        elif self.Id0 == 3:  # ボス弾大 前
            self.PosX += self.VectorX
            self.PosY += self.VectorY

        elif self.Id0 == 4:  # ミサイル
            self.PosX += self.VectorX
            self.PosY += self.VectorY

        # 画面内チェック
        self.ScreenTime += 1
        if self.ScreenTime >= imp.SCREEN_TIME:
            if imp.CheckScreenIn(self) == False:
                self.Death = 1
Example #5
0
    def update(self):
        if self.Id0 == 0:  # カーブ
            if self.St0 == 0:
                self.PosY += 1.2
                if self.PosY > 40:
                    pl = imp.GetPl(self)
                    if pl != 0:
                        if self.PosX < pl.PosX:
                            self.VectorX += 0.015
                            self.St1 = 1  # 右回転
                        else:
                            self.VectorX -= 0.015
                            self.St1 = 2  # 左回転

                self.PosX += self.VectorX

#                self.BulletTime -= 1
#                if self.BulletTime <= 0:
#                    self.BulletTime = random.randrange(10, 20, 1)
#                    self.BulletTime = 99999     # 1回しか打たない
#                    imp.Em.append(EnemyBullet(self.PosX,self.PosY,0,0,0))

        elif self.Id0 == 1:  # まっすぐ
            self.PosY += 0.9

        # -----------------------------------------------
        # 死にチェック
        if self.Life <= 0:  # 0以下なら死ぬ
            self.Death = 1  # 死ぬ
            imp.Score += self.Score  # Scoreを加算
            if imp._DEBUG_ == True:
                print("enemy die")
            # アイテムセット
            if self.ItemSet != 0:
                if imp._DEBUG_ == True:
                    print("item")
                imp.Itm.append(plitem.PlItem(self.PosX, self.PosY, 0, 0, 0))

        # 画面内チェック
        imp.CheckScreenIn(self)
Example #6
0
    def update(self):
        if self.Id1 == 0:  # -----------------------------------------------
            # 止まって弾撃って引き返す
            if self.St0 == 0:
                self.PosY += 1.5
                if self.PosY > 100:
                    self.TmpCtr = 30  # ちょっと待つ
                    self.St0 = 1
            elif self.St0 == 1:
                self.TmpCtr -= 1
                if self.TmpCtr <= 0:
                    imp.Em.append(EnemyBullet(self.PosX, self.PosY, 0, 0, 0))
                    self.St0 = 2
            else:
                self.PosY -= 1.5

        elif self.Id1 == 1:
            #止まって3Way
            if self.St0 == 0:
                self.PosY += 1.5
                if self.PosY > 100:
                    self.BulletTime = 0
                    self.MvWait = 0
                    self.St0 = 1

            elif self.St0 == 1:
                self.MvWait -= 1
                if self.MvWait < 0:
                    self.MvWait = 30

                    imp.Em.append(EnemyBullet(self.PosX, self.PosY, 1, 7, 0))
                    imp.Em.append(EnemyBullet(self.PosX, self.PosY, 1, 8, 0))
                    imp.Em.append(EnemyBullet(self.PosX, self.PosY, 1, 9, 0))

                    self.BulletTime += 1
                    if self.BulletTime >= 10:
                        self.St0 = 2

                self.PosY -= 0.1

            else:
                self.PosY -= 0.6

        elif self.Id1 == 2:
            # 全方向撃って戻る
            if self.St0 == 0:
                self.PosY += 1.5
                if self.PosY > 80:
                    self.BulletTime = 0
                    self.MvWait = 0
                    self.St0 = 1

            if self.St0 == 1:
                self.MvWait -= 1
                if self.MvWait < 0:
                    self.MvWait = 60
                    for n in range(32):
                        imp.Em.append(
                            EnemyBullet(self.PosX, self.PosY, 1, n, 0))

                    self.BulletTime += 1
                    if self.BulletTime >= 8:
                        self.St0 = 2

            if self.St0 == 2:
                self.PosY -= 0.8
        elif self.Id1 == 3:
            # まっすぐ
            self.PosY += 1.0

        # -----------------------------------------------
        # 死にチェック
        if self.Life <= 0:  # 0以下なら死ぬ
            self.Death = 1  # 死ぬ
            imp.Score += self.Score  # Scoreを加算
            if imp._DEBUG_ == True:
                print("enemy die")
            # アイテムセット
            if self.ItemSet != 0:
                if imp._DEBUG_ == True:
                    print("item")
                imp.Itm.append(plitem.PlItem(self.PosX, self.PosY, 0, 0, 0))

        # 画面内チェック
        imp.CheckScreenIn(self)
Example #7
0
    def update(self):
        self.PosX += self.VectorX
        self.PosY += self.VectorY

        # 画面内チェック
        imp.CheckScreenIn(self)