import pygame
import time
from pygame.locals import *
class HeroPlan(object):
def __init__(self,screen_temp):
self.x=205
self.y=500
self.screen=screen_temp
self.image=pygame.image.load(r"F:\1a软件实验室 程序\飞机大战\feiji\hero1.png")
self.bullet_list=[]#
def display(self):
#显示英雄飞机
self.screen.blit(self.image,(self.x,self.y))
#显示子弹
for bulet in self.bullet_list:
bulet.display()
bulet.move()
def move_left(self):
self.x=self.x-5
def move_right(self):
self.x=self.x+5
def plan_fire(self):
self.bullet_list.append(Butten(self.screen,self.x,self.y))
class Butten(object):
def __init__(self,screen_temp,temp_x,temp_y):
self.x=temp_x+40
self.y=temp_y-20
self.screen=screen_temp
self.image=pygame.image.load(r"F:\1a软件实验室 程序\飞机大战\feiji\bullet.png")
def display(self):
self.screen.blit(self.image, (self.x, self.y))
def move(self):
self.y=self.y-5
def key_read(plan):
for event in pygame.event.get():
# 判断是否是点击了退出按钮
if event.type == QUIT:
print("exit")
exit()
# 判断是否是按下了键
elif event.type == KEYDOWN:
# 检测按键是否是a或者left
if event.key == K_a or event.key == K_LEFT:
plan.move_left()
print('left')
# 检测按键是否是d或者right
elif event.key == K_d or event.key == K_RIGHT:
plan.move_right()
print('right')
# 检测按键是否是空格键
elif event.key == K_SPACE:
plan.plan_fire()
print('space')
def main():
#创建窗口
screen=pygame.display.set_mode((480,850),0,32)
#创建背景图片
background=pygame.image.load(r"F:\1a软件实验室 程序\飞机大战\feiji\background.png")
#创建飞机图片
plan = HeroPlan(screen)
while True:
#确定图片 显示的坐标
screen.blit(background,(0,0))
plan.display()
#显示到屏幕
pygame.display.update()
key_read(plan)
time.sleep(0.01)
if __name__=="__main__":
main()
pygeme 飞机大战(面向对象)
最新推荐文章于 2024-08-09 15:00:50 发布