代码只写到自己发射子弹和敌机自动发射子弹,未完待续…

里面的飞机图片文件需要你们自己下载
飞机大战的图片下载链接(需要1积分)

import pygame
import time
from pygame.locals import *
import randomclass plane(object):def __init__(self,x,y,screen,image):self.bullet_list = []self.x = xself.y = yself.screen = screenself.image = pygame.image.load(image)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)#飞机类
class Hero(plane):#显示飞机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):self.x -= 10def move_right(self):self.x += 10def move_up(self):self.y -= 10def move_down(self):self.y += 10#发射子弹def fire(self):self.bullet_list.append(Bullet(self.screen,self.x,self.y))#子弹类
class Bullet(object):def __init__(self,screen,x,y):self.x = x+40self.y = y-20self.screen = screenself.image = pygame.image.load('./feiji/bullet.png')def display(self):self.screen.blit(self.image,(self.x,self.y))#我方飞机速度def move(self):self.y -= 10#我方飞机子弹越界删除def judge(self):if self.y < 0:return Trueelse:return False#敌机类
class EnemyPlan(plane):def __init__(self,x,y,screen,image):self.direction = "right"plane.__init__(self,x,y,screen,image)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(self):self.y += 1if self.direction == "right":self.x += 5elif self.direction == "left":self.x -= 5if self.x > 340:self.direction = "left"elif self.x < 0:self.direction = "right"# 发射子弹def fire(self):if random.randint(1,50) == 30:self.bullet_list.append(Enemy_Bullet(self.screen, self.x, self.y))#敌机子弹类
class Enemy_Bullet(object):def __init__(self,screen,x,y):self.x = x+20self.y = y+50self.screen = screenself.image = pygame.image.load('./feiji/bullet1.png')#显示敌方子弹def display(self):self.screen.blit(self.image,(self.x,self.y))#子弹移动速度def move(self):self.y += 10#边界删除子弹def judge(self):if self.y > 600:return Trueelse:return False#键盘控制
def key_contro(hero):for event in pygame.event.get():# 判断是否是点击了退出按钮if event.type == QUIT:print("exit")exit()# break# return ""# 判断是否是按下了键elif event.type == KEYDOWN:# 检测按键是否是a或者leftif event.key == K_a or event.key == K_LEFT:if hero.x > 0:print('left')hero.move_left()# 检测按键是否是d或者rightelif event.key == K_d or event.key == K_RIGHT:if hero.x < 300:print('right')hero.move_right()elif event.key == K_w or event.key == K_UP:if hero.y > 0:print('up')hero.move_up()elif event.key == K_s or event.key == K_DOWN:if hero.y < 500:print('down')hero.move_down()elif event.key == K_SPACE:print('fire')hero.fire()def main():# 1.创建窗口screen = pygame.display.set_mode((400,600),0,32)#创建背景图片backgroup = pygame.image.load('./feiji/background.png')#创建飞机hero = Hero(150,470,screen,'./feiji/hero.gif')#创建敌方飞机enemy = EnemyPlan(0,0,screen,'./feiji/enemy0.png')while True:#设置背景图片screen.blit(backgroup,(0,0))#显示我方飞机hero.display()# 显示敌方飞机enemy.display()# 敌方飞机移动enemy.move()# 敌方子弹发射enemy.fire()#键盘响应操作key_contro(hero)pygame.display.update()time.sleep(0.01)if __name__ == '__main__':main()

Python实现简单游戏:飞机大战相关推荐

  1. 用python实现简单的飞机大战小游戏

    1.下载一个包 PySide2-5.15.2.1-5.15.2-cp35.cp36.cp37.cp38.cp39.cp310-none-win_amd64 如果下载错误,就先下载shiboken2-5 ...

  2. 基础教学:用python实现儿时游戏飞机大战(带源码)

    python是一门非常简单的语言,快速入门后可以做很多事情.例如爬虫,数据分析,自动化运维,机器学习量化分析啊等等! 视频教学源码学习资料领取地址:关注+私信小编"资料"即可. 看 ...

  3. Python快速实现简易飞机大战小游戏

    参考:用python实现简单的飞机大战小游戏_化华桦的博客-CSDN博客_python飞机大战 敌机图片: 我方飞机: 子弹: 背景图: 主函数代码main.py: from PySide2 impo ...

  4. 【Python】Python小游戏--飞机大战

    一.前言 今天已经初四,舒服的在家躺尸的春节也算过去了,又要开始辛勤的(苦逼的)学习和工作了.说点题外话,今年春节的病毒疫情真的弄的人心惶惶,我也在这为国家和武汉加油,也向一线工作人员致敬,希望早日结 ...

  5. c 语言500行小游戏代码,500行代码使用python写个微信小游戏飞机大战游戏.pdf

    500行行代代码码使使用用python写写个个微微信信小小游游戏戏飞飞机机大大战战游游戏戏 这篇文章主要介绍了500行代码使用python写个微信小游戏飞机大战游戏,本文通过实例代码给大家介绍的非常详 ...

  6. python代码示例500行源代码-500行代码使用python写个微信小游戏飞机大战游戏

    这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手. 帮助蹲厕族.YP族.饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右 ...

  7. 简单制作飞机大战游戏。

    飞机大战(初级)(一) 因为最近有做这个的实训,每天一点点的学习.因为自己也是个初学者,希望自己所做的这些也能帮助简单学习java的朋友,这是第一次在这上面去分享这些,一方面希望自己能进步,能交更多的 ...

  8. python飞机大战游戏代码_用python语言如何实现飞机大战游戏

    python语言博大精深,它目前来说已经很火热了,在学好python的同时还要学会用python,可以使用它来开发一些项目最好不过了.下面小编用python实现一个小游戏-飞机大战,使用的python ...

  9. 用java写一个简单的飞机大战游戏

    制作一个简单的飞机大战 注意!!!!!,图片素材在我的资源里有. 下面代码排序,非先后顺序.请看清楚类名 Airplane类 package Flyplane;public class Airplan ...

  10. c语言小游戏-飞机大战

    今天我们来尝试用easyx图形库实现c语言小游戏-飞机大战(源代码和图片已经在结尾给出) 先引用头文件 #include<stdio.h> #include<time.h>// ...

最新文章

  1. java客户服务器程序预约口罩_团队作业(二):Github实训:口罩预约
  2. JAVA相关基础知识(一)
  3. 两道概率题-供大家周末把玩
  4. Spring boot定制错误json数据
  5. Apache Camel入门
  6. 第3章 关系数据模型
  7. linux shell网卡,Shell脚本查看LINUX系统 网卡实时流量
  8. 微软发布的新开源编程语言 Power Fx
  9. cocos2d-x 关于无法找到gl/gl.h头文件错误,以及r.java无法生成解决办法
  10. 诸葛io的技术架构图_阿里P8总结三面四轮技术面试:Tomcat+Redis+线程池锁+悲观锁+NIO...
  11. 解决发邮件出现“501 Domain address required: HELO”问题
  12. 伺服电机算功率基本公式_伺服电机功率计算选型.ppt
  13. 百度离线地图-Vue
  14. Linux led子系统分析之三 led设备驱动与ledtrigger驱动实现
  15. php 读取rtf文件,rtf是什么格式?
  16. Python基于PHP+MySQL的个人网页设计与实现
  17. 原码、反码、补码和真值
  18. 如何在图数据库上实现图计算框架
  19. 计算机二级access通过技巧,2017年计算机二级Access应试技巧
  20. 解决idea控制台中文乱码问题

热门文章

  1. 如何添加在线QQ咨询
  2. 1210 班费问题(宁波大学OJ)
  3. 【Java 8 新特性】Java 8 Util API: StringJoiner 详解 | 拼接字符串添加分隔符、前缀和后缀
  4. 小米手机在国内使用Android Auto
  5. 拉绳位移传感器怎么接线_SOP传感器
  6. android保存连接地址到桌面快捷方式,Android创建桌面快捷方式两种方法
  7. 易优cms小程序插件优化版上线
  8. 轻松搞定茶水分离,随时享受清香好味道,Simita名享玻璃泡茶杯上手
  9. dynamo方程怎么写_Dynamo论文介绍
  10. 数据采集现场动平衡仪N600基本技术规格