Scratch 第十六课-弹珠台游戏

news2024/9/23 7:22:01

十六课-弹珠台游戏

大家好,今天我们一起做一款弹珠台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.coloradmin.cn/o/1488456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

23.基于springboot + vue实现的前后端分离-在线旅游网站系统(项目 + 论文PPT)

项目介绍 本旅游网站系统采用的数据库是MYSQL ,使用 JSP 技术开发,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 技术选型 后端: SpringBoot Mybatis 数据库 : MyS…

Django官网项目 二

官网地址:Writing your first Django app, part 2 | Django documentation | Django 创建模组: 注册model (bug:没有加后面的逗号) 在manage.py 的目录下: python manage.py makemigrations polls pyth…

打印机状态错误的解决方法

在电脑操作中,用户遇到打印机状态错误的问题,但不知道怎么操作才可以解决问题?接下来小编介绍打印机状态错误的解决方法,帮助大家轻松解决打印机出现错误状态的问题,快速恢复打印机的正常工作状态,从而满足…

固定资产管理系统建设方案

固定资产管理系统需求要点: 1. 实现公司内部固定资产管理全生命周期管理,包括资产采购、资产入库、资产领用、资产借用、资产归还、资产报废、资产维修、资产调拨等全过程管理。 2. 可实现集团内部固定资产盘点管理,包括盘点计划、盘点查询等…

多平台拼音输入法软件的开发

拼音输入法从上个世纪发展到现在, 已经发展了几十年了, 技术上已经非常成熟了. 换句话说, 就是实际上没多少技术含量, 随便来个人就能手搓一个. 本文介绍一个简单的多平台拼音输入法软件的设计和实现, 支持 GNU/Linux (ibus) 平台 (PC) 和 Android 平台 (手机). 目录 1 中文输…

【C++庖丁解牛】默认成员函数

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 前言1. 构造函数1.1 …

低空经济20人|卓翼智能任雪峰:以技术驱动市场,引领无人机细分领域创新

作为国内系留无人机领域的领头羊企业,卓翼智能致力于提供智能无人系统解决方案。本期“低空经济20人”请到卓翼智能CEO任雪峰分享他对系留无人机研发应用的经验以及未来无人机行业生态发展的观点。 如今,无人机的应用场景逐渐广泛,在社会发展…

pycharm社区版+miniconda 环境配置学习

使用电脑为win10 64bit 一、下载: 1.pycharm社区版地址: 其他版本 - PyCharm 2.miniconda下载地址: Index of /anaconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 3.python下载地址: https://www.python.or…

百度AI,能否“投”出未来?

图片|freeflo.ai ©自象限原创 作者丨程心、罗辑 2月28日,百度发布了2023年四季度财报及全年未经审计的财务报告,AI大模型带来的收入和利润成为最大的亮点。 财报显示,2023年百度集团总营收达1345.98亿元,同比增…

一文读懂Penpad 以 Fair Launch 方式推出的首个资产 PEN

随着 2 月 28 日比特币重新站上 6 万美元的高峰后,标志着加密市场正在进入新一轮牛市周期。在 ETF 的促进作用下,加密市场不断有新的资金流入,加密货币总市值不断攀升。Layer2 市场率先做出了反应,有数据显示,当前以太…

混合注意力机制全新工作!性能表现SOTA!准确率达98.53%

在神经网络中,为增强模型对数据中重要特征的识别和处理能力,研究者们通常会同时使用不同类型的注意力机制,包括空间注意力、通道注意力、自注意力等。这种结合了多种不同类型注意力机制的技术就是混合注意力机制。 混合注意力机制的研究和应…

Thingsboard本地源码部署教程

本章将介绍ThingsBoard的本地环境搭建,以及源码的编译安装。本机环境:jdk11、maven 3.6.2、node v12.18.2、idea 2023.1、redis 6.2 环境安装 开发环境要求: Jdk 11 版本 ;Postgresql 9 以上;Maven 3.6 以上&#xf…

电脑无法开启虚拟化

vm开启虚拟化失败 如果出现以下错误,需要进入bios界面,不同电脑进入界面的方式不一样。这里以hp为例: 1、关机后,按住开机键和f10,进入如下界面(语言在主菜单里面) 2、选择先进和下面的系统选…

检修弧形导轨需遵守的原则

弧形导轨被广泛应用在各行各业中,特别是工业自动化领域中,是自动化机械设备中重要的传动零部件。在使用弧形导轨时,为防止意外发生或对机械设备造成损坏,在检修过程中必须遵守以下一些原则: ●安全第一:出现…

windows安装pytorch(anaconda安装)

文章目录 前言一、安装anaconda1、进入官网下载(1)点击view all Installers(2)下载需要的版本 2、一顿默认安装就行(到这一步这样填)3、进入开始找到Anaconda Prompt,点击进入到base环境 二、新…

docker部署aria2-pro

前言 我平时有一些下载视频和一些资源文件的需求,有时候需要离线下载,也要速度比较快的方式 之前我是用家里的玩客云绝育之后不再写盘当下载机用的,但是限制很多 我发现了aria2 这个下载器非常适合我,而有个大佬又在原来的基础…

Linux笔记-3

软件安装 概述 在Linux中,软件安装分为3种方式:绿色安装(压缩包解压之后就能直接使用),rpm安装(类似于Windows中的exe或者msi文件),yum安装 RPM(Red Hat Package Manager):红帽提供的软件包的管理工具。可以通过rpm命…

世界的本质是旋转(5)-在复平面上驱动软件无线电SDR交换BPSK波形

在上一篇文章中,我们介绍了复平面、拍照采样的一些思维实验。从本节开始,转入现实应用,通过控制复平面向量的位置,实现一个完整的BPSK全双工通信通道。 发射方:通过控制复平面向量在各个时刻的位置来携带信息的技术&a…

LeetCode234题:回文链表(python3)

代码思路:将链表的值复制到数组列表中,再使用双指针法判断,不断更新current_node的值。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next…

水泵远程自动控制系统

随着科技的不断进步和工业的快速发展,传统的水泵管理方式已经无法满足现代水利系统的需求。为了应对这一挑战,HiWoo Cloud水泵远程自动控制系统,旨在通过智能化、网络化的技术手段,实现对水泵的远程监控、自动调节和智能管理&…