飞机大战.rar

  • 山间清风
    了解作者
  • Python
    开发工具
  • 1.1MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 4
    下载次数
  • 2020-03-20 15:07
    上传日期
飞机大战用python编写出来的,简单易操作,可以自行修改,dsvdsvds
飞机大战.rar
  • 飞机大战
  • images
  • enemy1_down2.png
    6KB
  • enemy3_down6.png
    10.2KB
  • resume_nor.png
    4.5KB
  • resume_pressed.png
    4.6KB
  • gameover.png
    6.8KB
  • me_destroy_1.png
    17.1KB
  • again.png
    6.4KB
  • background.png
    32KB
  • enemy3_down4.png
    59.2KB
  • bullet1.png
    2.9KB
  • me1.png
    14.7KB
  • bullet2.png
    2.9KB
  • enemy1.png
    5.4KB
  • pause_nor.png
    5.2KB
  • pause_pressed.png
    5.1KB
  • enemy3_down5.png
    65.7KB
  • enemy1_down1.png
    5.7KB
  • enemy2_down1.png
    12.2KB
  • enemy3_down2.png
    49.4KB
  • enemy2_down4.png
    5.4KB
  • enemy3_down1.png
    46.6KB
  • enemy1_down4.png
    4.1KB
  • enemy3_hit.png
    44.8KB
  • enemy2_down2.png
    13KB
  • bomb.png
    8.3KB
  • enemy3_down3.png
    55.7KB
  • bullet_supply.png
    9.5KB
  • me_destroy_2.png
    18.1KB
  • bomb_supply.png
    9.7KB
  • life.png
    4.5KB
  • enemy3_n1.png
    42.3KB
  • me_destroy_4.png
    5.5KB
  • enemy2.png
    10.7KB
  • me2.png
    14.5KB
  • enemy3_n2.png
    42.4KB
  • enemy2_hit.png
    11.4KB
  • enemy1_down3.png
    7.2KB
  • me_destroy_3.png
    19.3KB
  • enemy2_down3.png
    14.3KB
  • __pycache__
  • plane_sprite.cpython-38.pyc
    3.7KB
  • venv
  • Include
  • Lib
  • site-packages
  • Scripts
  • activate
    2.2KB
  • python.exe
    512.6KB
  • deactivate.bat
    368B
  • activate.bat
    953B
  • Activate.ps1
    17.7KB
  • pythonw.exe
    511.6KB
  • pyvenv.cfg
    116B
  • .idea
  • inspectionProfiles
  • profiles_settings.xml
    174B
  • untitled.iml
    526B
  • misc.xml
    309B
  • modules.xml
    275B
  • workspace.xml
    11.7KB
  • 后面08更新英雄位置.py
    1.1KB
  • hm11监听退出事件.py
    1.4KB
  • hm05绘制英雄图像.py
    776B
  • hm12演练精灵.py
    1.8KB
  • hm02使用Rect描述英雄.py
    212B
  • hm04绘制图像.py
    432B
  • plane_main.py
    3.5KB
  • hm07认识游戏循环.py
    640B
  • hm01pygame入门.py
    102B
  • plane_sprite.py
    3.6KB
  • hm10事件监听.py
    1.2KB
  • hm03创建游戏窗口.py
    189B
内容介绍
import random import pygame #屏幕大小的常量 SCREEN_RECT = pygame.Rect(0,0,480,700) #刷新的帧率 FRAME_PER_SEC = 60 #创建敌机的定时器常量 CREAT_ENEMY_EVENT = pygame.USEREVENT #英雄发射子弹事件 HERO_FIRE_EVENT = pygame.USEREVENT + 1 class GameSprite(pygame.sprite.Sprite): #飞机大战游戏精灵 def __init__(self, image_name, speed=1): #调用父类的初始化方法 super().__init__() #定义对象属性 self.image = pygame.image.load(image_name) self.rect = self.image.get_rect() self.speed = speed def update(self): #在屏幕的垂直方向上移动 self.rect.y += self.speed class Background(GameSprite): '''游戏背景精灵''' def __init__(self,is_alt = False): super().__init__("./images/background.png") if is_alt: self.rect.y = -self.rect.height def update(self): #1:调用父类的方法实现 super().update() #2:判断是否移除屏幕,如果移除屏幕,将图像设置到屏幕的上方 if self.rect.y >= SCREEN_RECT.height: self.rect.y = -self.rect.height class Enemy(GameSprite): """敌机精灵""" def __init__(self): #1:调用父类方法,创建敌机精灵,同时 指定敌机图片 super().__init__("./images/enemy1.png") #2:指定敌机的初始随机速度 1~3 self.speed = random.randint(1, 3) #指定敌机的初始随机位置 self.rect.bottom = 0 max_x = SCREEN_RECT.width - self.rect.width self.rect.x = random.randint(0, max_x) def update(self): #调用父类方法,保持垂直飞行 super().update() #判断是否飞出屏幕,,如果是,从敌机精灵组中删除敌机 if self.rect.y >= SCREEN_RECT.height: #print("飞出屏幕,需要从精灵组删除。。。") self.kill() def __del__(self): #print("敌机挂了 %s" % self.rect) pass class Bullet(GameSprite): """子弹精灵""" def __init__(self): #调用父类放放风,设置子弹图片,设置初始速度 super().__init__("./images/bullet1.png", -2) def update(self): #调用父类方法,让子弹沿,垂直方向飞行 super().update() #判断子弹是否飞出屏幕 if self.rect.bottom < 0 : self.kill() def __del__(self): print("子弹被销毁。。。") class Hero(GameSprite): """英雄精灵""" def __init__(self): #1:设置英雄的图像,设置英雄的初始速度 super().__init__("./images/me1.png", 0) #2:设置英雄的初始位置 self.rect.centerx = SCREEN_RECT.centerx self.rect.bottom = SCREEN_RECT.bottom - 120 #3:创建子弹精灵组 self.bullets = pygame.sprite.Group() def update(self): #英雄在水平方向移动 self.rect.x += self.speed #控制英雄不能离开屏幕 if self.rect.x < 0: self.rect.x = 0 elif self.rect.right >SCREEN_RECT.right: self.rect.right = SCREEN_RECT.right else : pass def fire(self): print("发射子弹。。。") for i in (0, 1, 2): #1:创建子弹精灵 bullet = Bullet() #2:设置初始位置 bullet.rect.bottom = self.rect.y - i * 20 bullet.rect.centerx = self.rect.centerx #3:将精灵添加到精灵组 self.bullets.add(bullet)
评论
    相关推荐
    • 飞机大战easyX.zip
      基于easyX飞机大战的教程视频,素材及源代码
    • 飞机大战.zip
      基于EGE的飞机大战,有背景音乐,有3个关卡
    • 飞机大战2.zip
      基于EGE的飞机大战,有3个关卡,3种飞机,DEVc++上可以跑
    • 飞机大战.rar
      飞机大战,一块python开发的软件,源码都在里面,可以尝试玩玩
    • 飞机大战.rar
      一个类似于飞机大战的小游戏,仅供参考。啦啦啦啦啦啦啦
    • 飞机大战.zip
      最基本的飞机大战python代码,适合初学者
    • 飞机大战游戏.zip
      一个小游戏代码,基于html编写的小程序,主要适合初学者学习并且进行练习
    • 飞机大战.zip
      建立一个飞机大战的小游戏,内部包含了所有的源代码,仅供大家参考,需要了解相关方面的可以对我进行咨询,相互探讨
    • 飞机大战.zip
      这款小游戏相信许多朋友早就已经玩过,但这个游戏是如何编写的呢,本文为大家介绍一下用Java如何编写飞机大战游戏,仅供参考。
    • snowglobe-src-viewer-2.0.0-r0.tar.gz
      国外的开源游戏引擎,能够承载上千人,属于社交类的游戏