第1章 step与turn

目标

  • 了解游戏舞台的各组成部分
  • 掌握stepturn指令的用法

说起计算机,对于不了解它的人来说,也许会感到有些神秘,其实不然,它不过是能够接收指令并且按照指令执行的一种机器。

计算机一点也不神秘,它的最大优势,就在于它的运行速度非常非常非常之快。

就在前几天,在德国法兰克福举行的国际超级计算大会发布了最新的全球超级计算机500强的名单,美国超算“顶点”和“山脊”、中国超算“神威·太湖之光”和“天河二号”分列前四位。其中“神威·太湖之光”的峰值性能达到了惊人的12.5亿亿次/秒!

12.5亿亿次/秒,这项速度到底有多快?打个近似的比喻,神威·太湖之光计算1小时,相当于13亿人同时用计算器计算两千多年!

我们都知道,计算机是不能直接听懂人类语言的,要想让它按照我们的意愿工作,我们就需要对计算机进行编程。

由于计算机只能够识别特定的指令,所以,我们将希望计算机执行的任务,翻译成对应的一行行的指令,这些指令就组成了一份程序。

把这份程序输入给计算机,它就能按照你设计的程序工作啦。

从今天起,我们将开始学习“编程探险(Coding adventure)”系列课程,通过编程的方式,也就是那一行行的指令,去帮助游戏中的小猴子捡回被大猩猩抢走的香蕉。

在此过程中,你将逐渐学习并掌握计算机编程的基础知识,例如对象、数组、函数、程序的三种结构(顺序、选择和循环)、事件等。

舞台介绍

首先,请选择“编程探险 第一部分:基础学习”活动,以进入游戏。

在可爱的开场动画之后,猴博士首次登场了:

咦,等等,你有没有注意到,这里又是“第0关挑战”,为什么不是从第1关开始?还记得我们之前的第0章吗。哈哈,继续卖个关子,以后揭晓答案。

继续我们被中断的学习。

在每次进入到新的关卡之前,猴博士都会给出相应的提示,由于有了本教程,你完全可以直接略过这些提示信息。

看完提示信息之后,点击OK,提示框将会消失。

接下来,整个游戏舞台呈现在我们面前。

游戏舞台分为左右两块区域。

左边是动画演示区,是这个游戏的输出部分。右边是代码输入区,是整个游戏的输入部分。

点击右下角的RUN(运行)按钮,系统会根据右侧输入的代码,在左侧的动画演示区域内,控制小猴子执行对应的动作。RUN按钮如下图所示。

在RUN(运行)按钮的右边,是重置代码按钮,按下重置按钮后,右侧代码输入区的所有改动将会被清除,恢复到刚进入到这一关卡时的初始状态。

重置代码按钮就像是一块橡皮擦,它能快速擦除你在代码输入区域的所有改动。

在重置按钮的右侧,是设置按钮,按下它后,默认隐藏的设置面板将向左滑出。

在这里,你可以调节音量的大小,控制背景音乐(鸟鸣声)的开关状态,以及调节左侧动画的运行速度。

在屏幕的左上角,有一把棕色的尺子,你可以用它来测量各个对象之间的距离和角度。

在屏幕的右上角,还有一个绿色的地图图标,通过它,你可以在不同的关卡之间切换。

初试身手

至此,舞台上的所有内容都已经介绍完了,让我们来点击一下运行按钮,看看会发生什么事情。

在按下运行按钮之后,小猴子向前走了一段距离,最后成功地拿到了香蕉。

可是,小猴子为什么不是向左走,也不是向右走,而是向前走呢?这就要看右侧的代码啦,小猴子怎么动作,完全取决于你输入了什么代码。

输入区很简洁,只有唯一的一行代码,

代码只有一行step语句,step指令将会是在这个游戏中我们经常会使用到的指令。

它能让小猴子执行移动这个动作。那么,该如何告诉计算机要让小猴子移动多少步呢?

答案是,在step之后空一格,然后输入移动的步数就可以啦。

至于这个步数要怎么得到,这个时候左上角的尺子就派上用场了。

单击一下尺子,它就会跟着鼠标移动了,在香蕉上单击一下,表示开始测量,鼠标移动到小猴子身上,鼠标移动过程中,距离值会实时显示,最后在小猴子身上点一下,结束测量。

问你一个问题,除了使用以上的程序外,你还能想到其他的方法帮助小猴子拿到香蕉吗?

给你三分钟的时间思考。

相信聪明的你肯定想到了不只一种解决办法,例如最简单的办法就是,将15步拆分成几次走,而不是一次性的走完。

但是有一点你必须要注意,在这个游戏里有这项规定,一行只能写一行指令,要想写第二条指令,必须换行之后,在第二行书写。

其实很多编程语言都是支持在一行书写多条语句的,不过既然这个游戏里规定就是这样的,那我们遵守这个规定就行啦。

你已经学会step指令的用法了吗?

使用方法很简单,再来复习一下,step x, 就能让小猴子移动x步。

接下来介绍一个新的指令——turn

turn指令,顾名思义,它能使小猴子完成转向的动作。

具体向哪个方向转动呢?同样地,在空格之后,输入left、right或45、-30等角度数即可指定转动的方向。

赶紧在代码输入区试一试turn的用法吧。

好了,第1章的内容就学习到这里了。

课堂作业

  • 基础学习和特技模式的0 - 10 关

    注意,一定保证要所有关卡都拿到三颗星。

本章小结

  • 在本游戏中,一行只能写一条代码。
  • 同时按下CtrlEnter键,效果等同于单击RUN按钮。
  • 你可以手动输入代码,也可以点击舞台左侧的对象或下方的指令实现自动输入。
  • 移动指令:step x, 其中x表示移动的步数,x既可以是正数,也可以是负数。
  • 转向指令:turn x, 其中x表示转动的方向,可以是left,right,或是45,-45这样具体的角度。
  • 指令格式:指令名称 参数,注意,指令名称参数之间必须用空格隔开。

问答时间

等待你的提问噢!

CodeMonke少儿编程第1章 step与turn的更多相关文章

  1. CodeMonkey少儿编程第2章 turnTo对象

    目标 了解对象的概念 了解方法与对象的关系 掌握turnTo指令的用法 在开始本章的学习之前,我们先来复习一下上一章的知识点. 在第1章中,我们学会了在这个游戏中最简单的两个指令. step x 其中 ...

  2. CodeMonkey少儿编程第3章 times循环

    目标 了解程序由哪三种基本的结构组成 了解循环的概念 掌握times的结构与用法 三种基本结构 计算机程序由三种最基本的结构组成,它们分别是: 顺序结构 循环结构 选择结构 千万不要被这些陌生的术语给 ...

  3. CoeMonkey少儿编程第4章 变量

    点击这里,现在就开启CodeMonkey的趣味编程之旅. 目标 了解什么是变量 了解变量的命名规则 掌握如何使用变量 变量 什么是变量?顾名思义,变量就是可以变化的量. 和变量相对的是常量,即不可变化 ...

  4. CodeMonkey少儿编程第7章 函数

    目标 了解函数是什么 掌握如何定义一个函数 函数是什么 本章我们学习一个新的概念----函数. 你可以简单的将函数看作为一个黑匣子,给它输入参数后,它将会按照一定的规则,执行相应的指令或输出数据. 让 ...

  5. Scratch少儿编程系列:(十)系列总结及后续计划

    一.系列文章的来由 本篇为该系列文章的一个简单总结, 从初次接触Scratch开始,在写本系列文章过程中,一边读书,一边通过例子做练习. 技术实现,对于我跟人来说,没有什么难度. 我相信,对于一个初次 ...

  6. 异步编程系列06章 以Task为基础的异步模式(TAP)

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...

  7. 使用Scratch进行少儿编程

    在上一篇<初识少儿编程>曾提到过Scratch的脚本标签内包含10大模块,本文将围绕这10大模块展开,分为两部分:积木和编程概念,结合<动手玩转Scratch2.0编程―STEAM创 ...

  8. 3-8《Ruby元编程》第二章对象模型

    <Ruby元编程> 第二章 对象模型 类定义揭秘inside class definitions: class关键字更像一个作用域操作符,核心作用是可以在里面随时定义方法. [].meth ...

  9. UNIX网络编程 第6章 I/O复用:select和poll函数

    UNIX网络编程 第6章 I/O复用:select和poll函数

随机推荐

  1. github拉去代码慢的处理方式(最简单)

    https://github.com/xxx/xxxx 替换成 https://github.com.cnpmjs.org/xxx/xxxx 再去拉取,速度快很多,亲测可用

  2. IOS UITableView 加载未知宽高图片的解决方案

    在开发中遇到了UITableView列表 UITableViewCell装载图片但不知Image的宽高 问题. 在解决该问题的时候,首先想到的是异步加载图片 采用第三方框架SDWebImage 实现对 ...

  3. 【PY从0到1】第三节 列表

    # 3 列表 # 1> 下面这就是一个列表 aabbccdd = ['ee','ff','gg'] # 列表可以储存数据,包含其中元素可以有很多,是可修改.有次序的. # 下面展示一下两套索引. ...

  4. js下 Day20、综合案例

    一.购物车 效果图: 功能思路分析: 1. 面向对象框架 2. 模拟数据 1.多个店铺数组套对象 2.每个店铺多个商品,数组套对象

  5. vue第五单元(v-if和v-show以及v-for的灵活应用 watch以及computed的区别 (常见效果) #课程目标

    第五单元(v-if和v-show以及v-for的灵活应用 watch以及computed的区别 (常见效果) #课程目标 精通 v-if v-else v-else-if 的使用 精通 v-show  ...

  6. 网络编程-python实现-socket(1.1.1)

    @ 目录 1.不同电脑进程之间如何通信 2.什么是socket 3.创建socket 1.不同电脑进程之间如何通信 利用ip地址 协议 端口 标识网络的进程,网络中的进程通信就可以利用这个标志与其他进 ...

  7. ElasticSearch 史上最全文章

    老规矩,本篇文章 不做 ElasticSearch 的 编码讲解 ,只介绍 文章学习的一些优秀文章 重点在于不要循规蹈矩,教程 这样走,你不一定要按他这样走,按自己的方式来,学习效率会更高,网上的教程 ...

  8. UWP ListView添加不同样式

    先看效果: 使用ListView的ItemTemplateSelector <ListView IsItemClickEnabled="True" ItemContainer ...

  9. matplotlib之scatter

    Matplotlib之scatter 1,使用scatter绘制散点图并设置其样式: 1 import matplotlib.pyplot as plt 2 3 '''使用scatter绘制散点图并设 ...

  10. Java与C#

    Java和C#都是编程的语言,它们是两个不同方向的两种语言 相同点: 他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态) 区别: 1.c#中的命名空间是namespace ...