资源简介 (共11张PPT)九宫格(下)教师姓名学校名称1). 点击绿旗,角色、背景如图所示(考生自行完成九宫格,每个方格填充的颜色与舞台背景颜色可随机改变,点击绿旗立刻呈现效果);2). 可用鼠标将数字(1-9)角色拖拽到九宫格的九个格子中;3). 当九宫格填满数字时,且横、竖、对角线上对应格子内的3个数字相加都等于15,机器猫说:"正确!"2秒后回到初始状态;5). 重复执行2)、3) 、4)步骤。评判标准:10分:满足"具体要求"中的1);20分:满足"具体要求"中的2);20分,满足"具体要求"中的3);20分:满足"具体要求"中的4);10分:满足"具体要求"中的5)。具体要求根据题目描述和思路分析,我们可以4步来编写程序:数据准备生成九宫格拖拽数字判断结果拖拽数字这里的9个数字,其逻辑和代码基本上是一样的,我们以数字1为例。首先,设置好角色的初始位置,代码如下:拖拽数字拖拽通常使用”当角色被点击“结合重复执行指令,代码结构如下:一旦松开鼠标,数字就停在当前位置了,怎么确保数字已经放到格子上去了呢,我们可以增加一个判断,如果碰到格子,就允许放置,否则就回到原位,继续编写代码如下:拖拽数字是不是只要拖拽到九宫格中就可以了呢?当然不是,还得看当前位置是不是已经有其它的数字,所以还需要进行判断。如果当前格子是空着的,就摆放拖拽的数字,并更新列表中的值,否则数字回到原处,对应的代码如下:拖拽数字还有一个小问题,如果数字已经摆放好了,就不应该再拖拽了,如何避免这个问题呢?可以使用一个变量,用于表示数字的状态,其中1表示可以拖拽,0表示不能拖拽,先将初始值设为1,一旦数字摆放好,立刻将其设置为0,然后的点击的时候进行判断即可。增加代码如下:注意,为了方便,这里的变量”_状态“,是一个私有变量,这样9个数字都可以使用相同的名字,互不干扰。其它8个数字角色的代码,和数字1基本一样,只需要修改一下角色的坐标和列表的替换值即可。拖拽数字 判断结果当所有数字都摆放完毕,就需要判断正确和错误了,我们如何知道数字摆放完毕了呢?答案是九宫格列表,列表的初始值都是0,每摆放一个数字,其列表项就更新为对应的数字了,所以当列表中没有0时,就说明所有的数字都已经摆放完毕。需要注意的是,一共有8种组合,如果使用与运算指令,代码将会变得特别长,操作起来很不方便,可以使用条件嵌套语句,切换到机器猫角色,编写代码如下:判断结果代码不难理解,这里使用了重复执行指令,以满足要求5),注意,在判断完成之后,使用了”广播并等待“指令,发送了一个广播消息。相应的,9个数字角色在接收到广播消息后回到原来位置,并恢复角色的状态和列表中的值,以数字1角色为例,编写代码如下:相应的,9个数字角色在接收到广播消息后回到原来位置,并恢复角色的状态和列表中的值,以数字1角色为例,编写代码如下:其它8个角色都需要做相同的处理,这里就不再列出代码了。至此,整个作品就创作好了,赶紧来体验一下吧,你知道怎么摆放才是正确的么。判断结果本题是初级组编程部分第5题,分数为80分,积木块数量150个左右(9个数字角色的代码基本一样,只算一个),涉及到的知识点主要包括:绘制角色;克隆编程,尤其是多行多列的克隆技巧;自制积木,重点是不刷新屏幕的设置;变量,包括全局变量和私有变量;列表操作,包括增删改查操作;条件指令的多层嵌套;事件编程,包括角色点击和广播消息;作为初级组最后一题,本题难度较大,完成时间大概在35分钟左右,对于大部分同学来说,最大的问题就是完全没有思路。有些考生之前做过《植树节种树》这道题,结果也没有完成此题,说明理解不够深刻,还不能做到灵活运用。所以,在学习编程的过程中,除了多练习,还要多思考、多总结,这样才能做到融会贯通。总结 展开更多...... 收起↑ 资源预览