#--coding:utf-8--
'''My Function'''
from mydata import *
from myclass import *
def hiteffect(ImagePath, x, y, w, h, Window):
image = pygame.image.load(ImagePath).convert_alpha()
screen = pygame.Rect(x, y, w, h)
Window.blit(image, screen)
def bulletFly(BulletList):
# 子弹飞行函数
for bullet in BulletList:
if bullet.bulletFly('up') >= bullet.height:
pass
else:
BulletList.remove(bullet)
def gun(Parameter_Class, PlaneObject, Bg_Object, Window):
# 机枪函数
PlaneObject.fire()
if Parameter_Class.GunTimeStep <= Parameter_Class.GunSpeed:
bulletFly(Parameter_Class.BulletList)
Parameter_Class.GunTimeStep += 1
else:
bullet = BulletObject(PlaneObject.screen.x + 39, PlaneObject.screen.y,
22, 22, Parameter_Class.BulletPath, Window, Parameter_Class.BulletSpeed, Bg_Object)
Parameter_Class.BulletList.append(bullet)
bulletFly(Parameter_Class.BulletList)
Parameter_Class.GunTimeStep = 0
def enemyattack(EnemyList, Bg_Object):
# 敌人移动
for enemy in EnemyList:
if enemy.EnemyFly() <= (Bg_Object.height - enemy.height):
pass
else:
EnemyList.remove(enemy)
def enemyaction(Parameter_Class, Bg_Object, Window):
# 所有敌人行为
if Parameter_Class.EnemyTimeStep <= Parameter_Class.EnemyShowSpeed:
enemyattack(Parameter_Class.EnemyList, Bg_Object)
Parameter_Class.EnemyTimeStep += 1
else:
x = random.randint(40, 400)
enemy = EnemyObject(x, 0,
57, 43, Parameter_Class.EnemyPath, Window, Parameter_Class.EnemySpeed, Bg_Object)
Parameter_Class.EnemyList.append(enemy)
enemyattack(Parameter_Class.EnemyList, Bg_Object)
Parameter_Class.EnemyTimeStep = 0
def hit(Parameter_Class, PlaneObject, Window):
# 对象间接触处理函数
PlaneWRange = (PlaneObject.screen.x + PlaneObject.width * 0.8)
PlaneWHead = (PlaneObject.screen.x + PlaneObject.width * 0.2)
PlaneHRange = (PlaneObject.screen.y + PlaneObject.height * 0.9)
PlaneHHead = (PlaneObject.screen.y + PlaneObject.height * 0.1)
for bullet in Parameter_Class.BulletList:
bulletWRange = (bullet.screen.x + bullet.width)
bulletHRange = (bullet.screen.y + bullet.height)
for enemy in Parameter_Class.EnemyList:
enemyWRange = (enemy.screen.x + enemy.width)
enemyHRange = (enemy.screen.y + enemy.height)
if bullet.screen.y < enemyHRange and bulletHRange > enemy.
python pygame实现飞机大战
最新推荐文章于 2023-07-18 20:25:43 发布