移动的坦克游戏教学设计
一、课程信息
(一)学科:信息技术
(二)课题:移动的坦克游戏
(三)年级:八年级第二章第五节
二、教学内容与学情分析
本节课学习的内容是初二下册第二章程序设计入门第五节移动的坦克游戏,主要学习的是多分支语句,属于分支结构,它是计算三种结构之一,在教材里起到承上启下,因此,本节课在课程中的作用非常重要。
在此之前,学生已经学了程序的顺利结构和分支结构,学生已经基本理解了基本的程序设计概念,以及掌握了简单的编程方法。但是,由于学生刚刚接触VB程序设计,加上程序设计本身有一定的难度,因此,为了更好地落实本节课教学目标,除了任务驱动,我还设计了一些环节,如:朗读和画图,让编程可视化,让学生更容易理解。
三、教学目标
(一)知识与技能
1、了解KeyDown键盘事件;
2、掌握PictureBox控件和Image控件的使用方法;
3、理解多分支结构的概念;
(二)过程与方法
通过编写坦克游戏程序,让学生学会程序设计的一般方法;
(三)情感态度与价值观
通过实践操作,进一步提高学生的信息素养,培养学生动手能力,
培养学生勇于探究的科学精神。
四、教学重难点
教学重点:掌握PictureBox控件和Image控件的使用方法;
教学难点:理解多分支结构的概念;
五、教学策略
编程可视化,用朗读和画图的方式,让学生动起来,从而使编程简单化,避免枯燥。
六、教学过程
环节
教师
学生
设计意图
创设情境
1、播放老师玩《坦克大战》游戏视频;
2、引出本课主题:能否使用VB编程控制坦克方向和移动?
观看
激趣导入,贴近学生课余生活,拉近师生距离
知识讲解
1、设计思路
使用键盘的方向键代表坦克的上、下、左、右四种状态;
2、键盘事件
KeyDown的属性:
(1)KeyCode识别按键
(2)SHIFT
任务1:编写程序获取上、下、左、右四个方向的KeyCode,并完成书本表2-5
3、控件的使用
设问:如何呈现坦克?
(1)PictureBox
PictureBox控件:它是一个容器,可以容纳多个控件,并允许程序对这些控件进行控制。
(2)Image控件的使用
①Pictrue属性
②Stretch属性
任务2:在书本上对这两个控件的属性做好记录.
4、多分支语句
问题:如何使坦克移动?
(1)格式
Select
Case
数值表达式
Case
数值1
语句组1
Case
数值2
语句组2
Case数值3
语句组3
……
End
Select
(2)流程图
(3)画移动的坦克游戏多分支语句流程图
(4)编写移动坦克游戏代码
操作演示,并解释代码含义,如:
①显示向左坦克图片;
②坦克移动,改变坦克坐标位置;
5、完善坦克游戏程序
方法:增加Image控件的Left和Top属性判断坦克是否到达边界。
认真听讲
思考
完成任务
1、任务驱动突破重难点
2、让编程可视化
小结
1、通过KeyDown事件识别按键KeyCode值;
2、学会PictureBox控件的使用;
3、多分支语句格式、流程图,并运用多分支语句编写程序。
4、利用Image控件的Left和Top属性解决实际程序运行时的问题。
认真听讲
总结归纳
练习
1、以下是KeyDown事件用来识别按键参数的是()
A、Alt
B、KeyCode
C、Shift
D、Ctrl
2、向上方向键的KeyCode值是()
A、37
B、38
C、39
D、40
3、不属于计算机程序三种基本结构的是()
A、顺序结构
B、分支结构
C、循环结构
D、逻辑结构
4、计算机根据不同的情况执行不同的任务,需要用到的()语句
A、顺序语句
B、分支语句或多分支语句
C、循环语句
D、逻辑语句
5、判断坦克是否走出了左边界,使用Image控件的()属性进行判断。
A、Left
B、Right
C、Top
D、Bottor
思考,作答
巩固知识
拓展
在VB键盘事件中,除了KeyDown事件外,还有KeyPress和KeyUp事件,请使用其他的键盘事件修改移动的坦克游戏
思考,操作
发散思维(共14张PPT)
移动的坦克游戏
问题分析
设想:
通过按键盘的上、下、左、右方向键,使坦克呈现不同的方向(上、下、左、右)的图片,并使坦克向前方移动。
问题:如何通过VB编程控制坦克方向和移动?
KeyDown事件
识别按键KeyCode
PictrueBox控件
Image控件
运用多分支语句编写程序
完善坦克游戏程序
1
2
3
4
任务1:
编写程序,并把KeyCode值填写到书本表2-5
任务2:
在书本上做好两个控件属性设置的笔记。
任务3:
1、朗读多分支语句格式;
2、画多分支语句流程图;
3、实践编写程序
任务4:
思考如何完善程序。
目标分解
四步
一、KeyDown事件,识别按键值
1、KeyDown有两个参数,分别是KeyCode和Shift,
KeyCode是用来识别按键;
2、键盘左、上、右、下的KeyCode值分别是37、38、39、40
任务1
二、使用控件,完成界面设置
1、PictureBox控件(PicGrand):它是一个容器,可以容纳多个控件,并允许程序对这些控件进行控制。
问题:如何呈现坦克界面?
2、Image控件(ImgTank)
①Pictrue属性-----添加图片并设置路径
②Stretch属性-----图片缩放
任务2:大家在书本上对这两个控件的属性做好笔记。
三、认识多分支语句及流程图
能否使用上一节课的分支语句?
问题:如何使方向键控制坦克进行移动?
If
条件
T
语句组1
Else
语句组2
EndIf
分支结构格式
三、认识多分支语句及流程图
不能简单的重复分支语句,因为坦克有四个方向,意味着按键控制坦克也有四种不同的可能,因此,我们选择另一种更加简单,逻辑更清晰的语句。
任务3:朗读多分支语句格式
Select
Case
数值表达式
Case
数值1
语句组1
Case
数值2
语句组2
Case
数值3
语句组3
Case
数值4
语句组4
……
End
Select
多分支结构格式
三、认识多分支语句及流程图
流程图对比
三、认识多分支语句及流程图
任务4:根据多分支语句流程图,请同学们具体画出移动的坦克游戏多分支语句流程图。
三、认识多分支语句及流程图
移动的坦克游戏多分支语句流程图。
KeyCode值?
1、显示向左坦克图片;
2、坦克移动,改变坦克坐标位置
37
1、显示向右坦克图片;
2、坦克移动,改变坦克坐标位置
39
38
40
1、显示向上坦克图片;
2、坦克移动,改变坦克坐标位置
1、显示向下坦克图片;
2、坦克移动,改变坦克坐标位置
37
38
39
40
39
三、认识多分支语句及流程图
实践:编写程序
移动的坦克游戏
Image控件的Left和Top属性解决实际程序运行时的问题
多分支语句的格式、流程图,并运用多分支语句编写程序
PictureBox控件的使用;
通过KeyDown事件,识别按键KeyCode值;
总结
练习
1、以下是KeyDown事件用来识别按键参数的是(
)
A、Alt
B、KeyCode
C、Shift
D、Ctrl
2、向上方向键的KeyCode值是(
)
A、37
B、38
C、39
D、40
3、不属于计算机程序三种基本结构的是(
)
A、顺序结构
B、分支结构
C、循环结构
D、逻辑结构
4、计算机根据不同的情况执行不同的任务,需要用到的(
)语句
A、顺序语句
B、分支语句或多分支语句
C、循环语句
D、逻辑语句
B
B
D
B
在VB键盘事件中,除了KeyDown事件外,还有KeyPress和KeyUp事件,请使用其他的键盘事件修改移动的坦克游戏.
提示:
拓展Select
Case
KeyCode
Case
37
Imgtank.Picture
=
LoadPicture(App.Path
&
"\pic\tankleft.jpg")
If
Imgtank.Left
-
20
<
0
Then
Imgtank.Left
=
0
Else
Imgtank.Left
=
Imgtank.Left
-
20
End
If
Case
39
Imgtank.Picture
=
LoadPicture(App.Path
&
"\pic\tankright.jpg")
If
(Imgtank.Left
+
Imgtank.Width)
+
20
>
Picgrand.Width
Then
Imgtank.Left
=
Picgrand.Width
-
Imgtank.Width
Else
Imgtank.Left
=
Imgtank.Left
+
20
End
If
Case
38
Imgtank.Picture
=
LoadPicture(App.Path
&
"\pic\tankup.jpg")
If
Imgtank.Top
-
20
<
0
Then
Imgtank.Top
=
0
Else
Imgtank.Top
=
Imgtank.Top
-
20
End
If
Case
40
Imgtank.Picture
=
LoadPicture(App.Path
&
"\pic\tankdown.jpg")
If
(Imgtank.Top
+
Imgtank.Height)
+
20
>
Picgrand.Height
Then
Imgtank.Top
=
Picgrand.Height
-
Imgtank.Height
Else
Imgtank.Top
=
Imgtank.Top
+
20
End
If
End
SelectSelect
Case
KeyCode
Case
37
Imgtank.Picture=LoadPicture(App.Path&"\pic\tarukleft.jpg")
Imgtank.Left=Imgtand.Left-20
Case
39
Imgtank.Picture=LoadPicture(App.Path&"\pic\tarukright.jpg")
Imgtank.Left=Imgtand.Left+20
Case
38
Imgtank.Picture=LoadPicture(App.Path&"\pic\tarukup.jpg")
Imgtank.Top=Imgtand.Top-20
Case
40
Imgtank.Picture=LoadPicture(App.Path&"\pic\tarukdown.jpg")
Imgtank.Top=Imgtand.Top+20
End
Select