WXr/l.py

54 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import pygame #导入pygame模块
from pygame.locals import * #导入pygame.locals模块
import time #导入time模块
#子弹类
class Bullet(object):
#构造方法,用于初始化子弹对象的属性
def __init__(self, screen_temp, x, y):
self.x = x+40 #子弹起始x坐标
self.y = y-20 #子弹起始y坐标
self.screen = screen_temp #窗口
self.image = pygame.image.load("C:/work/youxi/zidan.png") #创建一个子弹图片
#显示子弹图片的方法
def display(self):
self.screen.blit(self.image, (self.x, self.y)) #显示子弹图片
#子弹移动方法
def move(self):
self.y-=10 #子弹y坐标自减10
#判断子弹是否越界的方法
def judge(self):
if self.y<0: #如果子弹的y坐标小于0
return True #返回true正确
else:
return False #返回false错误
#玩家飞机类
class Aircraft_obj(object):
#构造方法,初始化飞机对象的属性
def __init__(self, screen_temp):
self.x = 190 #飞起起始x坐标
self.y = 708 #飞机起始y坐标
self.screen = screen_temp #窗口
self.image = pygame.image.load("C:/work/youxi/1.png") #创建一个飞机图片
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) #删除子弹
#飞机左移方法
def move_left(self):
if self.x < 10: #x坐标小于10移动距离
pass #不做任何事
else:
self.x -= 10 #X坐标自减少10
#飞机右移方法
def move_right(self):
if self.x > 480-100-10: #X坐标大于窗口宽度-飞机宽度-移动距离)的值
pass #不做任何事
else:
self.x += 10 #坐标自增加10