VB教学中游戏化教学案例设计
引入游戏化教学案例的必要性 程序设计具有枯燥、抽象的特点,不易被学生理解。 老师在教学过程中不能过于注重语句、语法等细节。 培养学生学习兴趣,激发学生创新意识。提高学生实践操作能力,培养学生解决问题能力。
案例一 涵盖知识点 对象:图片、按钮 修改对象属性值的方法: 第一种:直接修改属性面板的值 第二种:在代码窗口中修改 对象·属性值=属性值 Image1.top=image1.top-50 事件: 单击按钮事件:command1_click() 引导窗体事件:form1_load()
学生任务 修改四个按钮代码 扩展任务: 增加按钮并设置代码
达成教学效果 1.正确认识对象 2.对象有哪些属性 3.修改属性值正确方法 4. 正确放置代码 属性 说明 举例 Picture 该属性用于设置控件要显示的图形, 该属性不管是在属性窗口还是在运行时用程序设置,均要求有完整的路径名和文件名。 Image1.Picture = LoadPicture("xr.gif") Visible 设置此对象的可见性, 取值为: True 该对象可见 False 该对象不可 Image1.Visible = False Top 距容器顶部边界的距离 Image1.Top = Image1.Top - 50 left 距容器左边界的距离 Image1.left = Image1.left - 50 Height 图像控件的高度 Image1.Height = Image1.Height + 50 Width 设置该对象的宽度 Image1.Width = Image1.Width + 50 Move 移动 Image1.move image1.left+20,image1.top-10
案例二 涵盖知识点: 1.控件:VB的精髓,VB标准控件。 2.非标准控件正确使用。 3. 数组使用。
Card控件属性 CardNum:点数 Card1.CardNum =10 CardColor:花色 Card1.CardColor = 3 Inverse:显示牌的正反 Card1.Inverse = False ’显示牌的正面 Card1.Inverse = true ’显示牌的反面
一组牌采用数组来表示 表示五张牌Card1(1)、 Card1(2)、 Card1(3)、Card1(4)、Card1(5) For i=1 to 5 Card1(i).Inverse = true Next i
任务一 编写”猜牌”游戏。要求: 电脑随机翻出五张牌,让玩家猜其中最大的牌所在的位置,猜对了显示“祝贺你,猜对了!!!”,猜错了显示“很遗憾,猜错了!!!”,并统计一下猜对的概率。
任务二 增加“猜牌”功能: 1.猜其中最小的牌所在的位置。 2.猜其中所有牌的点数和。
案例三 角色1:怪物(Image1) 由上下左右键控制行动。 角色2:小球(Image2) 由计时器随机产生 游戏规则:二者 距离 小于设定的值,加1分,怪物变大。5分一局。
案例三: 涵盖知识点: 课外知识: 获取按键值 选择结构 计时器控件 随机函数 课外知识: 获取按键值 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) MsgBox KeyCode End Sub
学生任务一 Private Sub Form_Load() Randomize sum = 0 End Sub Private Sub Timer1_Timer() Image2.Visible = True Image2.Top = Rnd * 5000 Image2.Left = Rnd * 8000 通过随机函数生成小球随机出现的位置
学生任务二 使用绝对值函数判断怪物与小球二者距离 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 27 Then End End If If KeyCode = 37 Then Image1.Left = Image1.Left - 500 If KeyCode = 38 Then Image1.Top = Image1.Top - 500 If KeyCode = 39 Then Image1.Left = Image1.Left + 500 If KeyCode = 40 Then Image1.Top = Image1.Top + 500 If Abs(Image1.Top - Image2.Top) < 300 And Abs(Image1.Left - Image2.Left) < 300 Then Image2.Visible = False Image1.Width = Image1.Width + 50 Image1.Height = Image1.Height + 50 sum = sum + 1 End If Label1.Caption = "你的得分:" & Str(sum) If sum = 5 Then response = MsgBox("胜利了,进入下一关?", vbExclamation + vbYesNo) If response = vbNo Then End Else sum = 0 Label1.Caption = sum Timer1.Interval = Timer1.Interval - 500 End Sub 输出语句 计时器属性设置
达成教学效果 人和电脑玩游戏,最后能赢吗?不要沉迷于游戏。
类似案例 循环语句学习:画圆。 字符函数的学习:通过身份证号码判断性别、获取出生年月。 枚举算法学习:鸡兔同笼,破解QQ密码。 期待更多的精典案例