【编程题】【Scratch三级】2019.06 猫咪抓老鼠游戏

猫咪抓老鼠游戏

1. 准备工作

(1)保留小猫角色,添加“Mouse1”;

(2)默认白色背景。

2. 功能实现

(1)键盘上下左右键控制小猫上下左右移动;

(2)老鼠出现在舞台随机位置;

(3)如果玩家3秒内没有抓住老鼠,老鼠出现在新的随机位置;

(4)如果抓到老鼠,得分加1,老鼠出现在新的随机位置;

(5)左下角有一个大字显示的变量,表示抓到的老鼠数量。

3. 设计思路与实现

(1)角色分析

角色:默认的小猫、Mouse1

(2)背景分析

背景:默认背景无需修改,该背景是透明的看起来是白色

(3)所用积木块介绍

a. 运动类

  • 角色移动到随机位置,下拉可选“鼠标指针”或其他角色

  • 如果增加的是正数,则在原先角色的位置上往右移动对应的数值;如果增加的是负数,则在原先角色的位置上往左移动对应的数值。即实现左右移动的功能。

  • 如果增加的是正数,则在原先角色的位置上往上移动对应的数值;如果增加的是负数,则在原先角色的位置上往下移动对应的数值。即实现上下移动的功能。

  • 将角色朝向某个指定的方向。
  • 角色初始朝向右边,90°方向。

  • 设定角色旋转方式为“左右翻转”,下拉可选“不可旋转”,“任意旋转”。
  • 这三种旋转方式区别在于:左右翻转(正常转向后角色上下结构不变),不可旋转(不能进行旋转),任意旋转(转向后上下颠倒,Scratch默认旋转方式)。

b. 外观类

  • 在舞台中显示当前角色

  • 在舞台中隐藏当前角色

c. 事件类

  • 程序启动之后,点击绿旗,执行后续的程序脚本
  • 该模块通常在程序开始时使用

  • 当按下键盘上某个具体的键时,执行后面的程序指令,下拉三角可以选择“方向键”,“字母键”,“数字键”等

d. 控制类

  • 重复执行模块里面的积木指令

  • 条件判断语句,如果条件返回值为真(bool值),那么模块里面的积木指令,如果条件不成立,返回值为假,执行条件判断模块后面的程序指令

e. 侦测类

  • 判断当前角色是否碰到鼠标,下拉可以选择其它角色和舞台边缘

  • 当我们打开Scratch的时候,计时器就工作了,它不停的计数,以”毫秒"为单位,不停的涨,换句话说,我们打开scratch多长时间,它就记了多长时间的值,当然,这个值对我们没有什么用,所以我们需要使用计时器的时候,先使用侦测里的计时器归零。

  • 初始化计时器,让计时器归零重新开始计时

f. 运算类

  • 比较运算,左边大于右边返回true值(真),否则返回false值(假)

g. 变量类

  • 建立一个变量,输入变量名称,然后选择适用于所有角色还是适用于当前角色。

  • 设置变量的值为给定值,通常用于初始化变量

  • 设置变量的值为自身的值加1

(4)角色、舞台背景设置

a. 角色设置

在角色区,点击“选择一个角色”菜单,在角色库中选择Mouse1。起初默认的小猫角色不变。

b. 舞台背景设置

使用默认的背景设置即可。根据题目的要求“在舞台的左下角有一个大字显示的变量,表示抓到的老鼠数量。”,所以需要进行以下的操作:

第一步:新建变量“数量”,记录抓到的老鼠数量。

第二步:勾选“数量”,使其在舞台中显示。

第三步:将“数量”移动到舞台的左下角,点击右键选择“大字显示”。

(5)脚本编写

编程题的功能实现有多种方案,标准答案所示参考程序仅是其中的一种,最终以是否完成题目要求的功能实现效果作为评分依据。

a. 角色:小猫

当按下绿棋时:

  1. 开始:点击绿棋,开始执行代码。
  2. 将旋转方式设为“左右翻转”。

根据题目要求:键盘上下左右键控制小猫上下左右移动。

当按向上键时:

  1. 小猫y坐标增加10

当按向下键时:

  1. 小猫y坐标减少10(增加-10)

当按向左键时:

  1. 小猫面向-90°方向
  2. 小猫x坐标减少10(增加-10)

当按向右键时:

  1. 小苗面向90°方向
  2. 小猫x坐标增加10

b. 角色:Mouse1

本题的核心是关于计时器的应用。如果Mouse1没有被猫抓住,3秒钟之后,移动到在舞台的随机位置并重新计时等待下一个3秒钟。如果被猫抓住,那么立刻移动到舞台的随机位置并重新计时等待3秒钟。

当按下绿棋时:

  1. 开始:点击绿棋,开始执行代码。
  2. 计时器归零,开始计时。
  3. 初始化分数:将我的变量设置为0。
  4. 重复执行:判断是否被抓住
    • 如果被猫抓住,那么隐藏,增分(将我的变量增加1),随机移动(移动到随机位置),计时器归零(重新记录3秒钟),显示。

当按下绿棋时:

  1. 开始:点击绿棋,开始执行代码。
  2. 初始位置:移动到随机位置。
  3. 重复执行:根据计时器是否超过3秒钟,来确定是否移动到随机位置。
    • 如果计时器大于3秒,那么移动到随机位置,计时器归零(重新记录3秒钟)。

4. 知识块

三级知识块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/50104.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI智能润色改写,伪原创写作工具,毕业论文必备工具

小伙伴们注意:公众号的推送机制不再按照时间前后推送了,微信公众号信息流乱序。君哥建议大家把科技毒瘤君公众号置顶(设为星标⭐),以便第一时间看到推送,非常感谢~,方法如下图: 推荐…

你不能错过的文章撰写软件

关注“心仪脑”查看更多脑科学知识的分享。 关键词:资源推荐、写文软件 抛开我们常用的WPS和OFFICE不说,现在的写作工具是越来越人性化了,就差实现人工智能。当我们辛辛苦苦做完实验,终于轮到我们报告的时候,却发现我…

怎么用秘塔写作猫写小红书种草文案?

在一些自媒体平台发布一些产品时,为吸引更多人的眼球,很多自媒体发声者会费尽心思写一些种草文案,但是自己绞尽脑汁写的种草文案,却没有取得较好的效果,反而借助一些AI工具帮助大家写的种草文案,更广泛地被…

怎么用秘塔写作猫写短视频文案?

短视频文案通常需要在短短的几秒钟传递一些比较重要的信息和情感,让关注更好的了解视频的主题和内容,写一份好的短视频文案可以吸引较多观众的注意力,能够让他们更好的理解视频内容,同时在观看视频时还可以给大家留下比较深刻的印…

「转」好用的写作辅助工具 - 秘塔写作猫

关注我很久的读者,应该都知道,我特别喜欢写作,每天不写点东西心里总是痒痒的。而且我写公众号文章有时候经常会有错别字,细心的读者能够帮我指正,其实挺感谢大家的指正的。 不知道大家发现了没有,我最近写…

秘塔写作猫(网页端)

首先,秘塔写作猫是利用智能AI写作功能帮大家完成各种写作,集AI写作,多人协作,文本校对,改写润色,自动配图等功能为一体AI Native的内容创作平台,这绝对是一个写作神器。 最开始不会使用的小伙伴…

秘塔写作猫

秘塔写作猫是集AI智能写作、多人协作、改写润色、文本校对等功能为一体的AI原生创作平台,可以帮助不同群体大幅提升写作效率和生产力。 接下来小编就带大家了解一下该软件具体的一些功能,不论你是学生、上班族还是自媒体从业者等,该工具绝对可…

python几行代码实现微信自动发消息

直接上代码 from wxauto import WeChat# 获取当前微信客户端 wx WeChat()# 获取会话列表 wx.GetSessionList()with open("C:\\Users\\mmm\\Desktop\\test.txt","r",encoding"gbk")as f: #这个.txt里写要发送的文字for line in f.readlines():…

Python实现飞书机器人定时发送文本、图片等群消息

工作中会经常遇到监控告警相关问题,监控和告警的目的是要在事中及时发现问题并定位系统问题,那么当系统或平台出现问题了,如何及时暴露这些问题给对应的项目开发人员呢? 本文记录了在Python项目中利用飞书的自定义机器人webhook向…

这都行?Python 自动发微博

最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人。 基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需要每天按时找好要发布的素材(一般就是爬虫了),然后再通过…

用python自动发微博

……刚刚全部写完了点发布……结果什么都没保存……内心好忧伤。 终极目标是用raspberry pi camera 捕捉画面,处理图像识别图中有我家主子(猫), 然后自动capture图像,发微博。raspberry pi明天才能送到,所…

Python自动发送消息小脚本,可用于各种聊天框~

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typecollect 个…

python微信自动发送信息脚本

微信自动发送信息脚本 导读:此脚本的原理是控制电脑上的微信客户端,实现用脚本定位窗口(隐藏或者被覆盖也行),然后用脚本把内容复制到剪切版中,用脚本在定位的窗口中实现ctrlv,模拟enter发送 需要用的的python模块: py…

python之自动发送微信消息

这篇文章主要是总结最近写自动发送微信消息的python代码时所接触的两个库——pyautogui和pyperclip的用法。 在网上找了很多能实现发送微信消息的方法,其中有使用itchat和wxpy库来实现的,尝试过后发现这两个库都需要通过登录网页微信才能发送&#xff0…

【奇巧淫技】python 助你每天早上八点自动发送天气预报邮件到QQ邮箱

此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少杠精小婊贝留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送…

Python实现公众号每日自动发早/晚安消息(详细教程)

公众号每日自动发早/晚安消息(python实现) 文章目录 一、微信公众号测试号申请 二、文件的配置 1.config.py 2.getApi.py 三、其他文件(可直接使用) 1.sayGoodMoring.py/sayGoodNight.py( 运行文件) 2.getJ…

又是一篇教你摸鱼的文章,用Python实现自动发送周报给老板

前言 有没有哪个同志跟我一样,每周都要写工作周报 像我这种记性不好的,一个月四周忘记三次 索性就用Python写个小工具,让它每周帮我给老板发周报~ Github: Weekday 小工具 提出目标 源码.资料.素材.点击领取即可 想有一个工具能发邮件 目…

python微信公众号自动推送(十分简单的教程)

目录 一、注册微信公众号 1.注册链接 2.登录成功 3.关注该公众号 4.创建模板 二、代码实现 1.爬取天气信息 2.计算生日天数 3.获取access token 4.获取关注者的openid 5.向用户广播消息 6.最终代码 2023年五月五日更: 自五月四日起原来的微信公众号模版将不…

chatGPT说明SQLAlchemy中的关系加载技术,joinedload加载方式,并与selectinload的不同之处

之前一直对SQLAlchemy中的关系加载很模糊 一次百度在SQLAlchemy中如何加载关联数据,给出的答案是selectinload,发现蛮好用,就一直使用了,没再继续了解其他的关系API,一次偶然的技术需要到这些了,赶紧来复习…

好用的码字软件,年入百万的大神作家们都在用

如今,码字软件需求很大,市面上也出现了很多码字软件,但找到一款适合自己的码字软件却并不容易,那么你知道大些大神作家们喜欢用什么软件么?其实我也不知道,但是我发现了一个秘密,那就是由橙瓜打…