少儿编程:python趣味编程第一课
本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的
大家好,我是C大叔,从事少儿编程行业三年有余(2016年从事少儿编程行业,少儿编程概念是2015年在中国正式提出的)。一直以来都是在做scratch,JavaScript以及信息学奥赛C++的讲师,教研等工作,但目前发现python课程非常火爆,为了让小朋友也能更好的学python课程,因此准备开启一系列的专栏,介于我对少儿编程,少儿编程理念,以及对小学生编程学习能力的培养较为熟练,但对于python这门编程语言不是特别熟练(三年内都在从事scratch,JavaScript以及信息学奥赛C++的讲师及教研工作),所以有不足的地方希望大家能够指出来,互相学习。。。先谢谢大家了
- 准备工作
- 环境搭建
- 新建python项目
- 在pycharm中安装pygame
- 正式学习
- 代码及文件导入
- 学习
1.准备工作
1)环境搭建:参考https://www.runoob.com/python3/python3-install.html
2)新建python项目:参考https://blog.csdn.net/discover_thinker/article/details/80238506
3)在pycharm中安装pygame:参考https://www.cnblogs.com/LHJL8023/p/8441016.html
2.正式学习
1)代码及文件导入
复制下面代码到新建的python项目中
import pygame
import sys
pygame.init()
screen = pygame.display.set_mode((1173,502))
pygame.display.set_caption('压扁小鸟')
bg = pygame.image.load("img/bg.jpg")
logo = pygame.image.load("img/logo.png")
bird = pygame.image.load("img/bird.png")
angrybird = pygame.image.load("img/angrybird.png")
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
新建一个文件夹命名为img(如下图)

将下面素材复制到img文件夹中




如图所示

2)学习
(1)编译运行
我们已经复制过来一段代码了,那怎么运行呢?现在点击Run-->Run,选择test01(这里老师新建的python文件命名为test01),如果跟参考教程一样的话应该是demo1,这里默认tese01,选择test01,会弹出一个pygame运行框.


(2)坐标
图上粉红衣服小女孩在第3列,第2排,我们可以简称为她的坐标为(3,2),即可以用(x,y)来表示位置

下图是计算机的坐标系,是以左上角为坐标原点,向右出发x轴上的坐标会增大,向下出发y轴的坐标会增大

刚刚运行出来的框框同学们还记得吗,它的左上角的坐标就是(0,0),向右出发x轴上的坐标会增大,向下出发y轴的坐标会增大,现在我们来给运行出来的这个框框添加一张背景图,也就是画一个背景,图片是一个面,它的坐标点在哪呢?其实跟计算机一样,它的坐标点也是在左上角,也就是说图片是以左上角为坐标点的。那么在哪里画呢?同学们可以看到我们的12行是空着的,我们把鼠标点在第12行,在上面输入下面代码:
screen.blit(bg,(0,0))
上面代码表示的是,把bg(背景)这张图片画在pygame屏幕的左上角,运行后会发现图片左上角与屏幕左上角重叠了
接下来我们再画一只小鸟,我们把它画在(100,200)的位置,即:
screen.blit(bird,(100,200))
这样的话屏幕上就会出现一张背景和一只小鸟了!!!
现在还剩下两张图片,请同学们自己试一下吧?
如果还有疑问可以评论或者私聊哦,也可以关注我的公众号给我发私信,WX公众号为:NOIP信奥网,哈哈哈,听这公众号的名字就知道老师是教信奥赛的。
少儿编程:python趣味编程第一课的更多相关文章
- 少儿编程:python趣味编程第二课,如何在pygame中写文字
python趣味编程第二课:本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的 大家好,我是C大叔,上一篇文章已经跟大家介绍了一款开发 ...
- 第九章:Python高级编程-Python socket编程
第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...
- Python之路第一课Day7--随堂笔记(面向对象编程进阶...未完待续 )
本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 一.静态方法 通过@s ...
- Python之路第一课Day8--随堂笔记(socket 承接上节---网络编程)
本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...
- Python之路第一课Day6--随堂笔记(面向对象 )
本节内容: 1. 面向对象编程介绍 2. 为什么要用面向对象进行开发? 3. 面向对象的特性:封装.继承.多态 4. 类.方法 一.面向过程 VS 面向对象 1. 编程范式 编程是 程序 员 用 ...
- Python之路第一课Day4--随堂笔记(迭代生成装饰器)
上节回顾: 1.集合 a.关系测试 b.去重 2.文件操作及编码 3.函数 4.局部变量和全局变量 上节回顾 本节课内容: 1.迭代器生成器 2.装饰器 3.json pickle数据序列化 4.软件 ...
- Python之路第一课Day3--随堂笔记(文件操作)
一.集合的介绍 1.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = se ...
- Python之路第一课Day1--随堂笔记
课堂大纲: 一.Python介绍 二.发展史 三.Python 2 or 3? 四.安装 五.Hello World程序 六.变量 七.用户输入 八.模块初识 九..pyc是个什么鬼? 十.数据类型初 ...
- Python之路第一课Day10--随堂笔记(异步IO\数据库\队列\缓存)
本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SS ...
随机推荐
- JDBC——使用JDBC连接MySQL数据库
在JDBC--什么是JDBC一文中我们已经介绍了JDBC的基本原理. 这篇文章我们聊聊如何使用JDBC连接MySQL数据库. 一.基本操作 首先我们需要一个数据库和一张表: CREATE DATABA ...
- WeChair项目Beta冲刺(7/10)
团队项目进行情况 1.昨日进展 Beta冲刺第七天 昨日进展: 前后端并行开发,项目按照计划有条不絮进行 2.今日安排 前端:扫码占座功能和预约功能并行开发 后端:扫码占座后端逻辑开发,编码预约 ...
- node.js 安装方法 以及 用原声搭建服务器
node.js 安装方法: 第一步: 64位的安装包网址: https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi 第二步: 进入命令提示框 输入 ...
- Downloadmanager实现app实现的升级下载使用
1.app升级下载现在不推荐使用downloadmanager下载: 原因有下面的几个方面: (1)三星note系列部分手机需要手动打开这个权限才能用这个功能,而有些国产手机更加nb了直接个阉割了(d ...
- JavaWeb网上图书商城完整项目--day02-20.修改密码各层实现
1.我们来看看后台操作的业务流程 每一层都按照上面的步骤来进行实现: 这里我们要使用commUtils.toBean把表单提交的参数封装成User对象,必须保证User对象中的字段和表单提交的字段的名 ...
- 001_动力节点_SpringMVC4_SpringMVC简介
1.视频的下载地址是 下载地址:百度云盘 链接:http://pan.baidu.com/s/1ge58XW3 密码:yd5jhttp://www.java1234.com/a/javaziliao/ ...
- 小师妹学JVM之:JIT中的PrintCompilation
目录 简介 PrintCompilation 分析PrintCompilation的结果 总结 简介 上篇文章我们讲到了JIT中的LogCompilation,将编译的日志都收集起来,存到日志文件里面 ...
- bug和测试报告思维导图
Bug定义: 1.不符合需求的 2.程序本身的报错 3.不符合用户使用习惯的 Bug生命周期: 当我们测试人员提交一个bug的时候,自始bug就有它的生命周期,从开始到结束, 把测试的过程和结果写成文 ...
- 硬件对同步的支持-TAS和CAS指令
目录 Test and Set Compare and Swap 使用CAS实现线程安全的数据结构. 现在主流的多处理器架构都在硬件水平上提供了对并发同步的支持. 今天我们讨论两个很重要的硬件同步指令 ...
- 分享 HT 实用技巧:实现指南针和 3D 魔方导航
前言 三维场景时常需要一个导航标识,用来确定场景所处的方位. 一般有两种表现形式:指南针.小方盒(方位魔方). 参考一下百度百科中的 maya 界面,可以看到右上角有一个标识方位的小盒子,说的就是它: ...