python飞机大战项目报告书范文_2021-1-7Python飞机大战记录

import pygame

import time

from pygame.locals import *

class HeroPlane(object):

def __init__(self,screen_temp):

self.x = 250

self.y = 520

self.screen = screen_temp #游戏窗口

self.image = pygame.image.load('images/飞机2.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()

def move_left(self):

self.x -= 20

def move_right(self):

self.x += 20

def move_up(self):

self.y -= 20

def move_down(self):

self.y += 20

def fire(self):

self.bullet_list.append(Bullet(self.screen,self.x,self.y))

class Bullet(object):

def __init__(self,screen_temp,x,y):

self.x = x + 40

self.y = y - 50

self.screen = screen_temp

self.image = pygame.image.load('images/子弹3.png')

def display(self):

self.screen.blit(self.image,(self.x,self.y))

def move(self):

self.y -= 25

def key_control(hero_temp):

# 获取事件,比如按键等

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:

print('left')

hero_temp.move_left()

# 检测按键是否是d或者right

elif event.key == K_d or event.key == K_RIGHT:

print('right')

hero_temp.move_right()

#检测按键是否是w或者up

elif event.key ==K_w or event.key == K_UP:

print('up')

hero_temp.move_up()

#检测按键是否是s或者down

elif event.key ==K_s or event.key == K_DOWN:

print('down')

hero_temp.move_down()

# 检测按键是否是空格键

elif event.key == K_SPACE:

print('space')

hero_temp.fire()

def main():

#1.创建窗口

screen = pygame.display.set_mode((480,852),0,0)

#2 创建一个背景图片

background = pygame.image.load('images/OIP.jpg')

# 创建一个飞机对象

hero = HeroPlane(screen)

while True:

#把背景图片放到窗口显示

screen.blit(background,(0,0))

#显示玩家飞机到定义的(x,y)坐标位置

hero.display()

pygame.display.update()

#检测键盘,控制玩家飞机移动

key_control(hero)

time.sleep(0.05)

if __name__ == '__main__':

main()

Python飞机大战记录2

1.飞机大战第二部分

2.效果:


版权声明:本文为weixin_33050117原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。