第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. 持续引领大数据行业发展,腾讯云发布全链路数据开发平台WeData

    9月11日,在腾讯全球数字生态大会大数据专场上,腾讯云大数据产品副总经理雷小平重磅发布了全链路数据开发平台WeData,同时发布和升级了流计算服务.云数据仓库.ES.企业画像等6款核心产品,进一步优化 ...

  2. selenium IDE使用-1

    selenium 硒 Mercury汞,外国人喜欢取这化学的名字 一.selenium概述 1.selenium是开源免费的,针对web应用程序功能自动化测试的工作. 2.做功能自动化的原因:回归测试 ...

  3. Python简单的验证码生成

    用python生成简单的四位数验证码: 1 import random 2 3 if __name__ == "__main__": #这句话简单的理解就是,只有在本文件下以下的代 ...

  4. Js 添加cookie,写入cookie到主域

    if (getCookie("content") != null && getCookie("content") != "" ...

  5. Docker教程:使用Docker容器运行Nginx并实现反向代理

    一.前言 我们知道,为了安全考虑,我们一般会设置反向代理,用来屏蔽应用程序真实的IP和端口号.在Linux系统上最常用的反向代理就是Nginx.本篇文章中,我们会通过Docker容器分别运行一个Ngi ...

  6. 【进程/作业管理】篇章一:Linux进程及其管理(系统监控类工具)----glances、dstat

    glances   dstat   glances命令详解 相对于htop工具的使用,这里介绍一下glances工具的使用,我个人是比较喜欢这款工具的,主要就是由于glances这款工具可以将系统状态 ...

  7. Redis不仅仅是缓存,还是……

    你需要一个经典数据库吗? 一段时间以来,巨大数量的数据处理迫使所有的应用程序在数据库层前添加缓存策略.即使经典数据库进行了大量的下划线优化,仍然不能提供足够的速度和可用性.主要原因在于数据存储越远,获 ...

  8. Kafka数据每5分钟同步到Hive

    1.概述 最近有同学留言咨询Kafka数据落地到Hive的一些问题,今天笔者将为大家来介绍一种除Flink流批一体以外的方式(流批一体下次再单独写一篇给大家分享). 2.内容 首先,我们简单来描述一下 ...

  9. pdf2swf 和pdf2html 使用命令详解

    pdf2swf 将pdf文档转换为flash方式阅读,可以满足公式.图片的格式定义: pdf2htmlEX 将pdf文档转换为html方式阅读,有一下优点: 在HTML文件中精确显示原生文本 保持PD ...

  10. 修改mysql和MariaDB密码

    一.修改mysql密码 UPDATE user SET password=PASSWORD('new_password') WHERE user='root'; 二.修改MariaDB密码 alter ...