资源简介 第十三课 开炮打靶子 教案一、教学目标:1.掌握逻辑运算符“and”的使用方法。2.继续熟悉Shapes对象的几个常用操作的使用方法。3.继续编写事件驱动的程序。4.继续熟悉流程图的画法,根据流程图编写程序。二、教学重点、难点本课的教学重点是掌握逻辑运算符“and”的使用方法。难点是如何用条件语句表示小球打中靶子了?三、教学过程:1、首先编写一个点击鼠标“开炮”的程序,用小球表示炮弹。这是一个事件驱动的程序。下面是流程图:2、设计开炮的程序:ball=shapes.AddEllipse(16,16)GraphicsWindow.MouseDown=onkdSub onkd? xball=GraphicsWindow.MouseX? yball=GraphicsWindow.y? For i=y ball To 0 Step -0.5? ? Shapes.Move(ball,xball,i)endforendsub3、命中靶子的判断ball=shapes.AddEllipse(16,16)target=shapes.AddRectangle(200,10)x=0y=100x1=1GraphicsWindow.MouseDown=onkdWhile ("true")? If x<0 Or x>(GraphicsWindow.Width)-200 Then? ? x1=-x1? Else ?? ? Shapes.Move(target,x,y) ?? EndIf? x=x+x1? Program.Delay(3)EndWhileSub onkd? xball=GraphicsWindow.MouseX? yball=GraphicsWindow.Height? For i=yball To 0 Step -0.5? ? Shapes.Move(ball,xball,i)? ? xtarget=Shapes.GetLeft(target)? ? If?i>=y And i<=y+10 And xball>xtarget and xball? ? ? GraphicsWindow.ShowMessage ("打中了 !","你真棒!")? ? ? i=0? ? EndIf?? EndForEndSub??4、小球和靶子相遇表示命中靶子了,小球与靶子相遇,必须同时满足四个条件:(1)小球的y坐标(i)大于等于靶子上边界的y坐标(i>=y);(2)小球的y坐标(i)小于等于靶子下边界的y坐标(i<=y+10);(3)小球的x坐标大于靶子左边界的x坐标(xball>xtarget);? ? ? ?小球的x坐标小于靶子右边界的x坐标(xball? ? ? 判断上面四个关系表达式是否都成立,就是判断表达式:i>=y?And?i<=y+10?And?xball>xtarget?And?xball?5、做一个拍小球的程序。?修改小球在地面弹跳的程序,点击鼠标为拍小球,当小球往下运动时,拍 小球会使小球越拍越高,当小球往上运动时,拍小球会使小球越拍越低。 程序如下:?GraphicsWindow.MouseDown=onMD?ball=Shapes.AddEllipse(20,20)?x=200?y=100?s=0?While "true"?s=s+1?y=y+s?If y>=(GraphicsWindow.Height-20) Then?s=-sEndIf?Shapes.Move(ball,x,y)?Program.Delay(50)?EndWhile?Sub onMD?s=s+5?EndSub 展开更多...... 收起↑ 资源预览