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)
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)
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)
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
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)
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)
def update(self): self.PosX += self.VectorX self.PosY += self.VectorY # 画面内チェック imp.CheckScreenIn(self)