本帖最后由 小江哥 于 2019-1-19 11:38 编辑

飞机大战代码:搭建界面

9.png (51.37 KB, 下载次数: 5)

2019-1-19 11:31 上传

[Python] 纯文本查看 复制代码#coding=utf-8

import pygame

'''

1. 搭建界面,主要完成窗口和背景图的显示

'''

def main():

#1. 创建一个窗口,用来显示内容

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

#2. 创建一个和窗口大小的图片,用来充当背景

background = pygame.image.load("./feiji/background.png")

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

while True:

#设定需要显示的背景图

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

#更新需要显示的内容

pygame.display.update()

if __name__ == "__main__":

main()

飞机大战代码:检测键盘

[Python] 纯文本查看 复制代码#coding=utf-8

import pygame

from pygame.locals import *

'''

2. 用来检测事件,比如按键操作

'''

def main():

#1. 创建一个窗口,用来显示内容

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

#2. 创建一个和窗口大小的图片,用来充当背景

background = pygame.image.load("./feiji/background.png")

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

while True:

#设定需要显示的背景图

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

#获取事件,比如按键等

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')

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

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

print('right')

#检测按键是否是空格键

elif event.key == K_SPACE:

print('space')

#更新需要显示的内容

pygame.display.update()

if __name__ == "__main__":

main()

飞机大战代码:显示、控制玩具飞机-面向过程

10.png (52.42 KB, 下载次数: 10)

2019-1-19 11:33 上传

[Python] 纯文本查看 复制代码#coding=utf-8

import pygame

from pygame.locals import *

'''

3. 使用面向过程的方式来显示一个飞机,并控制其左右移动

'''

def main():

#1. 创建一个窗口,用来显示内容

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

#2. 创建一个和窗口大小的图片,用来充当背景

background = pygame.image.load("./feiji/background.png")

#测试,用来创建一个玩家飞机的图片

hero = pygame.image.load("./feiji/hero1.png")

#用来保存飞机的x,y坐标

x=0

y=0

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

while True:

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

#设定需要显示的飞机图片

screen.blit(hero,(x,y))

#判断是否是点击了退出按钮

for event in pygame.event.get():

# print(event.type)

if event.type == QUIT:

print("exit")

exit()

elif event.type == KEYDOWN:

if event.key == K_a or event.key == K_LEFT:

print('left')

#控制飞机让其向左移动

x-=5

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

print('right')

#控制飞机让其向右移动

x+=5

elif event.key == K_SPACE:

print('space')

pygame.display.update()

if __name__ == "__main__":

main()

[font="] 飞机大战代码:显示、控制玩具飞机-面向对象

11.png (112.87 KB, 下载次数: 18)

2019-1-19 11:34 上传

[Python] 纯文本查看 复制代码#coding=utf-8

import pygame

from pygame.locals import *

'''

4. 使用面向对象的方式显示飞机,以及控制其左右移动

接下来要做的任务:

1. 实现飞机在你想要的位置显示

2. 实现按键控制飞机移动

'''

class HeroPlane(object):

def __init__(self, screen):

#设置飞机默认的位置

self.x = 230

self.y = 700

#设置要显示内容的窗口

self.screen = screen

#用来保存英雄飞机需要的图片名字

self.imageName = "./feiji/hero1.png"

#根据名字生成飞机图片

self.image = pygame.image.load(self.imageName)

def display(self):

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

def moveLeft(self):

self.x -= 10

def moveRight(self):

self.x += 10

def key_control(heroPlane):

#判断是否是点击了退出按钮

for event in pygame.event.get():

# print(event.type)

if event.type == QUIT:

print("exit")

exit()

elif event.type == KEYDOWN:

if event.key == K_a or event.key == K_LEFT:

print('left')

heroPlane.moveLeft()

#控制飞机让其向左移动

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

print('right')

heroPlane.moveRight()

elif event.key == K_SPACE:

print('space')

def main():

#1. 创建一个窗口,用来显示内容

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

#2. 创建一个和窗口大小的图片,用来充当背景

background = pygame.image.load("./feiji/background.png")

#3. 创建一个飞机对象

heroPlane = HeroPlane(screen)

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

while True:

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

heroPlane.display()

key_control(heroPlane)

pygame.display.update()

if __name__ == "__main__":

main()

飞机大战代码:玩家飞机发射子弹

[Python] 纯文本查看 复制代码#coding=utf-8

import pygame

from pygame.locals import *

'''

5. 实现玩家飞机发射子弹

接下来要做的任务:

1. 实现飞机在你想要的位置显示

2. 实现按键控制飞机移动

3. 实现按下空格键的时候,显示一颗子弹

'''

class HeroPlane(object):

def __init__(self,screen):

#设置飞机默认的位置

self.x = 230

self.y = 700

#设置要显示内容的窗口

self.screen = screen

self.imageName = "./feiji/hero1.png"

self.image = pygame.image.load(self.imageName)

#用来存储英雄飞机发射的所有子弹

self.bulletList = []

def display(self):

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

for bullet in self.bulletList:

bullet.display()#显示一个子弹的位置

bullet.move()#让这个子弹进行移动,下次再显示的时候就会看到子弹在修改后的位置

def moveLeft(self):

self.x -= 10

def moveRight(self):

self.x += 10

def sheBullet(self):

newBullet = Bullet(self.x, self.y, self.screen)

self.bulletList.append(newBullet)

class Bullet(object):

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

self.x = x+40

self.y = y-20

self.screen = screen

self.image = pygame.image.load("./feiji/bullet.png")

def move(self):

self.y -= 5

def display(self):

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

def key_control(heroPlane):

#判断是否是点击了退出按钮

for event in pygame.event.get():

# print(event.type)

if event.type == QUIT:

print("exit")

exit()

elif event.type == KEYDOWN:

if event.key == K_a or event.key == K_LEFT:

print('left')

heroPlane.moveLeft()

#控制飞机让其向左移动

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

print('right')

heroPlane.moveRight()

elif event.key == K_SPACE:

print('space')

heroPlane.sheBullet()

def main():

#1. 创建一个窗口,用来显示内容

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

#2. 创建一个和窗口大小的图片,用来充当背景

background = pygame.image.load("./feiji/background.png")

#3. 创建一个飞机对象

heroPlane = HeroPlane(screen)

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

while True:

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

heroPlane.display()

key_control(heroPlane)

pygame.display.update()

if __name__ == "__main__":

main()

python飞机大战素材黑马_Python基础day12飞机大战(上)相关推荐

  1. python qtextedit设置光标位置_Python基础命令学习——就这一篇文章就够了

    一.python的定义: python是一种计算机程序设计语言,是一种解释型.编程型的脚本语言. 发现有很多想要学习Python却不知道如何下手的朋友,我这里整理了一些关于Python的学习资料,从基 ...

  2. python常用命令参考手册_Python基础#常用命令和函数

    本篇内容为个人之前所有学的python常用命令和函数的整理,后期会不断更新.由于本人平时双开,会同时包含python2和python3的命令,同时会以 #py2 #py3的注释注明, 没有注明的就代表 ...

  3. python爬虫视频 下载 黑马_Python爬虫能爬视频么(python爬虫零基础视频教程)

    Python爬虫能爬视频么 他视频没有的,但是跑了之后你要处理这个视频,就是问题的?你只需要,得到视频的播放地址,还是要把视频完整的下载到本地的.如果只是爬那个视频的下载地址,很简单,如果要下载的话, ...

  4. python飞机大战计分代码_Python项目实战-飞机大战

    {getUnitName} {getLessonName} 敬请期待 免费 {getTaskName} 剩余观看时长:{watchLimitRemaining} 回放 {activityStartTi ...

  5. python可以这样学读后感_Python基础教程的读后感10篇

    <Python基础教程>是一本由Magnus Lie Hetland著作,人民邮电出版社出版的平装图书,本书定价:69.00元,页数:471,文章吧小编精心整理的一些读者的读后感,希望对大 ...

  6. python教程文档下载_Python基础教程(第2版)PDF文档下载

    本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能"瞻前"也能"顾后".本书层次鲜明.结构严谨.内容翔实,特别是 ...

  7. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...

  8. python储存数据的容器_Python基础四容器类数据

    一.上周内容回顾 int bool str 之间的互相转换 int  str: str(int) int(str)  #字符串必须是数字组成 int bool: bool(int): 非零即True ...

  9. python数字类型及运算_Python基础之(基本数据类型及运算)

    一.运算 1.1.算数运算 1.2.比较运算: 1.3.赋值运算: 1.4.逻辑运算: 1.5.成员运算: 针对逻辑运算的进一步研究: 1.在没有()的情况下not 优先级高于 and,and优先级高 ...

  10. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块

    什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...

最新文章

  1. 输入一个整数,判断是奇数还是偶数
  2. linux snmp更改端口号,snmpd服务无法更改默认端口
  3. 一个编程菜鸟的进阶之路(C/C++)
  4. UNIX再学习 -- 标准I/O
  5. 开放报名 | 阿里云 Serverless 研修班走进四川大学
  6. HTTP系列之:HTTP缓存
  7. tf.nn.softmax
  8. leetcode 218. 天际线问题
  9. laravel小记(composer 安装和predis使用)
  10. 【DP】LeetCode 64. Minimum Path Sum
  11. OpenGL纹理贴图流程
  12. 1124Js基础语法
  13. 仿微信选项卡主页面创建
  14. 【元胞自动机】基于matlab保守策略元胞自动机三车道(开放辅路,软件园影响)交通流模型【含Matlab源码 1295期】
  15. android 控制手机音量大小,android 控制手机音量的大小 切换声音的模式
  16. 集团税务共享化、数字化系统如何选型(一)
  17. 如何换主题不被搜索降权
  18. 江恩 计算机,江恩计算器
  19. mysql存储用户昵称_mysql 微信用户昵称 emoji 完整保存 - 人人都是架构师
  20. 第四章 linux字符设备的编写一

热门文章

  1. 数据库原理及应用教程 第四版|微课版答案 陈志泊主编
  2. 05-信息管理系统--主页面显示当前用户实现退出功能实现
  3. 开源项目工时系统_工时统计系统 - 服务端
  4. c语言代码 txt下载,贪吃蛇C语言代码.txt
  5. matlab仿真软件 R2017a版本下载
  6. 怎么在苹果手机计算机上打字,iPhone苹果手机在打字时如何进行换行
  7. 计算机软件 退货,如何在在电脑收银系统中实现商品退货
  8. 用Node.JS分析steam所有的游戏!
  9. IT项目管理之第7章 项目质量管理习题之案例分析汇总
  10. 微信小程序实战十一:uni中集成ocr身份证识别功能