精华内容
下载资源
问答
  • python 飞机大战源码

    2018-05-08 16:47:07
    python 飞机大战源码
  • python飞机大战源码

    2021-07-23 10:36:08
    python飞机大战项目源码
  • 飞机大战的项目实战可以说是python基础入门的最好课程之一,下面我们一起来看看博学谷上的Python飞机大战项目实战案例。前面说了,编程语言的学习最后还是得落到项目实践中去,因此我们在学习Python的过程中,一定要...

    都说实践是检验知识掌握程度的最好测试。随着Python学习者的增长,越来越多的零基础入门课程让人眼花缭乱。虽然说基础理论的学习十分重要,但是如果仅仅只学习理论知识,也是远远不够的。飞机大战的项目实战可以说是python基础入门的最好课程之一,下面我们一起来看看博学谷上的Python飞机大战项目实战案例。

    1240

    前面说了,编程语言的学习最后还是得落到项目实践中去,因此我们在学习Python的过程中,一定要边学边练,才能更好的掌握相应的知识点。以博学谷的Python飞机大战实战项目课程为案例,该课程通过Python飞机大战项目案例,讲解异常、python模块和包、列表推导式、集合、元组、列表等知识点,练习飞机大战。因此该课程适合从零基础入门Python编程开发,以及没有任何软件编程基础和Python经验,想先从0基础入手的Python开发爱好者。具体的课程大纲如下:

    一、玩家飞机

    1、游戏的原理

    2、飞机大战:创建窗口

    3、飞机大战:显示玩家飞机、检测键盘、控制飞机左右移动

    4、飞机大战:控制左右移动-面向对象

    5、飞机大战:玩家飞机发射子弹

    二、敌人飞机

    1、显示敌机

    2、控制敌机左右移动

    3、代码优化:子弹越界的问题

    4、敌机发射子弹

    5、敌机发射的子弹判断越界

    三、代码优化扩展

    1、代码优化:抽取基类

    2、扩展:飞机爆炸效果

    关于Python飞机大战实战项目案例就讲到这里了。如果大家对该课程感兴趣,不妨自己在博学谷官网详细了解一下课程的相关内容,亲自体验学习内容。

    展开全文
  • 原博文2018-12-22 23:32 −百度了半天小甲鱼python飞机大战源码和素材,搜出一堆不知道是什么玩意儿的玩意儿。最终还是自己对着视频一行行代码敲出来。需要的同学点下面的链接自取。下载...67421相关推荐2019-09-...

    原博文

    2018-12-22 23:32 −

    百度了半天小甲鱼python飞机大战的源码和素材,搜出一堆不知道是什么玩意儿的玩意儿。

    最终还是自己对着视频一行行代码敲出来。

    需要的同学点下面的链接自取。

    下载...

    comment.png

    6

    attention.png

    7421

    相关推荐

    2019-09-28 21:13 −

    Python python是一种跨平台的计算机程序设计语言,是一种面向对象的动态类型语言。 最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。(以上摘自百度百科) Python是一种解释型脚本语言,可以应用于以下领域...

    comment.png

    0

    attention.png

    2006

    2019-12-24 19:55 −

    1 Web应用 https://www.cnblogs.com/yuanchenqi/articles/8869302.html2 http协议 https://www.cnblogs.com/yuanchenqi/articles/8875623...

    2019-12-04 22:39 −

    是不是看到题目Python就点进来了。

    其实,只是个蒟蒻......

    不知道学校发了什么疯,现在连普通的信息课都在讲Python,是怕我们消化不了c++吗?

    虽然心里很不甘心,但不得不承认,许多时候(实际上是大部分),Python都比c++更简单。

    原因:

    1.Python不用打头文件(咳咳,纯属个...

    comment.png

    0

    attention.png

    475

    2019-12-06 14:02 −

    学习提纲

    生成指定范围的数值列表,语法格式如下:

    生成一个包括10哥随机数的列表,要求数的范围在10-100之间,代码如下

    import random

    randomnumber = [random.randint(10,100) for i in range(...

    2019-12-18 15:00 −

    保留字:and,as,assert,break,class,continue,

    def,del,elif,else,except,finally,

    forfromFalse,global,if,import,

    in,is,lambda,nonlocal,not...

    comment.png

    0

    attention.png

    182

    2019-12-24 21:14 −

    python-requests

    python-requests

    作用:能够模拟浏览器向服务器发送请求的库

    requests库的主要方法

    方法描述

    requests.request()构造一个请求,支持以下各种方法requests.get()获取html的主要方法requests.head(...

    comment.png

    0

    attention.png

    539

    2019-12-11 17:16 −

    Redis

    redis是一个key-value存储系统。

    赋值:set name alex查看所有key:keys *查看key对应的value:get name只存活2秒钟:set name jack ex 2

    Python操作Redissudo pip install redis

    1、操作模式r...

    2019-11-27 16:55 −

    1.安装

    需要安装得模块名为pyyaml,直接pip install pyyaml

    导入,直接import yaml

    2.yaml文件的格式

    文件格式输出可以是列表,可以是字典,可以嵌套。层级关系用空格区分,切记,不支持tab缩进

    a)键值对形式

    user: admin

    pwd: 123

    ...

    2019-11-23 12:52 −

    # Python3随手记 - [Python3随手记](#python3%e9%9a%8f%e6%89%8b%e8%ae%b0) - [list方法](#list%e6%96%b9%e6%b3%95) - [os](#os) - [imageio](#imageio) - [Python I...

    展开全文
  • python飞机大战案例,有boss关卡
  • 1 importpygame2 from plane_sprites import *345 classPlaneGame(object):6 "...飞机大战主游戏"""78 def __init__(self):9 print("游戏初始化")1011 #1.创建游戏的...

    1 importpygame2 from plane_sprites import *

    3

    4

    5 classPlaneGame(object):6 """飞机大战主游戏"""

    7

    8 def __init__(self):9 print("游戏初始化")10

    11 #1.创建游戏的窗口

    12 self.screen =pygame.display.set_mode(SCREEN_RECT.size)13 #2.创建游戏的时钟

    14 self.clock =pygame.time.Clock()15 #3.调用私有方法,精灵和精灵组的创建

    16 self.__create_sprites()17

    18 #4.设置定时器事件——创建敌机 1S

    19 pygame.time.set_timer(CREATE_ENEMY_EVENT, 1000)20 pygame.time.set_timer(HERO_FIRE_EVENT, 500)21

    22 #定义精灵和精灵组

    23 def __create_sprites(self):24 #创建背景精灵和精灵组

    25 bg1 =Background()26 bg2 =Background(True)27 #bg2起始位置在bg1的上方

    28 #bg2.rect.y = -bg2.rect.height

    29

    30 self.back_group =pygame.sprite.Group(bg1, bg2)31

    32 #创建敌机的精灵组

    33 self.enemy_group =pygame.sprite.Group()34

    35 #创建英雄的精灵和精灵组

    36 self.hero =Hero()37 self.hero_group =pygame.sprite.Group(self.hero)38

    39 #游戏循环

    40 defstart_game(self):41 print("游戏开始...")42

    43 whileTrue:44 #1.设置刷新帧率

    45 self.clock.tick(FRAME_PER_SEC)46 #2.事件监听

    47 self.__even_handler()48 #3.碰撞检测

    49 self.__check_collide()50 #4.更新/绘制精灵组

    51 self.__update_sprites()52 #5.更新屏幕显示

    53 pygame.display.update()54

    55 pass

    56

    57 #定义事件监听函数

    58 def __even_handler(self):59 for event inpygame.event.get():60

    61 #判断是否退出游戏

    62 if event.type ==pygame.QUIT:63 PlaneGame.__game_over()64 elif event.type ==CREATE_ENEMY_EVENT:65 #print("敌机出场...")

    66 #创建敌机精灵

    67 enemy =Enemy()68

    69 #将敌机精灵添加到敌机精灵组

    70 self.enemy_group.add(enemy)71 elif event.type ==HERO_FIRE_EVENT:72 self.hero.fire()73 #直接判断键盘按键不能持续的获取按键事件

    74 #elif event.type == pygame.KEYDOWN and event.type == pygame.K_RIGHT:

    75 #print("向右移动...")

    76

    77 #使用键盘模块提供的方法获取键盘按键——键盘模块可以持续的获取键盘按键

    78 keys_pressed =pygame.key.get_pressed()79 #判断元祖中对应的按键索引值

    80 if keys_pressed[pygame.K_RIGHT] orkeys_pressed[pygame.K_d]:81 self.hero.rect.x += 2

    82 elif keys_pressed[pygame.K_LEFT] orkeys_pressed[pygame.K_a]:83 self.hero.rect.x -= 2

    84 elif keys_pressed[pygame.K_UP] orkeys_pressed[pygame.K_w]:85 self.hero.rect.y -= 2

    86 elif keys_pressed[pygame.K_DOWN] orkeys_pressed[pygame.K_s]:87 self.hero.rect.y += 2

    88 else:89 self.hero.speed =090

    91 #定义碰撞检测

    92 def __check_collide(self):93

    94 #1.子弹摧毁敌机—— groupcollide可以判断两个精灵组之间是否碰撞

    95 pygame.sprite.groupcollide(self.hero.bullets, self.enemy_group, True, True)96

    97 #敌机撞毁英雄——spritecollide可以判断精灵和精灵组之间是否碰撞

    98 enemies =pygame.sprite.spritecollide(self.hero, self.enemy_group, True)99

    100 #判断列表是否有内容

    101 if len(enemies) >0:102

    103 #让英雄牺牲

    104 self.hero.kill()105

    106 #结束游戏

    107 PlaneGame.__game_over()108

    109 #定义精灵组调用update()和draw()方法实现屏幕更新

    110 def __update_sprites(self):111

    112 self.back_group.update()113 self.back_group.draw(self.screen)114 self.enemy_group.update()115 self.enemy_group.draw(self.screen)116 self.hero_group.update()117 self.hero_group.draw(self.screen)118 self.hero.bullets.update()119 self.hero.bullets.draw(self.screen)120

    121 #游戏结束

    122 @staticmethod123 def __game_over():124 print("游戏结束...")125

    126 pygame.quit()127 exit()128

    129

    130 if __name__ == '__main__':131

    132 #创建游戏对象

    133 game =PlaneGame()134

    135 #启动游戏

    136 game.start_game()

    展开全文
  • 基于python飞机大战、具体闯关模式和无尽模式两种,敌机有大中小三种,而且具有血条。源码内附有具体介绍。
  • 0、前言我学一种语言,可以说学任何东西都喜欢自己动手实践,总感觉自己动手一遍,就可以理解的更透彻,学python也一样,自己动手写代码,但更喜欢做点小东西出来,一边玩一边学。下面我就展示一下我最近做的一个小...

    0、前言

    我学一种语言,可以说学任何东西都喜欢自己动手实践,总感觉自己动手一遍,就可以理解的更透彻,学python也一样,自己动手写代码,但更喜欢做点小东西出来,一边玩一边学。下面我就展示一下我最近做的一个小游戏。

    1、素材准备

    首先我们先来预览一下游戏的最终运行界面

    2018911100827091.jpg?201881110846

    根据游戏界面,我们可以清楚的知道必须要先准备游戏背景图片,飞机图片,子弹图片等等。这些素材我已经放到网上, 点我下载 ,里面包括了我的代码和图片素材。

    2、代码部分

    库依赖:

    pygame

    本游戏主要有两个py文件,主文件plan_main.py代码部分如下:

    from plan_sprite import *

    class PlanGame(object):

    """飞机大战主程序"""

    def __init__(self):

    print("游戏初始化")

    # 创建游戏窗口

    self.screen = pygame.display.set_mode(SCREEN_RECT.size)

    # 创建游戏时钟

    self.clock = pygame.time.Clock()

    # 调用私有方法,精灵和精灵组的创建

    self._create_sprite()

    # 设置定时器事件 - 1秒创建一个敌机

    pygame.time.set_timer(CREATE_ENEMY_EVENT, 1000)

    # 设置定时器事件 - 0.5秒创建一个子弹

    pygame.time.set_timer(HERO_FIRE, 100)

    def _create_sprite(self):

    # 创建背景精灵和精灵组

    bg1 = BackGround()

    bg2 = BackGround(True)

    self.back_group = pygame.sprite.Group(bg1, bg2)

    # 创建精灵组

    self.enemy_group = pygame.sprite.Group()

    # 创建英雄精灵和精灵组

    self.hero = Hero()

    self.hero_group = pygame.sprite.Group(self.hero)

    def start_game(self):

    print("游戏开始...")

    while True:

    # 设置刷新帧率

    self.clock.tick(FRAME_PER_SECOND)

    # 事件监听

    self._event_handler()

    # 碰撞检测

    self._check_collide()

    # 更新/绘制游戏精灵

    self._update_sprite()

    # 刷新屏幕

    pygame.display.update()

    def _event_handler(self):

    for event in pygame.event.get():

    if event.type == pygame.QUIT:

    PlanGame._game_over()

    elif event.type == CREATE_ENEMY_EVENT:

    # 创建敌机精灵

    enemy = Enemy()

    # 将创建的敌机精灵加到精灵组

    self.enemy_group.add(enemy)

    # 第一种按键监听方法

    # if event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT:

    # self.hero.speed = 2

    # elif event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT:

    # self.hero.speed = -2

    # else:

    # self.hero.speed = 0

    # 第二种:使用键盘模块提供的方法获取按键元组

    keys_pressed = pygame.key.get_pressed()

    # 判断元组中的按键索引值

    if keys_pressed[pygame.K_RIGHT]:

    self.hero.speed = 2

    elif keys_pressed[pygame.K_LEFT]:

    self.hero.speed = -2

    else:

    self.hero.speed = 0

    # 飞机发射子子弹事件

    self.hero.fire()

    def _check_collide(self):

    pygame.sprite.groupcollide(self.enemy_group, self.hero.bullets, True, True)

    enemy_list = pygame.sprite.spritecollide(self.hero, self.enemy_group, True)

    if len(enemy_list):

    self.hero.kill()

    PlanGame._game_over()

    def _update_sprite(self):

    self.back_group.update()

    self.back_group.draw(self.screen)

    self.enemy_group.update()

    self.enemy_group.draw(self.screen)

    self.hero_group.update()

    self.hero_group.draw(self.screen)

    self.hero.bullets.update()

    self.hero.bullets.draw(self.screen)

    @staticmethod

    def _game_over():

    print("游戏结束")

    pygame.quit()

    exit()

    if __name__ == '__main__':

    # 创建游戏对象

    game = PlanGame()

    # 启动游戏

    game.start_game()

    下面是初始化飞机精灵文件,文件名plan_sprite.py,主要功能包括初始化飞机精灵类,敌机类,子弹类,设置背景类等,代码如下:

    import random

    import pygame

    # 定义常量

    SCREEN_RECT = pygame.Rect(0, 0, 480, 700)

    FRAME_PER_SECOND = 60

    # 创建敌机的定时器常量

    CREATE_ENEMY_EVENT = pygame.USEREVENT

    HERO_FIRE = 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):

    # 调用父类的方法,创建敌机精灵,同时指定敌机图片

    super().__init__("./images/enemy1.png")

    # 指定敌机的随机速度

    self.speed = random.randint(1, 3)

    # 指定敌机的初始位置

    self.rect.bottom = 0

    max_x = SCREEN_RECT.width - self.rect.width

    self.rect.x = random.randint(1, max_x)

    def update(self):

    # 调用父类方法,保持垂直飞行

    super().update()

    # 判断是否飞出屏幕,若是,则从精灵组中删除敌机精灵

    if self.rect.y >= SCREEN_RECT.height:

    self.kill()

    def __del__(self):

    # print("敌机挂了 %s",self.rect)

    pass

    class Hero(GameSprite):

    """飞机精灵"""

    def __init__(self):

    # 调用父类方法,设置image_name

    super().__init__("./images/me1.png", 0)

    # 设置飞机初始位置

    self.rect.centerx = SCREEN_RECT.centerx # 设置飞机初始位置居中

    self.rect.bottom = SCREEN_RECT.bottom - 20 # 初始化飞机位置为距底部向上少20

    # 创建子弹精灵组

    self.bullets = pygame.sprite.Group()

    def update(self):

    # 飞机水平移动

    self.rect.x += self.speed

    if self.rect.left < 0: # 防止飞机从左边边界移出

    self.rect.left = 0

    elif self.rect.right > SCREEN_RECT.right: # 同理,防止飞机从右边移出边界

    self.rect.right = SCREEN_RECT.right

    def fire(self):

    # 创建子弹精灵

    bullet = Bullet()

    # 设置子弟位置

    bullet.rect.bottom = self.rect.y - 20

    bullet.rect.centerx = self.rect.centerx

    # 将精灵添加到精灵组

    self.bullets.add(bullet)

    class Bullet(GameSprite):

    """子弹精灵"""

    def __init__(self):

    super().__init__("./images/bullet1.png", -2) # 初始化子弹,-2为子弹移动速度

    def update(self):

    # 调用父类方法,子弹垂直飞行

    super().update()

    if self.rect.bottom < 0:

    self.kill()

    3、小结

    游戏界面就如开头图片所示,这个是比较简单的小游戏,代码难度不大,主要是才接触python,闲时可以写着玩,练一下手而已。

    如果有什么问题,欢迎留言讨论。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: python实现飞机大战微信小游戏

    本文地址: http://www.cppcns.com/jiaoben/python/239547.html

    展开全文
  • 项目稽忽悠不(github)地址(目前只上传了素材,代码还在整理中):https://github.com/BigShuang/From-simple-to-Huaji滑稽镇楼.png初始准备工作本项目使用的python3版本(如果你用python2,我不知会怎么样)Ide...
  • 二、pycharm源码文件以及图片素材资源已在主页上传,代码以及运行结果如下: import time import random from PIL import Image import pygame from pygame.constants import * #己方飞机类 class Player...
  • 简易飞机大战 链接:https://pan.baidu.com/s/1h58GGz2P5bhxHC5jmrQ2ow 提取码:pkxi 复制这段内容后打开百度网盘手机App,操作更方便哦
  • python飞机大战源码(含有全套素材)可直接运行,功能完善 python飞机大战源码(含有全套素材)可直接运行,功能完善
  • Python飞机大战项目源码
  • 【实例简介】Python版的飞机大战源码和素材。素材包括有图片和声音【实例截图】【核心代码】Python飞机大战└── Python飞机大战└── PythonShootGame-master├── gameRole.py├── mainGame.py└── ...
  • Python飞机大战源码
  • python基础练习 飞机大战源码。自学路上的果子,解解渴
  • 完整飞机大战源码。我的视频有演示,我就发出来了。更多源码可加群970353786下载。
  • 简单pygame小游戏 飞机大战 新手使用
  • python 飞机大战

    2018-09-04 11:10:38
    python飞机大战源码,可以一对一仔细看,免费领取素材图片。
  • 内含有小甲鱼python飞机大战的素材和源码,代码注释详细,更好地帮助你理解
  • 基于Python飞机大战源码,注释齐全,包含资源文件,可运行
  • 这个是用python语言写的飞机大战游戏,功能不多但精细,可以用来练手,也可以用来上交作业,这是我们小组一起做的,学到了很多,分享一下
  • 利用python语言,自定义动画,可用过上下左右键操控,实现飞机大战游戏。
  • python飞机大战已打包exe安装包 python飞机大战安装完在开始菜单中 python飞机大战解除程序也在开始菜单中 python飞机大战源码在 程序\安装路径

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 817
精华内容 326
关键字:

python飞机大战源码

python 订阅