python飞机大战素材黑马_Python基础day12飞机大战(上)
本帖最后由 小江哥 于 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飞机大战(上)相关推荐
- python qtextedit设置光标位置_Python基础命令学习——就这一篇文章就够了
一.python的定义: python是一种计算机程序设计语言,是一种解释型.编程型的脚本语言. 发现有很多想要学习Python却不知道如何下手的朋友,我这里整理了一些关于Python的学习资料,从基 ...
- python常用命令参考手册_Python基础#常用命令和函数
本篇内容为个人之前所有学的python常用命令和函数的整理,后期会不断更新.由于本人平时双开,会同时包含python2和python3的命令,同时会以 #py2 #py3的注释注明, 没有注明的就代表 ...
- python爬虫视频 下载 黑马_Python爬虫能爬视频么(python爬虫零基础视频教程)
Python爬虫能爬视频么 他视频没有的,但是跑了之后你要处理这个视频,就是问题的?你只需要,得到视频的播放地址,还是要把视频完整的下载到本地的.如果只是爬那个视频的下载地址,很简单,如果要下载的话, ...
- python飞机大战计分代码_Python项目实战-飞机大战
{getUnitName} {getLessonName} 敬请期待 免费 {getTaskName} 剩余观看时长:{watchLimitRemaining} 回放 {activityStartTi ...
- python可以这样学读后感_Python基础教程的读后感10篇
<Python基础教程>是一本由Magnus Lie Hetland著作,人民邮电出版社出版的平装图书,本书定价:69.00元,页数:471,文章吧小编精心整理的一些读者的读后感,希望对大 ...
- python教程文档下载_Python基础教程(第2版)PDF文档下载
本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能"瞻前"也能"顾后".本书层次鲜明.结构严谨.内容翔实,特别是 ...
- 用python循环语句求素数_Python基础入门_3条件语句和迭代循环
Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...
- python储存数据的容器_Python基础四容器类数据
一.上周内容回顾 int bool str 之间的互相转换 int str: str(int) int(str) #字符串必须是数字组成 int bool: bool(int): 非零即True ...
- python数字类型及运算_Python基础之(基本数据类型及运算)
一.运算 1.1.算数运算 1.2.比较运算: 1.3.赋值运算: 1.4.逻辑运算: 1.5.成员运算: 针对逻辑运算的进一步研究: 1.在没有()的情况下not 优先级高于 and,and优先级高 ...
- python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块
什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...
最新文章
- 输入一个整数,判断是奇数还是偶数
- linux snmp更改端口号,snmpd服务无法更改默认端口
- 一个编程菜鸟的进阶之路(C/C++)
- UNIX再学习 -- 标准I/O
- 开放报名 | 阿里云 Serverless 研修班走进四川大学
- HTTP系列之:HTTP缓存
- tf.nn.softmax
- leetcode 218. 天际线问题
- laravel小记(composer 安装和predis使用)
- 【DP】LeetCode 64. Minimum Path Sum
- OpenGL纹理贴图流程
- 1124Js基础语法
- 仿微信选项卡主页面创建
- 【元胞自动机】基于matlab保守策略元胞自动机三车道(开放辅路,软件园影响)交通流模型【含Matlab源码 1295期】
- android 控制手机音量大小,android 控制手机音量的大小 切换声音的模式
- 集团税务共享化、数字化系统如何选型(一)
- 如何换主题不被搜索降权
- 江恩 计算机,江恩计算器
- mysql存储用户昵称_mysql 微信用户昵称 emoji 完整保存 - 人人都是架构师
- 第四章 linux字符设备的编写一
热门文章
- 数据库原理及应用教程 第四版|微课版答案 陈志泊主编
- 05-信息管理系统--主页面显示当前用户实现退出功能实现
- 开源项目工时系统_工时统计系统 - 服务端
- c语言代码 txt下载,贪吃蛇C语言代码.txt
- matlab仿真软件 R2017a版本下载
- 怎么在苹果手机计算机上打字,iPhone苹果手机在打字时如何进行换行
- 计算机软件 退货,如何在在电脑收银系统中实现商品退货
- 用Node.JS分析steam所有的游戏!
- IT项目管理之第7章 项目质量管理习题之案例分析汇总
- 微信小程序实战十一:uni中集成ocr身份证识别功能