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

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

1、启动Scratch

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

  启动后的界面如下:

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

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个角色,绘制完后依次在中间窗口重命名角色名字。

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

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

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

  外星飞船脚本设计:

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

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

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

  加农炮角色脚本设计:

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

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

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

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

  

玩转树莓派《三》——Scratch的更多相关文章

  1. windows下一根数据线玩转树莓派zero(w)

    买了个树莓派zero w,想着用一根普通micro数据线达成 供电+ssh+通过usb共享网络+远程桌面 的目标 通过用静态ip免去了用benjour的连接不稳定方法,下面开始细说 需要的硬件: 树莓 ...

  2. 玩转树莓派 - 修改Raspbian软件源加快软件下载速度

    这是 meelo 原创的 玩转树莓派 系列文章 步骤1:登录到Raspbian的命令行界面 步骤2:修改Raspbian的软件源 软件源是Linux系统免费的应用程序安装仓库,很多的应用软件都会这收录 ...

  3. Excel应该这么玩——5、三种数据:Excel也是系统

        Excel最常用的功能就是记录数据,把数据按照行列记录下来.这部分数据是源数据,是业务活动中最原始的流水账,作为后续操作的依据.为了从源数据中得出一定的结论,需要对源数据进行分析得出报表数据. ...

  4. SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)

    前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲 ...

  5. <<开源硬件创客 15个酷应用玩转树莓派>>

    本书共分18章,前3章是本书的基础章节,主要介绍了树莓派的一些基本情况和基本操作,来让读者了解树莓派的前世今生,掌握树莓派基本的使用方法.第4~18章主要介绍15个以树莓派为载体的酷炫应用,大家可以按 ...

  6. SQL Server 调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)

    前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲 ...

  7. TOM带你玩充电 篇三:15款5号电池横评及选购建议——南孚金霸王小米宜家耐时品胜一个都逃不了

    双鹿电池的几个版本 理论上来说性价比:绿骑士>金骑士>黑骑士>蓝骑士 绿骑士和金骑士都很不错.哪个便宜买哪个. 小米性价比虽然最高,但是超市买不到. 蓝骑士是普通碳性电池,黑骑士是高 ...

  8. 玩转html5(三)---智能表单(form),使排版更加方便

    <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/h ...

  9. 【玩转树莓派】使用 sinopia 搭建私有 npm 服务器

    简介 使用 sinopia 的好处是,node系的工程师,内部协作时,使用自有 npm 包,会非常方便:另外,sinopia,会缓存已经下载过的包,可以在相当程度上,加速 npm install 相关 ...

随机推荐

  1. Caliburn.Micro 资源随时添加

    Caliburn.Micro – Hello World http://buksbaum.us/2010/08/01/caliburn-micro-hello-world/ http://blog.c ...

  2. GO学习笔记 - 数据类型推导

    官方教程:https://tour.go-zh.org/basics/14 在定义一个变量却并不显式指定其类型时(使用 := 语法或者 var = 表达式语法), 变量的类型由(等号)右侧的值推导得出 ...

  3. 多个音频audio2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. linux环境搭建前期配置

    一.永久修改主机名 1.修改network文件 # vim /etc/sysconfig/network 加入 HOSTNAME=主机名 保存退出 2.修改hosts文件 # vim /etc/hos ...

  5. samba服务器的安装与配置(之前是因为没有把共享文件权限放开!)(windows7和centOS6)

    注:centOS6跟centOS7安装方法不一样哦.以下是centOS6的安装过程. 安装:yum -y install samba 启动:/etc/init.d/smb start 设置开机启动:c ...

  6. Using the JDBC Driver

    Download JDBC Driver This section provides quick start instructions for making a simple connection t ...

  7. CentOS+uwsgi+django+nginx 环境部署及分析

    写在部署前 在线上部署django项目时,比较成熟的方案是:nginx + uWSGI + Django. nginx和Django 都比较熟悉了,uWSGI是什么呢?WSGI是一个协议,python ...

  8. appium+python 存在多个类时,不用每次都初始化解决办法

    appium+python写自动化测试用例时,为了代码的可维护性,分成不同的类是很常见的办法, 但是在运行时,每一个类都要初始化一次,即每次都会重启应用,这很麻烦,通过__new__可进行多个类之间的 ...

  9. java 实用Util汇总

    1.Util介绍 Util是工具的意思,一般来说,常常用来描述和业务逻辑没有关系的数据处理. Util一般要和私有方法对比:私有方法一般来说是只是在特地场景下使用的,私有方法越多,代码结构越乱.常见的 ...

  10. python学习,day3:函数式编程,局部变量和全局变量

    # coding=utf-8 # Author: RyAn Bi school = 'THU' #全局变量 def change_name(name): global age #在函数中,用globa ...