目标

  • 了解对象的概念
  • 了解方法对象的关系
  • 掌握turnTo指令的用法

在开始本章的学习之前,我们先来复习一下上一章的知识点。

在第1章中,我们学会了在这个游戏中最简单的两个指令。

  • step x

    其中,x既可以是正数,也可以是负数。x是正数时,上述指令可以实现让小猴子向前移动x步的功能,为负数时则是倒着走,也就是向后移动。
  • turn y

    其中,y可以取值为left、right或是45这样具体的角度数值,它们分别表示让小猴子向左、向右旋转,或是向左旋转45度。

通过这两个简单的指令,我们不难总结出指令的一般格式如下:

指令 参数

一定要注意的是,指令与参数之间的空格是不可以省略的。不然,计算机就看不明白了。

turnTo

对于turn指令,你会不会觉得使用起来不是很方便,尤其是在需要给出具体角度数据作为参数时。那么,有没有更简单好用的指令可以替代turn呢?

答案是有的。人类总是习惯于偷懒,所以,在这个游戏中,我们又给出了一个名叫turnTo的指令。

它的用法如下,它同样遵循“指令 参数”的格式。

turnTo 对象

以上指令可以让小猴子直接转向你指定的对象,而不必给出具体的角度数值。

对象

这里出现了一个新的名词——对象。

要怎么理解对象这一概念呢?你可以暂时地把对象当作物体去理解,游戏中出现的每一个物体,都是一个对象。

每个对象都有自己独一无二的名字,把鼠标移动到相应的对象上,它的名字就会显示出来。

为了简化代码的输入,点击任一对象,它的名字就会自动书写在右侧的代码输入区里了。

说起对象,还有两个与之相关的新名词,属性方法

属性是指对象的性质,拿香蕉这个对象来说,颜色就是这个对象的一个属性。

再举一个属性的例子。让我们考虑人这一个对象,那么,他的身高、体重、性别等,也都是这个对象的属性。

接着再介绍方法。方法就是指一个对象所能够完成的动作,譬如游戏中的小猴子monkey和即将出场的新朋友——乌龟turtle,这两个对象都能够完成移动step、旋转turn以及转向turnTo的动作,所以我们就说,step、turn、和turnTo是这两个对象所拥有的方法。

为方便理解,再举一个方法的例子。还是考虑人这一个对象,人能够吃饭、走路、工作,所以我们就说,吃饭、走路、工作分别是人这一对象所拥有的三种不同的方法。

问题来了,既然乌龟turtle也能够完成移动step、旋转turn以及转向turnTo的动作,可是我们要如何通过代码去控制它执行这些动作呢?

如何让乌龟turtle移动呢,换句话说就是,如何才能调用turtle的step方法呢,格式如下:

turtle.step x

上述的指令将能够控制乌龟turtle,让它移动x步。

那么,依此类推,我们很容易得到如下的指令:

  • turtle.step x

    让乌龟turtle移动x步
  • turtle.turn y

    让乌龟turtle旋转
  • turtle.turnTo z

    让乌龟转向z

不难想到,

  • monkey.step x

    让小猴子移动x步,等同于前一章的step x
  • monkey.turn y

    让小猴子旋转,等同于前一章的turn y
  • monkey.turnTo z

    让小猴子转向z,等同于turnTo z

怎么样,是不是对上一章的内容又有了更深层次的理解了?

现在让我们来总结一下如何调用对象方法

对象名.方法名

通过以上的指令格式,可以调用对象的方法。

虽然目前暂时还不会用到对象的属性,但可以先了解一下如何使用对象的属性:

对象名.属性名

我们通过上述的指令格式,使用对象的属性。

如果你对上述内容还不能很好的理解,那就暂时先放一下,通过后续的学习,你会逐渐理解的。

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

现在通过以下关卡来检验一下今天的学习效果吧。

作业

  • 故事模式的 11 - 20 关
  • 进阶模式的 2-1 - 2-10 关

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

本章小结

  • turnTo指令可以实现转向。
  • 乌龟turtle和小猴子monkey一样,都可以完成step、turn和turnTo动作。
  • 通过对象.方法对象.属性的方式,我们可以访问对象方法属性

问答

  • 孩子还不太理解“对象”等概念怎么办?

    不用担心,本章只是先引出对象这一编程中的基本概念,目前孩子知道有这么一个概念就行了。

  • 为什么不给出每一关的通关代码?

    通关的过程也是检验孩子对所学知识的掌握情况的过程,要引导孩子思考,不要直接给他答案。

  • 如何访问CodeMonkey?

    使用电脑浏览器访问http://dwz.date/dY5Y即可。

CodeMonkey少儿编程第2章 turnTo对象的更多相关文章

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

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

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

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

  3. Windows核心编程 第三章 内核对象

    第3章内核对象 在介绍Windows API的时候,首先要讲述内核对象以及它们的句柄.本章将要介绍一些比较抽象的概念,在此并不讨论某个特定内核对象的特性,相反只是介绍适用于所有内核对象的特性. 首先介 ...

  4. CodeMonke少儿编程第1章 step与turn

    第1章 step与turn 目标 了解游戏舞台的各组成部分 掌握step和turn指令的用法 说起计算机,对于不了解它的人来说,也许会感到有些神秘,其实不然,它不过是能够接收指令并且按照指令执行的一种 ...

  5. windows核心编程---第三章 内核对象及句柄本质

      本章讨论的是相对抽象的概念,不涉及任何具体的内核对象的细节而是讨论所有内核对象的共有特性. 首先让我们来了解一下什么是内核对象.内核对象通过API来创建,每个内核对象是一个数据结构,它对应一块内存 ...

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

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

  7. 【2】python核心编程 第四章-python对象

    1.python对象 所有的Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到. 这个值可以被认为是该对象的 ...

  8. Windows核心编程:第3章 内核对象

    Github https://github.com/gongluck/Windows-Core-Program.git //第3章 内核对象.cpp: 定义应用程序的入口点. // #include ...

  9. c++编程思想(一)--对象导言

    回过头来看c++编程思想第一章,虽然只是对c++知识的一个总结,并没有实质性知识点,但是收获还是蛮多的! 下面感觉是让自己茅塞顿开的说法,虽然含义并不是很准确,但是很形象(自己的语言): 1.类描述了 ...

随机推荐

  1. Java8中执行js脚本

    代码中除了callJSFunctionFromFile函数,其他均转载于文章JDK1.8中如何用ScriptEngine动态执行JS import jdk.nashorn.api.scripting. ...

  2. securecrt7.1注册方法

    本文出自 "Kinslayer 's Blog" 博客,请务必保留此出处http://kinslayer.blog.51cto.com/3681810/833438

  3. Kafka客户端编程入门介绍

    1.maven依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka ...

  4. vue第一单元(初识webpack-webpack的功能-webpack的初步使用)

    第一单元(初识webpack-webpack的功能-webpack的初步使用) #课程目标 了解webpack出现的意义,以及webpack解决的前端问题 掌握webpack的使用流程和步骤 掌握we ...

  5. 个人微信公众号搭建Python实现 -个人公众号搭建-运行run方法的编写(14.3.3)

    @ 目录 1.主要逻辑 2.代码 关于作者 1.主要逻辑 使用的是flask服务器 就使用一个函数处理请求 第一个是验证服务器,返回微信服务器给的字符串就表示验证成功 第二是要处理微信服务器发送过来的 ...

  6. pandas的学习8-pandas-plot出图

    import pandas as pd import numpy as np import matplotlib.pyplot as plt ''' 这次我们讲如何将数据可视化. 首先import我们 ...

  7. MySQL高级部分理论知识细讲

    文章目录 一.数据库分区.分表.分库.分片 YesOk ,大家好 ,我是小刘,许久不见,甚是想念 ,小刘今天来带大家学习 分库分表的基础知识 1.1 单机数据库的瓶颈 单个表数据量越大,读写锁,插入操 ...

  8. 第一章: 初始JVM

    跟很多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看.所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试. 因为装逼 但我经过了几年的学习和实战,我发现其实 ...

  9. Python 微信公众号文章爬取

    一.思路 我们通过网页版的微信公众平台的图文消息中的超链接获取到我们需要的接口 从接口中我们可以得到对应的微信公众号和对应的所有微信公众号文章. 二.接口分析 获取微信公众号的接口: https:// ...

  10. js深克隆与浅克隆

    定义: 浅克隆: 克隆对象的一层属性, 如果对象还有对象的话,里面的对象没有进行克隆,只是把地址给了别人.也可以理解为只是简单的克隆了躯体,但是没有得到其灵魂: 深克隆:克隆对象的多层属性,对象里面还 ...