玩转树莓派《三》——Scratch

摘要:
我看到一个朋友回答说,当在ubuntu上运行SQL时,数据被发送到到处都是的txt文件。这是我第一次接触树莓派,当我进入配置界面时,我意外地选择了启动并进入Scratch。但我不能否认他们确实设计了这种语言,这给编程带来了乐趣。你可以在手机或平板电脑上自由设计自己的游戏,其中包含一些积木形式的脚本语句;中间的脚本编程区用于将左侧的脚本构建块拖动到右侧以完成编程;然后开始将左侧的构建块拖动到中间的脚本编辑窗口:

  今天大姨妈折磨了一整个白天,稍微好点,现在打开实验楼,看到有个朋友回答了关于ubuntu上面操作SQL 的时候到处数据到txt文件,被批评没有思考问题,或许吧,虽然那个权限我现在想起确实是可读可写的,但是他的一句是否认真思考自己遇到的问题这件事情本身是没有错的,不是急于求成而要追踪本质,怪不得在某一些测试上面我连编程入门的都没有,突然觉得自己的路还有好长好长,而现在的我却企图安于现在,也是Funny。

  ok,不多废话,进入今天的主题Scratch,第一次遇到Scratch,是第一次接触树莓派的时候进入配置界面的时候不小心选择开机进入Scratch,导致进入Scratch就出不来了,还好及时quit,当时就是看见一只猫,初步将其定义为一个作图面板,直到第二次听说这是个编程环境;第二次是在一次考试以后,图书馆会议厅邀请了麻省理工的MIT团队来宣讲,当时理解的他们给我们提供了一个可爱的编程环境,普遍适用于青少年等对编程不熟悉的人群,当时自高的我认为这样最多是小孩子游戏而已,但是不能否认他们确实设计了这门语言引起了编程乐趣,大家可以在手机或者平板上面自由设计自己的游戏,是一种类似于积木的可视化编程,那么今天一起来第三次的真正接触这个环境吧。

1、启动Scratch

  启动的方式有很多,可以通过菜单方式启动:选择菜单栏“Menu”>"Programming">"Scratch";也可以直接在命令终端输入命令行:scratch。

  启动后的界面如下:

玩转树莓派《三》——Scratch第1张

  将上图大概分为三个区域:左边的积木盒,里面是一些积木形式的脚本语句;中间的脚本编程区域,用来拖拉左边的脚本积木到右边从而完成编程;右边的程序运行区域。

2、创建角色,编辑脚本

  选择右边窗口的角色1,然后开始拖拉左边的积木到中间的脚本编辑窗口:

  2.1 初始化程序:选择“control”窗口的积木:when "flag" clicked  #表示当点击右上方的绿色旗帜的时候启动程序;

  2.2 进入循环语句:forever #永久循环,类似于while语句;

  2.3 循环内部动作:turn “顺时针” 15 degrees  #顺时针旋转15度,这里面的15这个数值可以修改;

  2.4 如果不想按照固定的度数旋转,可以选择随机度数旋转:选择“Operators”窗口中的积木:pick random 1 to 10,可以将去改为-10,这样角色将会随机逆时针或者顺 时针的转动;

  2.5 移动步伐:选择“Motion”窗口的积木:move 10 steps;

  2.6 测试的时候发现,猫咪不听话,很容易跑到舞台外面,因此设定范围:if on edge,bounce  #碰到边缘就反弹;

3、运行游戏

  点击右上方的绿色红旗开始运行程序,结果猫咪跑起来了,给个截图:

游戏运行图

 4、来一个更有意思的游戏:星际入侵者游戏

  游戏原理:类似于飞机大战,玩家地加农炮对外星飞船进行射击子弹,如果没有射中外星飞船导致飞船与玩家进行相撞,那么游戏结束Game over!

  4.1 绘图创建5个角色:cannon、alien_1、alien_2、bullet、gameover

  首先删除猫那个角色1,选择角色1右键"delete",然后点击“Paint new sprite”来依次绘制上面5个角色,绘制完后依次在中间窗口重命名角色名字。

  角色效果图(大家不要笑话==||)

玩转树莓派《三》——Scratch第3张

  4.2 为每一个角色创建不同的脚本

  外星飞船和加农炮有两种状态:爆炸状态和正常状态,因此需要使用两个脚本表现这两种不同的状态。

  外星飞船脚本设计:

  原理:当点击运行脚本,切换到正常状态alien,选择起始位置(-134,82),确保是可见的;飞船随机移动;由于舞台上的角色是共同存在的,因此要处理好角色之间的碰撞,当两个外星飞船相遇时需要避免发生爆炸避免重叠,应该各自旋转90度,为了分开他们,需要各自移动10步;如果飞船碰到子弹,飞船将会发生爆炸,此时切换到爆炸状态(blast);爆炸后,隐藏起来,切换到正常的飞船状态,然后等待3秒随机出现的舞台的一个位置。

  部分脚本截图如下: ubuntu的图床今天有点抽风,就不上图了。

  依次类推,第二个外星飞船的运行脚本也是类似,相同的脚本直接复制“duplicate”即可,然后更改依次初始位置以及角色名称。

  加农炮角色脚本设计:

  原理:选择一个适当的初始位置;限制为左右方向键盘移动;当遇到外星飞船的时候转换到爆炸状态,并隐藏起来,最后宣布:GameOver!

  子弹角色原理:子弹的初始位置是不可见的,方向是向上运动的;当按空格键的时候才会出现在加农炮的位置,并移动10步,当遇到舞台边缘的时候才会消失。

  gameover角色原理:初始位置隐藏,当接受到GameOver!信息时出现,游戏终止。

这就是整个游戏设计过程了,话说大家可以设计一下舞台背景,然后增加一点音乐,才是一个客户体验的游戏!

  

免责声明:文章转载自《玩转树莓派《三》——Scratch》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ArcGIS10 图框生成和批量打印工具V5.0正式发布Asp.Net Core中JWT刷新Token解决方案【转】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

一种新型的低代码嵌入式系统开发平台介绍

同样使用梯形图语言编程,嵌入式开发平台的产品和PLC产品相比,优势在哪里?   (机器编程系列文章三) 嵌入君   一、概念介绍 首先介绍下“低代码开发平台”的概念,按照百度百科给出的解释如下:低代码开发平台是无需编码或通过少量代码就可以快速生成应用程序的开发平台。   按照网上给的定义,我认为,使用梯形图编程的PLC工控机的软件开发平台实际上是一种低代码...

oracle中有关用户、角色的一些概念。

oracle中的每个用户对应一个单独的方案(schema),方案的名字与用户名一样,方案中包含很多数据对象,表,视图,触发器,存储过程等元素。 oracle中管理数据库的角色有sys,system,数据库的维护由数据库自己来完成,任何用户不得更改。 sys:所有oracle的数据字典的基表和视图都存放在sys用户中,   sys拥有dba,sysdba,s...

冷扑大师AI简史:你用德扑来游戏,人家用来发Science

前言 人类又输了...... 创新工场组织的一场“人工智能和顶尖牌手巅峰表演赛中”,机器人AI冷扑大师赢了人类代表队龙之队 792327 记分牌,最后 200 万奖励归机器人所有。 在围棋项目上人类的一票大师已经被 AlphaGo 虐得得不行。然而这还不算完,最近有在朋友圈里看到不少 “AI 首次在德州扑克战胜人类职业玩家,新算法让机器拥有直觉 ” 这类新...

Windows网络编程

第一章序言                 我写这个专题的目的,一方面是为了通过对网络编程再一次系统的总结,提高自己的网络编程水平,特别是Windows下的网络编程水平。同一时候,我也希望,能为众多初学网络编程的人提供一点帮助,由于我開始学习网络编程的时候,能找到的资料就非常少。当然,花钱能够买到翻译版本号的书:)               首先向大家...

Nexus3.x帐号权限配置

一、使用admin登录后,点击上方齿轮图标 二、打开左侧导航,Security Privileges:具体的权限明细,比如我创建一个test仓库,这里就会生成 Roles:添加角色,设置每个角色可看到的页面或者仓库,每个角色也可拥有其他的角色 Users:添加帐号密码,帐号密码邮箱这些必填信息不说了,这里要选择一个角色 Anonymous:这个打开后对...

C#设计模式——代理模式

一、代理模式介绍: 在软件开发过程中,如果直接访问对象给系统带来不必要的复杂性,而且有时候有些对象会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,这时候可以在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象,然后客户端只需要访问代理对象,由代理对象去帮我们去请求目标对象并返回结果给客户端,这就是代理模式。代理模式——就是给某一个对...