代码只实现了飞机发射子弹和移动,没有是实现碰撞和炮炸
import pygame
from time import sleep
from pygame.locals import *
import random
#定义一个基类,用来存储所有对象都可以用到的属性
#基类属性包括,坐标x,y,窗口,背景
class Base(object):
def __init__(self,screen,x,y,imageName):
self.screen = screen
self.x = x
self.y = y
self.image = pygame.image.load(imageName)
#定义一个飞机的基类,用来存储友方和敌方战机的属性,并且此类继承基类属性
#飞机共有属性子弹
#定义展示飞机的方法
class BasePlane(Base):
def __init__(self,screen,x,y,imageName):
Base.__init__(self,screen,x,y,imageName)
self.bullet_list = [] #用来保存飞机子弹
def display(self):
#想要展示出飞机,最先要把窗口创建出来并把背景图资源放进去
self.screen.blit(self.image,(self.x,self.y))
#把子弹展示出来
for bullet in self.bullet_list:
bullet.display()#子弹的展示与移除需要在子弹类中进行,因此需要创建子弹相关类
bullet.move()
if bullet.judge():#判断子弹是否越界
self.bullet_list.remove(bullet)#如果越