学习编程是很快乐的事情。当我们自己开发出一套时下流行的游戏时,这满满的成就感比玩儿游戏本身高出了不知道会有多少倍。

接下来一段时间我们就python从0开始学习怎么开发 flappy brid 游戏。在学习之前,我们不需要有任何编程基础,只要会打开电脑上网即可。通过本系列课程的学习,同学们可以掌握python编程基础。能够自己动手开发一些自己喜欢的游戏。

在开始编程之前,让我们再看一下这个游戏怎么运行的吧。

看过flappy brid怎么玩儿之后,我们一起动手实现它。同学们按照下面的步骤完成本节课的学习。

安装python及IDE可以参考这个课程:

https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738150500472fd5785c194ebea336061163a8a974000

1. 怎么制作一个游戏

我们玩儿的游戏。从外观上看,包括:游戏背景、游戏角色、游戏声音、游戏动作几个模块。总结起来就是,我们的游戏角色在游戏背景上执行指定的动作,发出指定的声音。

用python编写游戏也是一样。我们首先设计好游戏大纲,把游戏大纲用python语言实现。然后填充好视觉图片和声音特效,我们的游戏就开发完成了。

2.pygame介绍

使用python开发游戏时,我们经常引入pygame库。什么是“库”呢?python库就是别人写好的一些完成特定功能的代码。就像我们手机安装的有各种各样的App,python也有各种各样的库。pygame就是python开发游戏常用的库。

我们为什么要使用python库呢?一些想计算器等简单的程序,我们只需要自己写代码就可以完成整个程序的开发。但是像我们玩儿的手机游戏、用的微信、QQ等程序都有比较复杂的功能,如果整个程序都有我们来开发。那会是几十万行代码的工作量,由于代码行数多,还容易引起bug。建筑工人盖楼时,我们不会在工地上自己做钢板瓷砖,而是用其他团队给我们生产好的瓷砖直接使用。我们写程序时也会经常使用其他团队开发的‘库’来简化我们的程序,通过引入库,我们可以和世界上任何一个程序员一起合作,协同开发。

pygame作为python的游戏库,具有 简单易用、功能完整、只需要少量代码即可完成游戏渲染等特点。是我们用python开发游戏的利器。

3.pygame安装

要想给python安装库,我们经常使用pip工具作为辅助。pip的安装方法如下。

1:用浏览器打开

https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz 压缩包下载后解压到指定文件夹

2: 用命令行进入解压后的文件夹,运行 python setup.py install 命令,完成pip的安装

pip安装完成后,我们就可以使用 python -m pip install -U pygame –user 命令安装 pygame了。

4.pygame-helloworld

pygame库安装好后,我们就可以用python开发游戏了。我们打开pycharm,新建一个python文件,将下面的代码粘贴到文件中,我们的第一个游戏就制作完成了!虽然有些简单,但是也像模像样。

import sys, pygame

pygame.init()

width = 320

height = 240

speed = [2, 2]

screen = pygame.display.set_mode([width, height])

ball = pygame.image.load("../assets/sprites/ball.gif")

ball_rect = ball.get_rect()

while True:

for event in pygame.event.get():

if event.type == pygame.QUIT:

sys.exit()

ball_rect = ball_rect.move(speed)

print(ball_rect.left, ball_rect.right, ball_rect.top, ball_rect.bottom)

if ball_rect.left < 0 or ball_rect.right > width:

speed[0] = -speed[0]

if ball_rect.top < 0 or ball_rect.bottom > height:

speed[1] = -speed[1]

screen.fill([0, 0, 0])

screen.blit(ball, ball_rect)

pygame.display.flip()

我们发现代码是由一行行英语句子来组成的,如果我们认识这些单词,阅读这些代码就相当简单了。编程大量的依靠数学和英语,我们一定要在学校里把数学和英语掌握好哦。

5. pygame核心模块介绍

cursors

加载光标

display

访问显示设备

draw

绘制形状、线和点

event

管理事件

image

加载和存储图片

key

读取键盘按键

mouse

鼠标

sndarray

操作声音数据

time

管理时间和帧信息

transform

缩放和移动图像

6. FlappyBird让鸟儿动起来

接下来,我们就来开发FlappyBird游戏。这节课,我们先完成游戏背景、小鸟起飞的部分。

首先我们还是来看一下代码,再新建一个python文件,将下面的代码粘贴到文件中,点击运行。我们发现游戏背景和小鸟就出现了。当我们按下键盘的空格键,小鸟还会向上飞。

import sys

import pygame

from pygame.locals import *

screenWidth = 288

screenHeight = 512

pygame.init()

pygame.display.set_caption('Flappy Bird')

fpsClock = pygame.time.Clock()

screen = pygame.display.set_mode((screenWidth, screenHeight))

background = pygame.image.load('../assets/sprites/background-day.png').convert()

player = pygame.image.load('../assets/sprites/redbird-upflap.png').convert_alpha()

playerX = int(screenWidth * 0.2)

playerY = int((screenHeight - player.get_height()) / 2)

while True:

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

screen.blit(player, (playerX, playerY))

for event in pygame.event.get():

if event.type == QUIT:

pygame.quit()

sys.exit()

if event.type == KEYDOWN and event.key == K_SPACE:

playerY = playerY - 20

pygame.display.update()

fpsClock.tick(60)

好了,这节课就讲完了。本节我们首先复习了什么是python。什么是python的库。介绍了pygame,用pygame写了我们的第一个游戏。接下来,我们一起完成Flappy Brid游戏吧。

python编程少儿游戏编程_少儿编程课堂|python – 用游戏学编程相关推荐

  1. python全栈开发下载_网易云课堂Python Flask框架全栈开发,全套视频教程学习资料通过百度云网盘下载...

    适用人群 1.想使用Python快速开发网站的. 2.前端开发者,想学习后端开发逻辑的. 3.有编程经验,想学习Flask的. 课程概述 本套课程的目标是从零基础开始,使用Flask框架开发企业级的项 ...

  2. python可以学会编程语言吗_为什么我建议你一定要学Python?

    你有被朋友圈掀起的python热"烫到"了吗? 之前我就被朋友圈的一则python广告惊到了! 今天见到这个广告的点赞评论依旧那么多!热度丝毫没有要减的意思(目瞪口呆.jpg) 朋 ...

  3. 编程之类的文案_少儿编程宣传推广文案

    我们是一家趣味编程头脑训练营,以小学生为训练对象,主要是以解决家长对孩子的学习教育问题为依据,让孩子能够主动参与学习,激发孩子的学习兴趣,培养孩子探索未知的兴趣和勇气.特征集一句少儿编程宣传推广文案, ...

  4. 用java玩的游戏平台_分享4个边玩边学Python的编程游戏网站

    原标题:分享4个边玩边学Python的编程游戏网站 前言 大家好,欢迎来到 Crossin的编程教室 ! 学习编程虽然对有些人来说是件乐事,但是对大多数人来说仍然是一件比较枯燥困难的事情.当然,面临这 ...

  5. python编程思维导图_用来梳理 Python 编程核心知识15张思维导图

    原标题:用来梳理 Python 编程核心知识15张思维导图 小编这次在逛论坛的时候,无意中发现了一份python的武功秘籍,也就是一份思维导图,堪称业界经典! 思维导图可以有力地激发你的联想,通过一个 ...

  6. python初学者编程指南源码_如何系统地自学 Python?

    是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓? 幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间 ...

  7. 小孩子学python有什么用途和价值_小码精灵:为什么让孩子学编程是最有价值投资...

    原标题:小码精灵:为什么让孩子学编程是最有价值投资 (小码精灵编程课) 时光永远不会逆行,把握属于自己的每一天. 现在的孩子,除了白天基础课程的学习外,还要奔走在各大培训班之间. 家长们认为,让孩子在 ...

  8. python turtle绕原点旋转_「加德老师与小朋友们的编程之旅」Python海龟作图(上)

    加德老师寄语: 小朋友们,家长朋友们,大家好! [加德老师与小朋友们的编程之旅]今天迎来第二节课--用python进行海龟作图(上) Python被誉为现今人工智能第一语言,适合9岁以上孩子进行编程入 ...

  9. python编程要懂英语吗_初中毕业没有英语基础能学编程吗?该学C还是Python?

    初中毕业,现在想自学编程,想问一下先学英语还是先学编程语言,先学什么语言?我初中毕业3年了,现在18,初中的学的基本上忘记了,现在也有时间,想把它当做一辈子的事业来做,但对编程这方面还是不怎么了解,还 ...

  10. python计时器程序设计总框图_【怎么用python编写计时器?这个编程的方法你一定不要错过】- 环球网校...

    [摘要]现在学习python的人都在思考,怎么用python编写计时器?这个编程的方法你一定不要错过,环球网校小编建议大家可以试着自己编写功能性代码,毕竟实践出真知,所以你一定要知道怎么用python ...

最新文章

  1. 30岁暂别职场、40岁提前退休:不上班的生活,开心吗?
  2. 为freetextbox1.6.5上传图片加上水印
  3. ntu ERIC 课程笔记
  4. U3D 场景切换时 脚本对象,GO对象,资源对象的问题
  5. 本周日,王海峰、朱军、李宏毅等大咖邀你加入这场AI开发者盛宴
  6. hi3519av100 2.0版本sdk编译提示 cannot find uuid library required for mkfs.ubifs
  7. IBM HTTP Server Websphere Plugin
  8. SAP Spartacus index.html 里的 occ-backend-base-url 如何被解析的?
  9. Cookie、cookie使用方法
  10. winform中treeview控件实现部分节点显示checkbox
  11. 刚接触Python,这么多IDE我该怎么选
  12. android contentresolver 批量,Android之使用ContentResolver对通信录中的数据进行简单操作...
  13. Cards BZOJ 1004
  14. 译Selenium Python Bindings 6 - WebDriver API
  15. 局部搜索算法 之 局部搜索算法,爬山法,模拟退火,集束搜索,遗传算法
  16. 医学图像处理眼科检查
  17. JJ斗地主记牌器java开发,【欢乐斗地主记牌器制作】遇到两个问题
  18. Windows下利用N2N访问内网资源,点对网的实现
  19. 2018年秋招运维岗面试常见python和数据结构知识点总结
  20. 《网络攻防》Web安全基础实践

热门文章

  1. 华为的深度学习平台:ModelArts
  2. 网易云信上线合作伙伴计划,亿元订单等你强强联合!
  3. 突发热点事件下微博高可用注册中心vintage的设计\u0026实践
  4. 2018秋招面经:斗鱼、滴滴、百度、美团、小米、腾讯
  5. jmap之使用说明与JVM配置
  6. 四种方法使Map线程安全
  7. 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥...
  8. TCPview 介绍
  9. Dns服务器与iptables的问题【已解决】
  10. 使用resNet网络 进行图像分类(jupyter notebook)