高中信息技术教科版 (2019)必修1 数据与计算4.4 综合问题的解决一等奖教学设计
展开计算与问题解决
教学主题
综合问题的解决
教学目标
知识与技能
通过pygame库游戏的任务拆解,能够插入文本、图片。
能够根据需求简单代码,并自主dbug程序。
过程与方法
通过实现游戏的简单游戏,让学生能够感受程序的高阶运行过程,库运行原理,提升问题和代码的调试能力。
情感态度价值观
能够通过游戏设计,对程序运行和Pythn的探索兴趣,为后续职业选择打下兴趣基础。
核心素养培养
通过对代码的综合运用,提升程序调试能力,能够用计算思维处理和分析日常生活中的事务。
教学内容
Pygame库;问题解决要素分步实现;插入文字、图片、鼠标事件实现。
教学媒体
电子白板、PPT
教学过程
教学环节
教师活动
学生活动
设计意图
游戏导入
播放【简单的点击小球】游戏,该游戏是由教师制作的简单游戏,通过直面运行程序让学生观看并自主运行程序结果。
首先观看视频,并根据教师的代码素材运行Pythn文件,让学生能够自主运行,并自主玩乐游戏。
游戏的实现属于综合问题解决,需要先让学生看到结果,激发学生探究的兴趣。
活动分析
【点击小球游戏】
【游戏要素】
界面
分数
小球
鼠标点击动作
根据教师分析,一起分解小球实现的具体内容。
综合与分析是一项计算思维的必备内容。学生面对抽象内容时,必然要分析、拆解如何通过小部分、小步骤内容来实现。
学生根据教师引导分解综合问题,提升综合分析问题的能力。
活动探究
活动一、【窗口界面】
imprt pygame
pygame.init() # 初始化Pygame
size = width, height = 320, 240 # 设置窗口
screen = (size) # 显示窗口
# 执行死循环,确保窗口一直显示
while True:
# 检查事件
fr event in (): # 遍历所有事件
if event.type == pygame.QUIT: # 如果单击关闭窗口,则退出
sys.exit()
pygame.quit()
【学生模仿代码,实现结果】
知识讲解
【Pygame库】
#屏幕尺寸
(200,300)#屏幕尺寸为200*300
#窗口标题
(‘贪吃蛇游戏’)
#刷新
()#第一次刷新
()#第二次刷新
#屏幕颜色
((255,0,0))
播放【教师的插入修改视频】
学生实现上述界面。
认真听讲,记录笔记。
根据左侧提示,自主设置代码
1、修改屏幕尺寸
2、修改窗口标题
3、修改屏幕填充色
观看视频,并且不断修正代码。
在分解任务的过程中,集成程序教学法的小步骤,以紧密的任务安排让学生在实践练习中加深对程序设计的理解,并不断提升程序调试的能力,让学生感受综合问题解决时所具备的心态、情绪、能力和知识技能,不断提升对信息技术的探究兴趣。
活动二、【字体画笔】
【字体画笔】
scre=0#初始定义分数为0
def shwscre(scre):#设置分数函数
textfnt=('宋体',40)#设置画笔对象
t=textfnt.render('scre:'+str(scre),True,(255,0,0))#定义画笔实例
screen.blit(t,[50,50])#将画笔写在屏幕上
while True:
shwscre(scre)
()
讲解并播放如何显示分数的视频。
【屏幕坐标】
请思考以下画笔都分布在界面哪些位置,并修改坐标代码,实现结果。
screen.blit(t,[0,0]
screen.blit(t,[50,50]
screen.blit(t,[100,50]
screen.blit(t,[50,100]
播放【分数坐标】视频。
在教师指导下认识代码,运行结果。
观看视频,修正代码,记录笔记。
根据题意自主实现结果,总结结论。
活动三、【小球显示】
imprt pygame,time,sys
pygame.init() # 初始化Pygame
size = width, height = 320, 240 # 设置窗口
screen = (size) # 显示窗口
screen.fill((255,255,255))
img=(‘ball.png’)#加载小球图片
# 执行死循环,确保窗口一直显示
while True:
time.sleep(0.1) # 0.1秒
screen.blit(img,(0,0))
()
# 检查事件
fr event in (): # 遍历所有事件
if event.type == pygame.QUIT: # 如果单击关闭窗口,则退出
sys.exit()
pygame.quit()
【图片插入】
img=(‘ball.png’)#加载小球图片
screen.blit(img,(0,0))#将图片加载到屏幕上,并放在屏幕坐标的(0,0)位置。
【图片方法】
获取图片大小:img.get_size()
按照尺寸缩放:(img, (100, 100)),参数:scale(缩放对象,目标大小),
按照比例缩放:(img,),参数:rtzm(缩放/旋转对象,旋转角度,缩放比例)
自主探索,给屏幕增加背景图片,并且按照屏幕尺寸把图片尺寸调整,得到小球图片的四个顶点坐标。
A点(x,y)
B点(x,y+h)
C点(x+w,y)
D点(x+w,y+h)
播放【图片坐标】的视频
【图片随机显示】
分析:图片的随机显示,是为了让图片的左顶点的坐标是随机数字,使得图片能够随机显示。
imprt randm#导入随机数字库
#设置随机坐标
x=img_x,img_y=randm.randint(20,500),randm.randint(20,200)
#加载在屏幕上
screen.blit(img,[img_x,img_y])
()#屏幕刷新
播放【图片随机显示】视频。
模仿代码,运行结果
模仿并实现结果之后,认真听讲,记录笔记。
记录笔记并自主尝试。
完成任务。
根据教师引导寻找并写出四个点的坐标,以此认识位置。
观看视频,记录笔记。
跟随教师分析。
理解并模仿代码。
观看视频。
实现结果。
活动四、【鼠标点击事件】
while True:
screen.fill((255,255,255))
time.sleep(0.1) # 0.1秒
# 检查事件
fr event in (): # 遍历所有事件
if event.type==pygame.MOUSEBUTTONDOWN:
img_x,img_y=randm.randint(20,500),randm.randint(20,200)
screen.fill((255,255,255))
screen.blit(img,[img_x,img_y])
()
if event.type == pygame.QUIT: # 如果单击关闭窗口,则退出
sys.exit()
实现鼠标点击,图片随机显示的事件
鼠标键按下事件::
鼠标键抬起事件: event.type == pygame.MOUSEBUTTONUP:
鼠标键移动事件: event.type == pygame.MOUSEMOTION:
鼠标坐标获取: mx,my=()
【判断鼠标是否击中小球】
mx,my=()
if mx in range(x,x+54) and my in range (y,y+48):
scre=scre+5
认真听讲,理解代码并自主完成结果运行,有问题请教指导教师。
完善总结
按照四部分任务,完善代码,实现点击小球游戏。
总结完善教材中的填空内容,学以致用。
巩固、加强学习,并解决开放性问题。
拓展练习
尝试给“点击小球”游戏设计一个难度策略或是给鼠标换一个手形图,以实现抓取的视觉效果,增加游戏的趣味性。难度策略可以考虑使用什么规则增减速度。尝试在你的游戏中实现自己的想法。
自主查阅资料,完成任务
高难度挑战Pythn应用,让真正感兴趣的学生继续深入探索,提供任务的要求。
教科版 (2019)必修1 数据与计算2.1 计算机解决问题的过程教学设计: 这是一份教科版 (2019)必修1 数据与计算2.1 计算机解决问题的过程教学设计,共4页。教案主要包含了知识点一、数据类型,知识点二、变量赋值等内容,欢迎下载使用。
教科版 (2019)必修1 数据与计算第2单元 编程计算2.1 计算机解决问题的过程教案设计: 这是一份教科版 (2019)必修1 数据与计算第2单元 编程计算2.1 计算机解决问题的过程教案设计,共4页。教案主要包含了知识点二、认识流程图,知识点三、算法等内容,欢迎下载使用。
教科版 (2019)必修1 数据与计算2.1 计算机解决问题的过程教学设计: 这是一份教科版 (2019)必修1 数据与计算2.1 计算机解决问题的过程教学设计,共7页。教案主要包含了学习目标,教学重点,教学难点,教学过程等内容,欢迎下载使用。