STARLOGO用法翻译.docx

上传人:b****5 文档编号:3837083 上传时间:2022-11-25 格式:DOCX 页数:10 大小:20.94KB
下载 相关 举报
STARLOGO用法翻译.docx_第1页
第1页 / 共10页
STARLOGO用法翻译.docx_第2页
第2页 / 共10页
STARLOGO用法翻译.docx_第3页
第3页 / 共10页
STARLOGO用法翻译.docx_第4页
第4页 / 共10页
STARLOGO用法翻译.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

STARLOGO用法翻译.docx

《STARLOGO用法翻译.docx》由会员分享,可在线阅读,更多相关《STARLOGO用法翻译.docx(10页珍藏版)》请在冰豆网上搜索。

STARLOGO用法翻译.docx

STARLOGO用法翻译

Starlogo讲解

由starlogo开发小组、MIT媒介工作室、艾伦•艾伯斯坦、丽贝卡wahba和罗伯特tau

Starlogo是用于控制屏幕上的乌龟的程序,有些像Logo。

然而,与LOGO不同的是,使用starlogo你可以编程出成百上千只乌龟,甚至可以将乌龟的底板编程。

Starlogo最初用于为没有向导的系统建立模型。

在我们显示生活中,这些无向导和规则的例子有鸟群、交通堵塞、白蚁和蚁群。

让我们来编写一个程序,来为人造的白蚁群落建立一个模型。

当阅读这个指南的时候,你将会被要求在电脑上进行一些输入。

输入的时间和内容将会用黑体字标出。

创建一个starlogo文件

启动StarLogo程序,从文件菜单选择新的命令来创建一个新的模型。

 

在控制中心中有四个面板,但是你只能同时看到两个。

在初始界面,你可以看到一个乌龟的命令和程序窗口。

在窗口的顶部点击observer健,你还可以看到用户的命令和程序窗口。

当你想让乌龟做什么事情的时候,你可以在乌龟的命令或者程序窗口中点击控制键。

在指挥中心输入的命令是立即执行的,而在程序窗口中键入命令必须由一个按钮或在指挥中心的命令调用另一个窗口。

在turtle窗口中键入命令,所有的乌龟都将执行命令。

如果你希望让观察员做一些事情(如创建新的海龟或改变所有底板颜色),你需要点击观察员按钮,然后在该窗口中键入命令。

一个简单的命令

当你打开starlogo的时候,程序会给你一些乌龟去开始。

(如果你开始新的程序,你必须使用观察者窗口中的“create-turtles”健和一个数值来自己创建一些乌龟。

)如果这是实际情形跳过下个部分,并且移向“创造乌龟”。

在乌龟控制面板中尝试输入fd10,然后返回或者进入。

然后,你将会看到,由于他们都是向着不同的方向前进,所以形成了一个圈。

然后你还会发现,你只输入了一次fd10,可是所有的乌龟都同时开始移动!

因为你的每个命令都是所有乌龟一起运行的。

创建乌龟

你是如何创建自己的乌龟的?

首先,在观察者窗口中输入clearturtles(ct)清除掉已经存在的乌龟。

然后,在相同的窗口中输入crt和一个数值来创建一些乌龟。

你也许会惊奇,“所有的乌龟都去哪儿了?

”,这是由于在starlogo窗口的中心看起来似乎只有一只乌龟。

其实,他们是累积起来了。

如果你想看到所有的乌龟,你可以转换到乌龟命令中心然后在窗口中输入fd30。

创建程序

程序是命令的集合,就像你在观察者中心或者乌龟控制中心中输入的那些命令一样,需要放在一起使用。

你需要做的就是输入所有程序的名字,然后让程序中的所有命令运行。

所有的程序都进入到程序窗口中的一个。

首先,让我们先把这几个命令放入观察者程序窗口的程序中。

记住,通过这些操作,观察者只能控制底板和乌龟的创建;他还可以给乌龟们发出命令信息。

当我们在观察者窗口,但是我们又想要求乌龟做什么事情的时候,我们需要使用特殊的命令“ask-turtles”。

tosetup

crt30

ask-turtles[fd10]

end 

记住,单词“to”用来开始每个程序。

(在这个演示中,你可以告诉电脑如何去运行)。

单词“end”用来结束每一个程序,来让程序知道你的所有命令均已结束。

尝试运行你的第一个程序。

首先,在观察者命令中心输入ct清除所有的乌龟。

然后输入setup,并且观察乌龟的出现。

输入setup引起程序的运行。

但是,倘使你不想每次通过输入ct来开始。

你可以把这个命令包含到安装程序中:

tosetup

ct

crt30

ask-turtles[fd10]

end 

现在,每次你输入setup时,乌龟就会被自动清除了。

保存您的成果

到目前为止,一切都好。

保存到这一点您的所有工作。

使用文件菜单中的saveas命令,然后输入你的名字作为文件名保存文件,点击确定。

时常保存一下的工作是个不错的选择。

按钮

为了让运行安装程序更便捷,你还可以创建一个安装按钮。

然后,当你按这个按钮的时候,starlogo就会运行安装程序。

首先,点击starlogo主窗口顶部的蓝色按钮图标。

然后点击图标下的空格。

当一个窗口出现的时候,在指示图标指令的空格中输入setup。

现在你必须选择你安装程序的存放位置。

由于你已经将他放在了观察者窗口,所以请选择观察者。

现在,你有了一个setupbutton,当你按这个按钮的时候,以setup命名的可以创造30个乌龟并且可以向前移动的starlogo程序就会运行。

尝试按一下吧。

使用乌龟颜色

你刚刚创建了30只乌龟(或者白蚁)。

让我们把所有的乌龟都变成蓝色吧。

使用setcolor命令,或者仅仅是setcblue,就可以将乌龟变成蓝色。

在乌龟的命令中心中输入setcblue。

现在,尝试把他们变成红色(setcred),并且把这个加入到你的安装程序中。

tosetup

ct

crt30

ask-turtles[setcredfd10]

end 

使用乌龟的形状

现在,你有了30只红色的乌龟(或白蚁)。

让我们把乌龟变成白蚁的形状吧。

进入windows菜单,选择shapechooser。

选择一个空白的形状,然后双击它。

选择你想使用的形状的大小(记住,你必须使用相同的底板尺寸)。

这个可以在形状编辑窗口的顶部选择。

然后,你可以使用画图工具创建你的形状。

你形状编辑窗口中为你的形状命名(由于辅导的目的,更适合选择白蚁形状的皮肤),现在你有了你蚁群的形状了。

仅仅使用形状的名字或者编号去设置形状。

记住,在starlogo中,只有在尺寸为8、16和32时,形状才可能被看到。

尝试一下在你的安装程序中,把你的蚁群设置成你的新形状:

tosetup

ct

crt30

ask-turtles[setshapetermite-shapesetcredfd10]

end 

现在,你有了30只红色的白蚁形状的乌龟,为什么不让他们来执行一些命令呢。

首先,我们打算把部分白蚁的环境中填充上刨花。

稍后,我们可以给出关于白蚁将要用这些刨花做什么的规则。

记住:

如果你没还没有保存,现在赶快保存吧。

创建底板

现在,您可以创建木片。

虽然我们可以用海龟代替木片,但是用底板更容易一些。

使用starlogo的画图工具,你可以绘制自己的木片。

首先,点击starlogo窗口主菜单的顶部。

然后点击绘图刷按钮选择绘图选项。

绘图的颜色板将会出现。

在左侧的框中,点击铅笔按钮。

在右侧的框中点击黄色,然后你就可以绘制黄色的木片了。

现在,点击你想要木片出现处的窗体。

你还可以使用观察者命令setpc和颜色的名字或者编号来设定整个底板窗体的颜色。

另一种改变单个底板颜色的方法是使用乌龟命令stamp。

例如在乌龟控制中心输入这些命令

repeat100[fd10stampyellow]

这条程序命令乌龟走十步,然后把他们所在的底板变成黄色。

他们都重复这种活动一百次。

计算机生成木片

前面的步骤并没有真正创建一些随机排列的木片,如果我们想真正的将木片随机分散开,我们需要改变每个乌龟的颜色,然后使用随机命令。

在乌龟控制中心输入这些命令:

repeat100[sethrandom360jumprandom200stampyellow] 

这条命令是说,每个乌龟应该向随机的方向跳动,并且把他们着陆的底板变成黄色。

每个乌龟应该重复这个过程100次。

现在,我们写一个程序将木片放在底板窗格中。

把程序放到乌龟程序窗口。

topatch-setup

repeat100[sethrandom360

jumprandom200stampyellow]

end

接下来,我们可以把这个命令加入到观察者程序窗口的setupprocedure中,现在这个窗口的程序如下:

tosetup

ct

crt30

ask-turtles[setcredfd10]

ask-turtles[patch-setup]

end

Nowwhenyoupressthesetupbutton,youseeredtermitesandyellowwoodchips. 

现在,当你按setupbutton健时,你会看到红色的白蚁和黄色的底板。

如果你想清除底板,使用cp命令。

因此,你可以使用ct和cp来清除乌龟和底板。

把这个加入到setupprocedure程序中如下:

tosetup

ct

cp

crt30

ask-turtles[setcredfd10]

ask-turtles[patch-setup]

end

记住:

如果你想清除乌龟和ca命令,或者clearall。

让我们把ca命令加入到setupprocedure程序中:

tosetup

ca

crt100

ask-turtles[patch-setup]

ask-turtles[setcredfd10]

end

现在,你已经完成了setupprocedure程序,并且学到了如何制造蚁群、颜色和如何使用程序。

记住:

如果你现在还没保存,你应该马上保存它。

建立多程序问题

那么,你如何让这些蚁群和木片相互作用呢?

为了实现这些,你需要考虑蚁群需要完成的所有任务。

如果你分解一下这些任务,那么很容易为他们写出这些程序。

你想要蚁群搜索木片并且把他们分成几堆。

但是要把木屑堆成堆,蚁群需要先找到木屑。

但是要找到木屑,他们需要向四周移动抵达木屑。

一旦他们发现木屑,他们需要将他捡起来,然后需要找到一个位置去放置木屑。

然后把木屑放下。

因此,要成功的将木屑堆成堆,蚁群需要进行四步操作。

(a)首先他们需要知道如何移动

(b)然后他们需要搜索木屑

(c)接下来,他们需要为新的木屑找到木屑堆

(d)最后,他们需要将木屑放到木屑堆中

a)移动

首先,让蚁群四处移动,因为这是蚁群需要知道的第一件事情,这样他们才能做更多复杂的事情。

在乌龟程序窗口中输入如下内容来让蚁群移动:

towiggle

fd1

rtrandom50

ltrandom50

end 

使用这些程序,蚁群可以向前移动1单元,然后靠向左或者向右转来摆动。

尝试在乌龟控制中心中输入wiggle若干次,然后观察发生的现象。

B)搜寻木屑

你可以把这个程序叫做search-for-chip。

如果一只白蚁看到黄色的木屑,他会从底板上移动它。

在乌龟程序窗口中输入这个程序。

在wiggle的程序下面留一行。

tosearch-for-chip

ifpc=yellow

[stampblackjump20stop]

wiggle

search-for-chip

end 

这个程序意思是,每个白蚁检查它所在的底板是否是黄色的,如果是黄色,它就会把底板变成黑色(意味着白蚁捡起了木屑)。

然后它跳开,停下来。

你可以在乌龟控制中心中输入search-for-chip来测试程序。

这将会导致蚁群四处移动,然后将黄色的底板变成黑色。

当然,红色的蚁群也将会遮挡黑色的底板,所以你还不能看到他们。

所以,有了search-for-chip程序,将黄色的木屑变成黑色,意味着木屑已经被捡起来,不再在地上。

在检查木屑之前,你还可以把search-for-chip程序改成摆动,并且只要没发现木屑就一直持续。

在乌龟程序窗口中找到search-for-chip程序,并且将它改动成如下的样子:

tosearch-for-chip

wig

ifpc=yellow

[stampblack

stop]

search-for-chip

end 

现在,点击starlogo窗口。

哎呀!

很抱歉,有个错误。

一个弹出的窗口展示了下面一段话:

“我不知道在乌龟程序页中的search-for-chip程序中怎么摆动。

”有时,程序中会出现错误,然后弹出的对话框将会帮助你指出哪里出了错误。

在弹出框中点击ok,然后将search-for-chip程序中的wig改成wiggle。

这样应该就修复了你程序中的bug。

C)找到新的木屑堆

现在,蚁群正在搬运木屑,他需要找到新的木屑堆去放置木屑。

这个程序看起来有点像search-for-chip。

在乌龟程序窗口中输入程序。

在search-for-chip程序的下面留一行。

tofind-new-pile

ifpc=yellow

[stop]

wiggle

find-new-pile

end

对于find-new-pile程序,你需要做的就是告诉白蚁摆动,如果他看到了黄色的木屑就停下来。

否则,继续寻找(再次执行find-new-pile程序)。

你可以在乌龟程序中心中输入find-new-pile来检测新的程序。

白蚁将会四处游走寻找地上存在的木屑,然后停下来。

D)找到一个地方放置木屑

你刚刚写了一个程序来让白蚁找到放置木屑的新的木屑堆。

但是白蚁发现它的时候就停了下来。

现在你需要给白蚁写一个程序,让它将木屑放下。

你知道如果底板是黑色的代表它是空的,那就是如果pc=black。

放下了木屑,你可以通过标记它把底板变成黄色。

在乌龟程序窗口中输入这个程序来实现它。

在find-new-pile程序的下面留一行。

tofind-empty-patch

wiggle

ifpc=black

[stampyellow

stop]

find-empty-patch

end 

在这里,告诉了白蚁摆动,如果他发现了空的(黑色的)底板,就把它标记成黄色(就像放下黄色的木屑一样),然后停止。

如果不是,就继续搜寻空的底板。

继续研究

在他们发现了空的底板之后,放置木屑,你会想让他们继续搜寻更多的木屑以使它们可以更快的形成木屑堆。

你可以写一个简单的get-away程序来实现它:

toget-away

sethrandom360

jump20

ifpc=black[stop]

get-away

end 

sethrandom360设定了白蚁的方向,为0到360度的任意方位。

jump20与fd20相似,但是会更快更像远程运输。

如果白蚁在黑色的底板上着陆,就会停下来。

否则,继续跳着离开。

在白蚁在find-empty-patch的程序中将木屑放下的程序之后,增加get-away程序。

tofind-empty-patch

wiggle

ifpc=black

[stampyellow

get-away

stop]

find-empty-patch

end 

你可以在乌龟控制中心输入find-empty-patch来检查最后一条规则。

蚁群将会四处游走放置黄色的木屑,然后跳走。

将程序组合

总之,蚁群要成功的将木屑堆成堆需要遵循四个规则(wiggle程序是个子程序,因为他包含在search-for-chip程序;get-away也是一个子程序,因为它包含在find-empty-patch程序中):

如果白蚁看到了木屑,捡起来

搜寻另一个木屑,放在一推

找到这一堆附近的一个空底板,把木屑放下

为了让所有的程序同时运行,你可以写一个程序来调用其他三个程序。

在乌龟程序窗口中输入这些程序来实现这个目的。

在find-empty-patch的程序下面留一行。

togo

search-for-chip

find-new-pile

find-empty-patch

end 

现在,在乌龟控制中心中输入go,然后你会看到你的程序开始运行了。

现在,你所有的程序都已经完成并且经过测试了!

创建另一个按钮

不幸的是,你的go程序只是告诉你的每只100个蚁群移动一个木屑到另一个木屑堆,但是仅仅一次。

你需要做的是创建一个按钮,使这个程序一次又一次的运行。

创建一个go的按钮,再次按starlogo窗口中的这个按钮。

然后点击建立新的按钮下面的空白的地方。

在弹出的窗口中输入go作为它的标识图标,然后点击写着forever的框,使程序不间断的运行。

点击乌龟,因为那是你写程序的地方。

最后,点击ok。

别忘记保存自己的文件。

现在,按setup健然后按go健,观察蚁群四处游走将木屑收集到一起堆成堆。

当你想停止积累的时候就再次按一下go健。

祝贺

你已经写了你的第一个starlogo程序!

随意的按照你喜欢的方式给程序做一些改变,例如改变正在搬运木屑的蚁群的颜色,来表示它正在搬运。

最终的编码

tosetup

 ca

 crt30

 ask-turtles[setcredfd10] 

 ask-turtles[patch-setup]

end

在乌龟程序窗口中:

topatch-setup

 repeat100[sethrandom360jumprandom200stampyellow]

end

towiggle

 fd1

 rtrandom50

 ltrandom50

end 

tosearch-for-chip

 ifpc=yellow

   [stampblackjump20stop]

 wiggle

 search-for-chip

end

tofind-new-pile

 ifpc=yellow

   [stop]

 wiggle

 find-new-pile

end 

tofind-empty-patch

 wiggle

 ifpc=black

   [stampyellow

   get-away

   stop]

 find-empty-patch

end

toget-away

 sethrandom360

 jump20

 ifpc=black[stop]

 get-away

end

togo

 search-for-chip

 find-new-pile

 find-empty-patch

end

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1