java卡雷尔实验报告_卡雷尔古典Java编程,让你养成好习惯(第一弹:Karel概述)...

Karel概述

时间:20世纪70年代

地点:斯坦福大学研究生院

人物:Rich Pattis(斯坦福大学在校研究生)

异闻:此事要从1923年说起,当年捷克有一个剧作家KarelCapek在1923年公演一个题为R.U.R的作品后,从那一天开始,这个剧作家为英语带来了一个新的英语单词----Robot。而这个斯坦福的高材生为了纪念这个人,将机器人中的一个命名为:Karel(后面我们会说到--Karel是一个对象,并不是一个类)。

经历:刚开始的时候,Karel所在世界的法律(即:语法规则)是C#,当年Java这门法律还不是特别受欢迎,Karel的出现完全没考虑过Java,它主要是帮助初学者通过教授Karel去进行各种动作,从而使初学者学会了如何让程序工作。后来Karel从课堂以及人们的视野中消失了一段时间,不过没过多久,他又回来了,并带着全新的形象,出现在初学者的世界,新的设计使得Karel完全兼容Java和Eclipse编程环境,这就意味着,Karel升级过后,是带给所有初学者的福音。

Karel是啥呢:首先用两个“非常简单”来形容:非常简单世界中的一个非常简单的机器人。你想要和他沟通,就得遵守他们世界的法律(语法规则),你是他的老师,也可以是他的老大,如果你是老师,他就是你最听话的学生;如果你是老大,那么你就有了一个最忠心的小弟。你作为老大,可以直接命令小弟干一些事情。指定这些命令的过程就称之为编程。你在进行编程的过程就是Karel学习的过程。你要先学会他们世界的法律,然后教给你最听话的学生Karel。提前定义的命令是构成了Karel的基础,在Karel的世界提前定义的命令和法律(语法规则)一起定义了Karel编程语言。Karel语言很像Java语言,因此Karel具有和Java程序相同的结构,亦有相同的基本元素。命令Karel在他的世界去解决你在自己的世界面临的问题,这才是编程的本质。Java这门复杂的语言里,细节往往是你和Karel学习的重点。

Karel的世界: 小 的 时 候 大 家 都 玩 过 一 款 名 字 叫 “ 吃豆豆 ”的 游 戏 如 下 图 :

而Karel的世界和他的世界是那么的相似,他的世界是这样的:

Karel站在大街上,四周的实线就是墙,在他的世界有四个方向:东南西北。记得Karel最初只能站在墙角。再Karel面前的灰色菱形物体你可以理解为是一个寻呼机(beeper:有点像早年的BB机!)只有当Karel和寻呼机同在一个墙角的时候,Karel才能感知到这个寻呼机。Karel世界的墙(就是那个实线)和我们现实世界的墙一样,都是不能传过去的哟!Karel世界的尺寸完全取决你想让他做什么事情,上面那个图,只是一个简单的Karel世界。

Karel能做什么:

move() //让Karel向前走一步,注意啊不要让他往墙上撞---疼!!!!

teunLeft() //想左

pickBeeper() //Karel腰上可以别着很多(理论上可以无限多)寻呼机,这个命令是让他把地上的寻呼机捡起来别腰上.

//除非这个寻呼机正好在Karel所在的初始的角落里,那么Karel就不能弯腰(即:响应)捡拾这个寻呼机了。

putBeeper() //这个和上面那个正好相反,把腰上的寻呼机扔在脚下,但有一个前提,Karel要有的扔(即:腰上要有寻呼机可扔)

关于Karel犯法这件事情(即:程序执行错误),对你这个老大来讲可能不算啥,但是你的小弟会在错误发生的那一刻起,被抓起来了,也就同时不会再执行你的命令了。Karel得到的这些命令,不能自动执行的,需要你把它们都写在Karel程序里面后,才能统一执行。

今天就说到这儿吧。接下来还会继续更新,如果你觉得不错,想问一些操作上的问题,可以加我的微信:dujiang0311

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值