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个球。或者当积分达到一定值的时候,球的速度就增加。大家可以尝试下,不懂的可以联系我!

点个关注吧!

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

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

相关文章

软件开发人员从0到1实现物联网项目:技术调研

前言 春节返乡之际,发现老家县城竟然开了近十家棋牌室。巧的是朋友也有意涉足,便咨询我自助棋牌室的软件投入成本。作为程序员的我,在思考了自助棋牌室背后的技术需求后,嗅到了一丝丝商机:何不自己开发一个自助棋牌室…

YOLOV9训练集制作+Train+Val记录

一、YOLO数据集格式分布 在YOLO中,数据集的分布如图,在dataset文件夹下有imags(图片)和labels(标签)。在images和labels文件夹下又分别存放三个文件夹,分别对应测试集、训练集、验证集&#xff…

2023全球软件开发大会-上海站:探索技术前沿,共筑未来软件生态(附大会核心PPT下载)

随着信息技术的迅猛发展,全球软件开发大会(QCon)已成为软件行业最具影响力的年度盛会之一。2023年,QCon再次来到上海,汇聚了众多业界精英、技术领袖和开发者,共同探讨软件开发的最新趋势和实践。 一、大会…

Frontend - Boostrap 消息弹窗

目录 一、下载 (一)中文官网 (二)bootstrap v3 依赖 jQuery 插件 二、解压并安装 (一)解压 1. 压缩包解压 2. 简化文件 (二)安装 三、配置 (一)bas…

【重要公告】对BSV警报系统AS的释义

​​发表时间:2024年2月15日 由BSV区块链协会开发并管理的BSV警报系统(Alert System,以下简称“AS”)是BSV网络的重要组件。它是一个复杂的系统,主要职能是在BSV区块链网络内发布信息。这些信息通常与网络访问规则NAR相…

深入了解 JavaScript 混淆加密和环境检测

JavaScript混淆加密是一种通过修改代码结构和命名约定来增加代码的复杂性,使其难以被理解和逆向工程的技术。在这篇文章中,我们将深入探讨JS混淆加密的一些逻辑,并介绍如何通过环境检测来提高代码的安全性。我们将使用案例代码演示这些概念。…

osi模型,tcp/ip模型(名字由来+各层介绍+中间设备介绍)

目录 网络协议如何分层 引入 osi模型 tcp/ip模型 引入 命名由来 介绍 物理层 数据链路层 网络层 传输层 应用层 中间设备 网络协议如何分层 引入 我们已经知道了网络协议是层状结构,接下来就来了解了解下网络协议如何分层 常见的网络协议分层模型是OSI模型 和 …

C++之结构体以及通讯录管理系统

1,结构体基本概念 结构体属于自定义的数据概念,允许用户存储不同的数据类型 2,结构体的定义和使用 语法:struct 结构体名{ 结构体成员列表}; 通过结构体创建变量的方式有三种: 1,struct …

python+Django+Neo4j中医药知识图谱与智能问答平台

文章目录 项目地址基础准备正式运行 项目地址 https://github.com/ZhChessOvO/ZeLanChao_KGQA 基础准备 请确保您的电脑有以下环境:python3,neo4j 在安装目录下进入cmd,输入指令“pip install -r requirement.txt”,安装需要的python库 打…

【LeetCode】升级打怪之路 Day 12:单调队列

今日题目: 239. 滑动窗口最大值 | LeetCode 今天学习了单调队列这种特殊的数据结构,思路很新颖,值得学习。 Problem:单调队列 【必会】 与单调栈类似,单调队列也是一种特殊的数据结构,它相比与普通的 que…

Linux入门到入土

Linxu Linux 简介 Linux 内核最初只是由芬兰人林纳斯托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口&#xff09…

Onenote软件新建笔记本时报错:无法在以下位置新建笔记本

报错现象: 当在OneNote软件上,新建笔记本时: 然后,尝试重新登录微软账户,也不行,提示报错: 解决办法: 打开一个新的记事本,复制粘贴以下内容: C:\Users\Adm…

Windows上构建一个和Linux类似的Terminal

感谢大佬批评指正,现已更新 preview Target:致力打造最赏心悦目Window下的终端,同时能够很接近Linux的使用习惯 key word:windows终端美化 windows terminal windows powershell 类似Linux下的Window终端 Window也能用ll windows…

本地如何配置支付宝模拟支付场景并结合内网穿透实现公网环境调试开发?

文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问 前言 在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地,局限性大,在沙箱环境…

【java】final、finally和finalize的区别

例题: package com.overload;public class ExceptionTest {public static void main(String[] args) {int result test();System.out.println(result); //100}public static int test(){int i 100;try {return i;} finally {i;}} }结果为:100 造成结果…

计算机专业大学四年应该如何规划(Java方向)

计算机专业的学生,如何在大学四年内提高自己的竞争力,毕业之后直接进大厂工作? 以下将从大学四年计算机专业的学习规划、课程设置、能力提升、参考书籍等方面,为同学们提供一些建议和指导。 大一: 主攻技能学习并且达…

lv20 QT事件5

1 事件模型 2 事件处理 virtual void keyPressEvent(QKeyEvent *event) virtual void keyReleaseEvent(QKeyEvent *event) virtual void mouseDoubleClickEvent(QMouseEvent *event) virtual void mouseMoveEvent(QMouseEvent *event) virtual void mousePressEvent(QMou…

NACOS在Windows和Linux下的安装教程

目录 1、Windows安装 1.1、下载安装包 1.2、解压 1.3、端口配置 1.4、启动 1.5、访问 2、Linux安装 2.1、安装JDK 2.2、上传安装包 2.3、解压 2.4、端口配置 2.5、启动 3、Nacos的依赖 1、Windows安装 开发阶段采用单机安装即可。 1.1、下载安装包 在Nacos的Git…

C++ sort排序

sort函数接受两个迭代器作为参数&#xff0c;分别表示要排序的范围的起始和结束位置。 请注意&#xff0c;sort函数默认使用小于运算符&#xff08;<&#xff09;来比较元素的顺序&#xff0c;默认从小到大排。 在这里&#xff0c;使用str.begin()和str.end()来表示整个字符…

水豚鼠标助手 强大的鼠标美化工具

水豚鼠标助手 水豚鼠标助手是一款 鼠标换肤、屏幕画笔、放大镜、聚光灯、屏幕放大、倒计时功能的强大屏幕演示工具。 软件助手获取 水豚鼠标助手1.0.0 安装教程 第一步&#xff1a;下载后&#xff0c;双击软件安装包 第二步&#xff1a;Windows可能会出现提示弹窗&#xff…