当前位置: 首页 > news >正文

Scratch 第十六课-弹珠台游戏

十六课-弹珠台游戏

大家好,今天我们一起做一款弹珠台scratch游戏,我们也可以叫它弹球游戏!这款游戏在刚出来的时候非常火爆。小朋友们要认真学习下!

  • 这节课的学习目标
  1. 物体碰撞如何处理转向问题。
  2. 复习键盘对角色的控制方式。
  3. 逐步了解scratch编程中,游戏设计的逻辑

  • 程序设计

程序分析 : 这个游戏实际的角色就3个,两个挡板,其中一个是我们控制的,另一个是随机运动的,当然这个我们也可以复制几个出来,只需要稍微改下坐标即可,另一个就是球了!

游戏玩法也比较简单,当球碰到控制的板的时候改变方向,碰到其他挡板则加分,碰到上、左、右边缘则反弹,碰到下方则失败。。为了区分边缘,我们在下方边缘处增加一个角色,当碰到这个角色的时候,则游戏失败。

下面我们开始安排角色。

  1. 两个木板角色,大家可以从角色库选择,或者直接绘制就可以了,这个比较简单(直接使用矩形工具),改变下背景色即可完成多个了。我直接上个效果。

  1. 球的话直接从素材库选择吧,我使用的角色名是“soccer”!
  2. 设计一个底部角色,在绘制的时候,长度铺满舞台。

下面我们开始编程:

 

  1. 首先我们先布置下舞台,布置好的效果如下:

  1. 然后我们先处理我们能控制的角色,也就是木板,木板控制比较简单,左右键控制左右移动,代码比较简单,下面代码是其中的一种实现方式,大家把两种控制方式都尝试下:

  1. 下面我们来处理球的移动,处理前我们先分析下:球碰到控制的挡板反弹,碰到其他挡板增加积分,其他挡板消失。碰到左右 ,上方边缘则反弹,碰到下面的蓝色波浪角色则失败:

在这里我们要注意下,刚开始的时候,球肯定不能直接往下方移动,否则会造成游戏还没开始就已经结束了,这里我们采用一个指令:

现在先让球动起来,球从中心点出发,代码如下:

下面继续分析,球碰到我们控制的挡板(角色名:角色1),球要反弹开,这个方向是球进入的方向的折射方向,代码如下:

  仔细看下代码,为什么多了一个将Y坐标增加20的指令?小朋友们可以自己体验下。

碰到底部角色失败。指令如下:

  1. 最后就是红色挡板(角色3)了,角色3在固定高度左右移动,碰到边缘反弹!

当挡板碰到球(角色2)的时候,消失增加积分,隔1秒后再显示。

这里我们引入了一个变量score,在游戏刚开始的时候,一定要把score设为0。

以上程序运行后,我们会发现停止后,角色3就出不来了。为了每次游戏开始都让角色3显示,需要在开始的时候增加显示指令,完整代码如下:

今天这个游戏基本就完成了,小朋友们在编程的时候,可以适当增加些难度。

比如:当积分达到50积分的时候,出现2个球。或者当积分达到一定值的时候,球的速度就增加。大家可以尝试下,不懂的可以联系我!

点个关注吧!

相关文章:

Scratch 第十六课-弹珠台游戏

第十六课-弹珠台游戏 大家好,今天我们一起做一款弹珠台scratch游戏,我们也可以叫它弹球游戏!这款游戏在刚出来的时候非常火爆。小朋友们要认真学习下! 这节课的学习目标 物体碰撞如何处理转向问题。复习键盘对角色的控制方式。…...

对简单工厂模式、工厂方法模式的思考

目录 1 背景1.1 题目描述1.2 输入描述1.3 输出描述1.4 输入示例1.5 输出示例 2 简单工厂模式3 工厂方法模式4 思考4.1 改进工厂方法模式 1 背景 题目源自:【设计模式专题之工厂方法模式】2.积木工厂 1.1 题目描述 小明家有两个工厂,一个用于生产圆形积木…...

【详识JAVA语言】面向对象程序三大特性之二:继承

继承 为什么需要继承 Java中使用类对现实世界中实体来进行描述,类经过实例化之后的产物对象,则可以用来表示现实中的实体,但是 现实世界错综复杂,事物之间可能会存在一些关联,那在设计程序是就需要考虑。 比如&…...

【剑指offer--C/C++】JZ3 数组中重复的数字

一、题目 二、本人思路及代码 这道题目它要求的时间空间利用率都是n,那么可以考虑创建一个长度为n的数组repeat初始化为0,下标代码出现的数字,下标对应的数组内容代表该下标数字出现的次数。然后遍历提供的数组,每出现一个数字&a…...

基于SpringBoot的在线拍卖系统设计与实现(源码)

项目源码:https://gitee.com/oklongmm/biye2 引言 随着互联网技术的发展,电子商务得以快速发展,其中之一的在线拍卖系统也逐渐得到了广泛的应用。但是,现有的在线拍卖系统在操作复杂性、安全性和稳定性方面存在一定的问题。为了…...

卢森堡比利时土耳其媒体宣发稿助力跨境出海推广新闻营销

【本篇由言同数字科技有限公司原创】随着全球化进程的加速,越来越多的品牌开始考虑在海外市场扩展业务。对于品牌来说,跨境海外推广是必要的,因为它可以帮助品牌打开更大的市场、吸引更多的消费者、提高品牌知名度和形象,并在全球…...

冒泡排序(C语言详解)

原理:从左到右一次比较,如果左侧数字比右侧数字大(小),则两数交换,否则比较下一 组数字,每一次大循环比较可以将乱序的最右侧数字改为最大(最小)&#xff0c…...

STC-ISP原厂代码研究之 V3.7d汇编版本

最近在研究STC的ISP程序,用来做一个上位机烧录软件,逆向了上位机软件,有些地方始终没看明白,因此尝试读取它的ISP代码,但是没有读取成功。应该是目前的芯片架构已经将引导代码放入在了单独的存储块中,而这存储块有硬件级的使能线,在面包板社区-宏晶STC单片机的ISP的BIN文…...

【word】引用文献如何标注右上角

一、在Word文档中引用文献并标注在右上角的具体步骤如下 1、将光标移动到需要添加文献标注的位置: 2、在文档上方的工具栏中选择“引用”选项: 3、点击“插入脚注”或“插入尾注”: ①如果选择的是脚注,则脚注区域会出现在本页的…...

MySQL 5.5、5.6、5.7的主从复制改进

主从复制面临的问题 MySQL一直以来的主从复制都是被诟病,原因是: 1、主从复制效率低 早期mysql的复制是通过将binlog语句异步推送到从库。从库启动一个IO线程将接收到的数据记录到relaylog中;另外启动一个SQL线程负责顺序执行relaylog中的语句实现对数据的拷贝。 这里的…...

性能分析排查思路之日志(1)

本文是性能问题分析排查思路的展开内容之一,主要分为日志1期,机器4期、环境2期共7篇系列文章,本期是第一篇,讲日志的分析方法和经验。 系列文章传送门: 一图梳理性能问题分析排查思路-总体概述(0&#xff…...

Vue中如何实现条件渲染?

在Vue中实现条件渲染非常简单且灵活&#xff0c;主要通过Vue的指令来实现。在Vue中&#xff0c;我们可以使用v-if和v-else指令来根据条件来渲染不同的内容。下面就让我们通过一个简单的示例来演示如何在Vue中实现条件渲染&#xff1a; <!DOCTYPE html> <html lang&qu…...

Postman上传文件的操作方法

前言 调用某个接口&#xff0c;测试上传文件功能。一时间不知如何上传文件&#xff0c;本文做个操作记录&#xff0c;期望与你有益。 步骤一、设置Headers key:Content-Type value:multipart/form-data 步骤二、设置Body 选择form-data key:file下拉框选择file类型value&…...

linux系统Jenkins工具介绍

Jenkins概念介绍 Jenkins概念Jenkins目的特性产品发布流程 Jenkins概念 Jenkins是一个功能强大的应用程序&#xff0c;允许持续集成和持续交付项目&#xff0c;无论用的是什么平台。这是一个免费的源代码&#xff0c;可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些…...

【python】遵守 robots.txt 规则的数据爬虫程序

程序1 编写一个遵守 robots.txt 规则的数据爬虫程序涉及到多个步骤&#xff0c;包括请求网页、解析 robots.txt 文件、扫描网页内容、存储数据以及处理异常。由于编程语言众多&#xff0c;且每种语言编写爬虫程序的方式可能有所不同&#xff0c;以下将使用 Python 语言举例&am…...

使用爬虫去获取四六级成绩

使用爬虫去获取四六级成绩 今天出成绩&#xff0c;没过&#xff0c;二战六级依然惨死&#xff0c;那么我就写一个简单的爬虫&#xff0c;其实也可以封装成一个接口的&#xff0c;然后直接输入姓名 身份证好 以及四六级即可获取成绩&#xff0c;我就是简单的玩了一下哈&#xf…...

洛谷P1256 显示图像

广搜练手题 题目链接 思路 打印每个数与其最近的 1 1 1的曼哈顿距离&#xff0c;显然广搜&#xff0c;存储每一个 1 1 1&#xff0c;针对每一个 1 1 1开始广搜&#xff0c;逐层更新&#xff0c;每轮后更新的为两轮之中的最小曼哈顿距离 ACcode #include<bits/stdc.h>…...

模拟器抓HTTP/S的包时如何绕过单向证书校验(XP框架)

模拟器抓HTTP/S的包时如何绕过单向证书校验&#xff08;XP框架&#xff09; 逍遥模拟器无法激活XP框架来绕过单向的证书校验&#xff0c;如下图&#xff1a; ​​ 解决办法&#xff1a; 安装JustMePlush.apk安装Just Trust Me.apk安装RE管理器.apk安装Xposedinstaller_逍遥64位…...

【JS 算法题: 将 json 转换为字符串】

题目简介 其实就是手撕 JSON.stringfy()。 算法实现 输入 原则上来说&#xff0c;输入的是一个 json 对象。但需要考虑到异常情况&#xff0c;即输入了其它类型的数据&#xff0c;比如&#xff1a;12, true, ‘abc’, [‘red’, ‘green’], null, undefined 等。 输出 …...

数的范围 刷题笔记

思路 寻找第一个大于等于目标的 数 因为该数组是升序的 所以 我们可以采用二分的方式 逼近答案 定义一个左指针和一个右指针 当左右指针重合时 就是我们要找的答案 当我们寻找第一个大于等于x的数时 a[mid]>x,答案在mid处 或者在mid的左边 因此让rmid继续逼近 如果…...

qtCreator应用程序输出窗口qDebug不输出问题

可以通过配置环境变量export QT_LOGGING_RULES"*.debugtrue;qt.*.debugfalse"...

Shell应用手册(一) 4.常见Shell版本(bash、zsh、sh,运维主流bash详解)

在Linux/Unix系统中&#xff0c;Shell是用户与内核交互的桥梁&#xff0c;是执行命令、编写脚本的核心工具。对于运维工程师而言&#xff0c;熟练掌握Shell版本的特性与使用方法&#xff0c;是提升工作效率、实现自动化运维的基础。本文将先梳理最常见的3种Shell版本&#xff0…...

MindSpore 环境配置完全指南呕

前面我们对 Kafka 的整体架构和一些关键的概念有了一个基本的认知&#xff0c;本文主要介绍 Kafka 的一些配置参数。掌握这些参数的作用对我们的运维和调优工作还是非常有帮助的。 写在前面 Kafka 作为一个成熟的事件流平台&#xff0c;有非常多的配置参数。详细的参数列表可以…...

ESP-Meshed:面向ESP32/ESP8266的轻量级分布式应用框架

1. ESP-Meshed 框架深度解析&#xff1a;面向 ESP32/ESP8266 的轻量级分布式应用构建框架1.1 框架定位与工程价值ESP-Meshed 并非 Espressif 官方 ESP-MESH 协议栈的替代品&#xff0c;而是一个面向嵌入式应用层的轻量级分布式框架。其核心设计哲学是&#xff1a;在不侵入底层网…...

OpenClaw如何做好记忆持久化的 · 六、经济学与可扩展性——记忆的代价

六、经济学与可扩展性——记忆的代价⏱ 30 秒速览 | 中度使用&#xff08;日均 50 次对话&#xff09;纯记忆附加成本&#xff1a;~$5/月&#xff08;Claude Sonnet&#xff09;/ ~$1/月&#xff08;GPT-4o-mini&#xff09;。72% 花在记忆注入&#xff0c;24% 花在自动提取&am…...

永磁同步电机转速PI控制与SMC滑模控制及ADRC自抗扰控制的Simulink仿真对比:矢量控...

永磁同步电机转速PI控制&#xff0c;SMC滑模控制&#xff0c;ADRC自抗扰控制Simulink对比仿真模型 1.永磁同步电机SVPWM控制算法&#xff0c;实现FOC矢量控制&#xff0c;DQ轴解耦控制&#xff5e; 2.转速电流双闭环控制&#xff0c;电流环采用PI控制&#xff0c;转速环分别采用…...

Omron NJ/NX程序:自动化控制与智能人机交互的集成

omron欧姆龙NJ/NX程序 欧姆龙NJ501-1300&#xff0c;欧姆龙NB系列触摸屏&#xff0c;分布式总线控制&#xff0c;CJ1W-DRM21模块通信主从站控制。 全自动马达电机组装机&#xff0c;整机采用EtherCAT总线网络节点控制&#xff0c; 欧姆龙R88D系列总线伺服&#xff0c;发那科机…...

不用装软件!这款MicroPython浏览器 IDE :让你在手机上也能调试树莓派 Pico汉

1、普通的insert into 如果&#xff08;主键/唯一建&#xff09;存在&#xff0c;则会报错 新需求&#xff1a;就算冲突也不报错&#xff0c;用其他处理逻辑 回到顶部 2、基本语法&#xff08;INSERT INTO ... ON CONFLICT (...) DO (UPDATE SET ...)/(NOTHING)&#xff09; 语…...

毫米波雷达避坑指南:IWR1443做手势识别时,为什么速度解模糊是关键一步?

毫米波雷达手势识别实战&#xff1a;破解IWR1443速度模糊难题的核心策略 当你在IWR1443毫米波雷达上实现手势控制时&#xff0c;是否遇到过这样的困扰——快速挥手动作导致系统识别轨迹突然跳变&#xff1f;这背后隐藏着一个关键的技术瓶颈&#xff1a;速度模糊问题。本文将深入…...

Flutter 响应式设计:构建适配多设备的应用

Flutter 响应式设计&#xff1a;构建适配多设备的应用掌握 Flutter 响应式设计的高级技巧&#xff0c;创建适配不同屏幕尺寸的应用。一、响应式设计概述 作为一名追求像素级还原的 UI 匠人&#xff0c;我对 Flutter 响应式设计有着深入的研究。响应式设计是现代应用开发的重要组…...