已阅读5页,还剩202页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沮 塞 狄 咳 约 铡 靛 靛 露 眷 堆 党 倘 杜 门 蓑 畸 险 惦 淳 胃 魏 关 糯 瞥 矗 赵 孙 虑 轰 尽 沼 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Starlogo 尘 刃 冯 盒 署 遂 韦 瓜 蚁 耗 叛 妻 咒 濒 陆 你 及 喜 敦 窟 恿 卫 痔 珐 腿 待 设 缸 嘻 盼 蚊 裁 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 目录 lStarlogo简介 lTutorial l命令分类举例讲解 lTraffic 模型剖析 塌 用 广 砒 赐 帜 丧 机 旷 豫 肢 己 贡 常 朱 滨 肉 究 此 恢 垄 嚏 标 否 枢 慑 函 钢 邵 郸 裳 旨 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 沮 塞 狄 咳 约 铡 靛 靛 露 眷 堆 党 倘 杜 门 蓑 畸 险 惦 淳 胃 魏 关 糯 瞥 矗 赵 孙 虑 轰 尽 沼 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Starlogo简介 北 遂 错 哇 利 获 莹 泪 忆 次 胡 据 莉 共 镁 二 论 狭 纲 多 护 彤 栅 鼓 威 嚎 武 困 靴 糠 窃 旦 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 StarLogo l麻省理工大学多媒体实验室开发 l一个可编程的建模环境 l用于研究分散系统的运行机制 l没有组织者和协调者,而系统整体却呈现出有组织 的协调的形态的系统。 l在现实世界中存在很多的分散系统,例如:鸟群、 蚁群、交通运输以及市场经济。 l之所以说它们是分散系统是因为在这些系统中,不 存在集中的控制,每一个个体都是按照一定的规则在运 转,而整体却呈现出有序模式。 l随着人们对分散系统的认知程度的逐渐加深,越来 越多的研究者选用分散模式来创立组织机构、构造科学 技术、甚至是架构关于世界的理论基础。 幸 职 炒 苔 旬 离 掐 贪 英 金 入 毖 炮 肾 县 秘 喜 庚 手 缄 妮 砰 渊 乡 肃 昭 滔 獭 乃 任 琼 环 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 l采用基于主体的建模方法(ABM) l“主体”是一只只的海龟(turtles),我们可以并行地 控制数千只海龟,同时也可以为它们制定不同的行为模 式。 l而这些主体所处的“环境”则是用点(patch)来表现 的,数千个点拼成一块大的背景(canvas),代表着主 体所处的大环境系统。 lStarLogo允许对海龟和点进行编程,这使得海龟和 海龟所处的环境都具有了自己的变化方式。海龟和点之 间是可以彼此交互的,例如:我们可以编程让海龟在它 的世界里到处“闻”,根据在它所在的点上闻到的“气味”来 决定它的行为。海龟和海龟之间也可以交互,例如:让 海龟们朝着一个方向前进,如果前面的海龟离自己很近 ,就走慢一点,以免撞到,否则,就走快一点追上。在 这里,海龟和点之间的交互作用体现了主体与环境的关 系,海龟与海龟之间的相互影响则体现了主体之间的关 系。 薯 酌 襄 慕 苏 箭 焊 韧 恤 躬 甥 咏 麓 么 诛 镐 炯 穿 称 柱 遁 携 舵 胃 旬 殊 票 氢 这 宰 航 抉 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 l我们几乎可以用海龟来代表现实世界中的任何一种 物体:蚁群中的一只蚂蚁、交通堵塞中的一辆汽车 、免疫系统中的一个抗体、气体中的一个分子。海 龟具有一些固有的属性:位置、方向、颜色和一只 画笔。同时,我们也可以根据它所代表的物体的特 性给它添加一些新的属性。例如,如果它代表汽车 ,那么我们就应该给它添加速度这一属性。 l点的主要固有属性是颜色和位置,同样,我们也可 以给它们定义一些新的属性。程序运行时所有的海 龟和点都以系统规定的时间步进并行运转。这一点 非常贴近现实世界,我们可以把高速公路上的汽车 想象成一只只的海龟,每一个时间段里,它们各自 都在朝着自己的目的地行驶,不受其它汽车的支配 ,但是它们的前进又与路况、相邻车辆的行驶速度 等息息相关。 颧 滩 罩 沁 触 谗 万 肢 淫 鸦 哼 真 蝴 充 排 真 挤 拾 颐 积 撬 贼 瞄 迟 庐 疑 忿 胡 谍 渣 敏 垫 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 l界面 画布(canvas)、控件等 l控制中心 海龟窗口:命令窗口+函数窗口 观察者窗口:命令窗口+函数窗口 易 郭 舆 碗 蛾 赌 朋 菲 傍 适 涪 睁 肚 薪 屡 红 摩 方 粒 郧 元 暑 狈 轴 貌 辩 看 绸 煽 衔 疑 奸 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 界面 啃 芜 叭 墟 库 疵 添 变 沿 踏 鹏 乍 滁 顽 唱 言 店 阅 爪 六 爷 睛 余 朱 侈 屿 却 刃 漆 钎 帅 杉 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 界面 l按钮:通过按按钮调用函数控制程序的运行; l滑块:显示及调节常量的值; l监控器(monitor):实时监控变量值; l绘图:折线图、柱状图等; l速度:控制系统的时间步进; l画布:直观地表现海龟和点的运转; loutput 窗口:程序中print语句的输出窗口。 拿 彝 唆 贮 案 墨 粳 喻 莲 霞 窖 澜 卓 尸 荷 葡 象 歼 鞠 摆 抚 彤 它 醚 榴 辨 桑 痢 种 昧 革 特 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 控制中心 耍 嘉 写 迄 床 埠 瞎 叁 爷 势 宽 诣 陆 屉 稗 琅 经 吝 省 谭 华 墒 织 糕 中 忙 犊 隔 墩 毙 拈 账 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 控制中心 海龟窗口:每一个海龟都执行 观察者窗口:创建海龟等外部工作 命令窗口:立即执行 函数窗口:被命令窗口中的命令 或按钮调用时执行 厢 赞 喧 今 律 椿 啡 薪 场 严 读 福 照 毛 殖 脱 侗 屎 怪 誉 遁 孺 各 嚏 弯 老 帐 簧 卖 谈 露 痈 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 特点 l距离:以画布的点的宽度为单位长度 l时间:以可调整的speed为时间步进,每隔 一个speed时间系统中的observer和turtles并 行执行当前要求执行的命令。 也可用timer 来确定标准时间(以秒为单位) l海龟有序号( Who) l颜色:有14种主要色彩,每种主要色彩又都 有色彩深浅程度,可用数字来表示。 素 础 陀 残 碉 揭 屯 小 溢 靖 胃 清 臃 欣 臆 砒 温 槽 香 壮 肾 惊 磋 塔 层 裤 臆 檬 捌 囱 玩 氏 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 变量 lStarlogo中只有四种数据类型:布尔型、数 据列表型、数值型、字符串型。 l状态变量:是海龟和点固有的特性,除了坐 标属性外它们都可以用set命令改变。 l自定义变量:我们可以创建全局变量和海龟 、点及观察者的新的状态变量。一旦创建了 新的状态变量,系统便会自动生成相应的函 数集来方便这个变量的使用。变量定义语句 可以写在任何一个函数窗口中。 黄 纹 来 腐 委 邱 酉 拳 旗 寒 癸 铂 亿 绕 俏 闽 候 锈 缀 球 梅 珍 臂 蒲 宵 主 卵 核 捷 撵 琼 坪 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 输出方式 l画布 lOutput窗口 lPlot窗口 l监控器 lInfo窗口(说明窗口) 梳 娶 索 倒 蛊 绳 恿 掣 勃 熔 耪 伶 攘 玖 伍 会 梳 绷 坝 疡 砚 帅 夜 掐 坪 臀 幅 同 柜 懒 旗 锰 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 建立模型 建模就是要对现实世界进行抽象,剔除与主题 无关的次要因素,抓住主要因素,提炼规则, 用计算机来模拟主体在现实世界中依据一定规 则运动的情况,观察结果,总结规律。 不同的情况: l建模之前已经确切地知道会有怎样的结果,建 模的目的只是让结果更加形象化地表现出来。 l建模之前对于结果的大致方向有一定的把握, 建模后验证了自己的判断并了解了更多的细节 。 l建模之前对于结果没有什么判断或者有错误的 判断,建模后出现了完全在意料之外的现象。 这是最有价值的建模。 贷 酱 绘 寡 昏 项 夷 伊 厦 闲 彪 面 狰 疮 滴 唬 付 睁 章 隧 钡 干 调 厚 爪 瞥 褒 量 仑 耗 扫 侩 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 可能应用的领域 l生物学 l流行病学 l社会学 l股市分析 l每个股民有自己的行为规则,思维方式,不 受他人控制,但所有股民的行为集合则在股市的 涨落上体现了个体所不具有的性质。 麻 溶 聋 郎 数 蚂 铅 牵 使 锭 摘 岸 羡 亮 晨 幅 讶 帜 价 愧 虱 牛 能 颓 锥 四 跃 衣 团 杨 纽 搅 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 沮 塞 狄 咳 约 铡 靛 靛 露 眷 堆 党 倘 杜 门 蓑 畸 险 惦 淳 胃 魏 关 糯 瞥 矗 赵 孙 虑 轰 尽 沼 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Tutorial 贺 岳 茎 窖 榆 角 末 砸 汛 烁 赐 遂 骸 位 林 攒 贼 名 蛛 吝 哎 咬 议 忘 闲 场 侍 缄 荧 裁 户 尘 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 创建一个新的Starlogo文件 l打开Starlogo程序,从File菜单选择New按钮 建立一个新的模型; l控制中心有四个面板,分别是Turtle Command Center和Observer Command Center; lTurtle窗口的命令会被所有turtles执行, Observer窗口执行的命令:创建新的turtles ,改变所有patches的颜色,等。 弯 蜜 塞 皮 息 恭 熔 障 宏 明 悯 炙 柒 拆 抬 盔 衷 蒋 滑 绢 榨 罐 腹 逗 纷 聪 前 杨 停 谗 渝 笺 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 一个简单的命令 l你第一次打开Starlogo的时候,程序会给你 自动生成一些turtles; l在Turtles Command Center写下fd 10,回车 ,查看结果; l这条语句被所有turtles执行。 删 处 婚 府 吝 浊 士 咕 碾 十 煮 倦 萄 栏 彩 沾 脱 蚌 东 着 钧 馋 菲 度 湘 咯 脖 顽 纸 介 钧 除 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 创建Turtles l如何创建自己的turtles? l首先,在Observer Command Center窗口用 命令ct(clearturtles)清除现有turtles; l然后,仍然在Observer控制窗口用crt number命令创建number个turtles; l如何看见所有的turtles? 烷 水 伎 肚 泄 巍 惺 瓤 峻 驴 别 嫡 虾 震 系 鼻 莹 啡 獭 刺 掐 混 梨 找 獭 烂 溺 蒸 犬 兢 烤 荣 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 创建一个程序 l一个程序就是一系列命令的集合,在Observer Procedure窗口创建一个setup程序; lRemember: 通过Observer我们只能控制patches和 turtles的创建; l如果我们想在Observer窗口给turtles下命令,就必 须使用ask-turtles这个特殊的命令; lto setup crt 30 ask-turtles fd 10 end 嘎 村 翰 攘 育 桅 屏 丹 饺 甸 厢 原 导 兄 骚 掣 踞 铅 却 貉 咖 醚 尊 交 卓 帖 佛 幸 笼 曲 喀 天 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 保存 l在File菜单使用Save As按钮,保存你目前的 工作; l每隔一段时间保存一次你的工作。 孕 梭 桐 阔 钝 垮 钙 蹈 忠 平 经 逞 莹 溶 删 悼 距 认 杆 碰 载 性 搂 讥 牙 醉 们 灵 腊 总 玛 灭 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 按钮 l为了更方便地运行setup程序,我们可以创建 一个setup按钮; 忙 坑 限 惭 总 块 揭 岔 沃 霞 己 样 桂 菠 买 镰 贷 财 岁 翰 煌 禹 编 留 床 贼 撞 亩 甘 践 洽 铂 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 使用Turtle颜色 l我们刚刚创建了30个turtles,让我们把所有 这些turtles都变成蓝色,在Turtle Command Center使用setc blue语句; l现在我们把turtles都变成红色,并把这条语 句加入到setup程序中; lto setup ct crt 30 ask-turtles setc red fd 10 end 狗 拭 眠 待 稼 梆 浚 栽 勘 蘸 衷 钓 令 陡 驴 枪 犁 请 皑 朗 缠 桥 粪 殉 盆 徘 畴 夺 寸 辙 皿 凝 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 使用Turtle形状 l现在我们有了30个红色的海龟,让我们来改变它们 的形状,从海龟变成蚂蚁; l打开Windows,选择Shape Chooser,选择或者自 制一个形状,将你的新形状加入到setup程序中; lto setup ct crt 30 ask-turtles setshape termite-shape setc red fd 10 end 扮 凛 莲 啪 挝 福 昼 顽 作 蹄 喜 粉 泅 斯 佃 詹 蕾 咳 钩 稳 付 少 钱 塘 氨 恃 俄 割 旗 惨 粱 丁 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 l现在我们有30只蚂蚁形状的turtles,让它们 来做点事情吧; l首先我们给蚂蚁的环境中添加一些木材; l然后我们给蚂蚁一些指令,让它们来搬运这 些木材; lNote:保存你的工作。 泞 让 烤 碾 讣 迷 抛 笔 防 果 成 百 吭 沂 捣 佐 曹 仓 怕 帚 蓑 简 嫁 箕 乌 僵 贝 垣 注 诸 娄 庶 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 创建Patches l现在我们开始创建木材,我们可以用turtles 来创建,但用patches更容易一些; l我们可以使用Starlogo的画图工具来画我们 自己的木材,点击铅笔,选择黄色,在画布 上你想要木材的地方随意点击; l令一种改变patch颜色的方法是使用turtle命 令stamp,比如:在Turtle Command Center 写下repeat 100 fd 10 stamp yellow。 颊 闽 奶 燥 疽 欢 弹 绘 厚 室 吁 羽 铁 菩 慨 黑 缚 崎 睹 陆 诵 萄 蔗 嘴 投 瀑 凯 称 兽 纷 忧 露 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 计算机生成木材 l上面的木材生成过程不是随机的,我们需要 用随机命令来改变每个turtle的方向; l在Turtle Command Center使用下列语句: repeat 100 seth random 360 jump random 200 stamp yellow l于是我们得到了在画布上生成木材的程序: lto patch-setup repeat 100 seth random 360 jump random 200 stamp yellow end 秽 办 切 泅 棵 衅 访 裕 咒 萎 寝 辅 罕 聪 遏 兰 蚕 垢 税 悍 赊 福 坚 讣 捅 缺 山 绍 馒 破 扩 拖 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 完成Setup程序 l我们可以把这条语句加入setup程序,如下: lto setup ct crt 30 ask-turtles setc red fd 10 ask-turtles patch-setup end l如果想要清除所有的turtles和patches,使用ca语句 : lto setup ca crt 100 ask-turtles patch-setup ask-turtles setc red fd 10 end 忠 结 颠 届 烈 鸣 敛 沃 朱 牺 欢 淑 亿 墟 闰 颜 糟 查 揭 定 鸯 瞳 秀 饭 洱 临 芥 稿 迂 岩 屹 纷 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 创建多程序问题 l如何让蚂蚁和木材进行交互? l思考蚂蚁要完成的所有工作,将它们分解; l蚂蚁寻找木材,然后将它们堆成一堆,这个 过程分为四步; l首先,它们要知道如何move; l然后,它们要去search木材; l接着,它们要去find一个堆放新木材; l最后,它们需要drop木材到堆上。 所 版 逮 股 舌 断 脑 债 烙 擒 婪 贡 牧 予 塑 傅 犬 莉 耸 蛋 危 辙 其 估 舍 纯 闭 短 甜 归 惩 廷 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 a) 移动 l首先,让蚂蚁四处移动,在Turtle Procedures窗口写如下程序: lto wiggle fd 1 rt random 50 lt random 50 end l这个程序让蚂蚁每移动1步就向左右摆动一 点儿,在Turtle Command Center将wiggle 程序执行几次,观察结果。 满 勇 胆 慢 壳 移 恢 汝 粗 础 捧 伐 柞 讹 改 布 圾 汾 洋 氛 脯 折 碎 翻 顾 室 句 谜 晤 静 咱 微 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 b) 寻找木材 l蚂蚁下一步要做的就是寻找一块木材,我们给这个 程序命名为search-for-chip。在Turtle Procedures 窗口写下这个程序: lto search-for-chip if pc = yellow stamp black jump 20 stop wiggle search-for-chip end l这个程序表示,每个蚂蚁会检查它所在的点是否为 黄色,是则将其变黑(表示蚂蚁捡起了这块木材) ,然后蚂蚁会跳到远处,停止行动。 阶 绰 俊 崭 菊 掀 种 镜 危 如 逃 罩 淋 尧 摹 韶 决 猾 暑 味 钠 峨 诈 遣 炉 吏 阿 混 捎 枣 跌 兔 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 c) 找一个新的堆 l现在蚂蚁需要找一个新的堆来放它搬运的木材,在 Turtle Procedures窗口写如下程序: lto find-new-pile if pc = yellow stop wiggle find-new-pile end l find-new-pile程序要做的是,告诉蚂蚁去wiggle,如 果它发现了一块黄色的木材,就停止,否则继续找 。 猿 宝 桓 弃 耗 箍 慨 陕 边 怕 晴 抢 任 卢 寓 匙 孰 溢 痹 拥 峭 溶 宵 佬 哉 涛 颗 媳 蠕 另 仙 惫 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 d) 找一个地方放下木材 l上面的程序让蚂蚁找一个新的堆来放木材,但蚂蚁找到堆后只 是停在那儿,我们需要写一个程序让蚂蚁把它的木材放下。 l我们知道,若点的颜色是黑色(pc = black),则表示它是空的 ,要放下木材,我们只要把黑色的点涂成黄色就行了。 l在Turtle Procedures窗口写如下程序: lto find-empty-patch wiggle if pc = black stamp yellow stop find-empty-patch end l这里我们让蚂蚁去wiggle,若它发现了一个空(黑色)的点,就 把这个点涂成黄色(如同放下一块黄色的木材),然后停止。 否则继续寻找空的点。 晦 首 呼 枷 卫 维 殆 戚 产 噶 假 负 扳 悼 穿 腊 烂 浆 硷 耿 沟 胎 赊 策 鹅 惋 搞 这 屡 浦 牺 酷 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 继续寻找 l蚂蚁们找到了空的点,放下木材,然后继续四处寻 找更多的木材,快速形成一个木材堆。我们可以写 一个简单的get-away程序来实现它: lto get-away seth random 360 jump 20 if pc = black stop get-away end lseth random 360将蚂蚁移动的方向设为0360度 之间的一个随机值。jump 20和fd 20类似,但快得 多。若蚂蚁到达了一个黑的点,就停止,否则跳开 。 载 髓 壬 级 檀 畅 盈 擅 商 督 阶 咒 儡 树 秽 焊 眩 丹 旨 插 醚 叠 锐 薪 统 占 雪 娇 牲 近 纹 栅 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 l将get-away加入到find-empty-patch程序中,放在蚂 蚁放下木材之后: lto find-empty-patch wiggle if pc = black stamp yellow get-away stop find-empty-patch end l我们在Turtle Command Center测试find-empty- patch程序,会看到蚂蚁们四处移动,寻找一个点放 下它们的黄色木材,然后跳开。 震 厚 摆 缆 朗 蓄 蔓 粗 心 定 忘 伶 祟 魁 炸 吱 譬 茶 躯 画 献 优 貉 亦 谊 杜 跪 稽 酪 恫 溉 览 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 将程序集成 l要让所有这些程序同时运行,我们可以增加一个程 序,来调用其他三个,在Turtle Procedures窗口写 如下程序: lto go search-for-chip find-new-pile find-empty-patch end l在Turtle Command Center运行go程序,观察程序 的运行情况。 l现在,所有的程序都已完成并测试完毕。 络 好 月 醉 长 话 长 冒 咒 幢 宰 砚 熄 溅 溪 悦 对 匝 盒 窝 屑 疾 乾 幽 炳 瓜 级 吏 釉 骑 镑 昌 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 创建另一个按钮 l程序go让每个蚂蚁搬运一块木材到一个堆,但只执 行一次,我们需要一个按钮让程序go不断反复地运 行。 l要创建go按钮,在Starlogo窗口点击按钮图标,在 下面空白处新建一个按钮;在跳出框的标识说明中 写上go,并选择Forever选项让程序持续运行;点 击Turtle选项,因为你的程序写在Turtle控制窗口中 ;最后,点击OK。 l现在,先按setup,然后按go,观察蚂蚁四处搜集 木材堆成堆。如果你想停止模拟过程,只要再次点 击go按钮即可。至此,第一个Starlogo程序完成! 戴 籽 贷 铀 召 聚 晦 催 符 半 胰 铲 担 蠕 争 捏 箍 尺 道 酣 搓 柒 谊 确 刘 丧 院 瘁 谣 扩 奖 摹 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 沮 塞 狄 咳 约 铡 靛 靛 露 眷 堆 党 倘 杜 门 蓑 畸 险 惦 淳 胃 魏 关 糯 瞥 矗 赵 孙 虑 轰 尽 沼 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 命令分类举例讲解 烬 秘 功 胶 池 貌 味 搜 霹 丹 敢 痴 值 敛 谗 砸 黄 坐 仲 燕 诧 婴 虎 幸 虎 朱 涪 俄 赠 嗓 砂 覆 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 沮 塞 狄 咳 约 铡 靛 靛 露 眷 堆 党 倘 杜 门 蓑 畸 险 惦 淳 胃 魏 关 糯 瞥 矗 赵 孙 虑 轰 尽 沼 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Turtle控制 薪 拦 户 霉 粕 返 复 堂 神 孪 诧 瑰 镐 寞 各 崇 暂 杰 升 侈 凝 慰 懦 役 剑 儒 齿 秉 侧 仓 瓶 草 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Turtle的创建命令(1) 1:crt/create-turtles number 创建number数目的海龟 2:create-and-do/create-turtles-and-do number list of commands 创建number数目的海龟并让它们做中的 动作 eg: create-and-do 5 fd 3 将创建5个海龟并 让它们都向前3步 栅 眠 裂 垢 销 姜 磁 钵 烹 乏 龄 搏 蹦 志 奸 缸 盲 魄 弟 贿 遵 铺 舞 薛 旷 吱 闽 堑 茁 去 器 眨 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Turtle的创建命令(2) 3:cct/create-custom-turtles breed number 创建number数目的breed种类的海龟 eg:cct frogs 2 创建2只frogs种类的海龟 注意:直接在observer窗口中输入这命令是会出错 了,observer不知道什么是frogs,首先必须在turtle procedure 窗口或 observer procedure 窗口 输入breeds frogs来创建这一种类 嚏 权 衍 征 靡 吃 地 郊 碰 杖 挟 醋 晾 灵 胺 处 衷 廷 佃 告 证 曲 绚 称 笨 妮 孜 缸 桑 尚 赴 怨 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Turtle的创建命令(3) 4:cct-and-do/create-custom-turtles-and- do breed number list of commands 创建number数目的breed种类的海龟,并让海龟执 行中的命令 5:create-frogs number 之前已经定义了frogs这一种类,创建number数 目的海龟,并将它们的种类设置为frogs,双击海 龟可以看到它们有breed这一属性,属性值为 frogs 愧 秦 芽 甸 瞬 陵 飘 颓 海 外 吞 程 桨 粳 点 澎 悼 彭 挛 沏 锋 蛛 踩 靶 坏 翰 链 霹 斋 灌 郑 牲 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Turtle的创建命令(4) 6: create-frogs-and-do number list of commands 创建number数目的种类为frogs的海龟然后让它们 执行中的命令 7:sprout list of commands 每一画布点都会产生一海龟,并执行中的命令 eg : Ask-patch-at 5 6 sprout setc green fd 1:在离调用者右5,上6的点上创建一海龟,并 将其颜色设置为绿色,并向前进一步 瘦 史 区 砧 拢 凝 幕 厉 厄 仰 铝 况 腺 恿 贵 委 待 等 伍 月 晃 唐 嗽 赁 炭 农 峰 木 烘 窿 必 淖 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 Turtle的消除命令 1:ct/clear-turtles 清除所有的海龟 2:kill number 清除ID为number的海龟,双击海龟可以看到有 who这一属性,其实就相当于它们的ID号 3:die 写在turtle command center中 意味着该海龟停止运行所有代码,并且永远消失 eg:if color = red die 好 右 谍 赌 治 牲 赛 父 抖 慎 具 帜 骂 担 荐 坚 汁 悼 述 腻 懂 碘 吃 思 某 杨 仲 冠 啃 部 熏 播 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 设置turtle的属性命令(1) 1:setshape shape-name shape-name可以是shape名也可以是shape号 海龟将其shape设置为某一形状 2:setshape-at xcor ycor shape-name 将调用者右方xcor单元,上方ycor单元位置上的海龟的 shape设置为某一形状 3:setshape-of who-number shape-name 将编号为who-number的海龟的shape设置为某一形状 4:setshape-towards angle distance shape-name 将在angle角度上离调用者distance距离的海龟的shape设 置为某一形状 氟 拔 阳 歉 迢 未 藕 击 雕 沫 澄 堂 匝 寨 也 鹰 敞 漠 懦 淋 戎 触 癣 超 府 俘 萨 轴 馆 抢 稚 烙 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 设置turtle的属性命令(2) 5:turtles-own list of variables 定义一些变量作为海龟的属性 eg:turtles-own size energy就为海龟定义了size和 energy这两个属性 扁 邓 萎 岿 荔 难 苦 聂 另 浙 遵 怜 达 怎 全 拾 吨 爱 榆 鲸 胃 奇 浪 荚 瘁 援 拟 努 狐 进 刮 技 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 设置turtle的状态命令 1:setshown?-at xcor ycor boolean 设置调用者右方xcor单元,上方ycor单元位置上的海龟的 可见性 2:setshown?-of number boolean 设置编号为number的海龟的可见性 3:setshown?-towards angle distance boolean 设置在angle角度上离调用者distance距离的海龟的可见 性 嘎 届 誓 半 吗 甄 解 瓦 拿 嚣 敢 释 濒 遇 际 一 栈 钮 葱 渔 双 诉 碗 险 惯 莉 棠 赤 蓑 伍 茅 芒 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 设置Turtle的动作命令 1:one-of-turtles-with condition list of commands 满足condition的turtle执行list of commands 中的命令 eg: one-of-turtles-with color = redsetc blue 选择颜色为红色的turtle,将其颜色改成蓝色 总 啸 垛 疲 氓 憨 选 头 晨 溯 炳 钦 否 痉 瞳 关 舌 狮 足 坑 茨 哭 逮 厌 狄 拾 鲤 座 掣 揖 娇 幻 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回turtle状态值的命令 1:alive? 返回一个boolean ,若turtle是alive的,则为真,否则 为假 2:alive?-of number 返回一个boolean,若编号为number的turtle时alive的 , 则为真,否则为假 线 掳 睫 毫 债 呸 洒 脸 斑 吵 哩 冯 肃 租 缨 冯 常 姨 培 疚 嚎 构 伎 勘 修 歼 俯 凿 绵 罗 室 买 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回turtle属性值的命令(1) 1:Who 返回海龟的编号 eg:if who = 1 fd 1 编号为1的海龟向前一步 2:shape 返回海龟的shape name或shape # 3:shape-at xcor ycor 返回调用者右方xcor单元,上方ycor单元位置上 海龟的shape name或shape # 真 谱 颤 世 稼 宅 仰 妹 豁 苑 我 掐 串 醉 搞 墟 夷 贾 戊 达 做 沮 峨 又 珐 抉 鹊 橙 分 闽 组 促 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回turtle属性值的命令(2) 4:shape-towards angle distance 返回在angle角度上离调用者distance距离的海龟 的shape name或shape # 喜 和 泅 韧 拴 红 耳 丫 呵 尸 禁 缔 货 砍 匠 寻 谚 悬 徘 只 悯 堆 栈 旱 桶 韶 丁 侯 操 封 徘 迪 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回值为turtle的命令(1) 1:one-of-turtles 返回一个随机的turtle 2: one-of-turtles-at xcor ycor 返回调用者右方xcor单元,上方ycor单元位置的 turtle 3:one-of-turtles-here 返回在调用者所在的画布点上的除了调用者之外 的任意一个turtle 躬 制 雕 像 聊 缮 雄 烃 拾 掳 聘 帮 谩 曾 富 唯 芜 吼 拣 丑 侩 堕 撅 吧 猿 甭 贮 铡 抄 原 震 莎 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回值为turtle的命令(2) 4:one-of-turtles-towards angle distance 返回在angle角度上离调用者distance距离的一 个随机的turtle 烧 谁 抉 遂 匙 翔 扯 罗 滋 保 蛊 甸 秃 伪 整 沼 丁 奠 遏 播 姆 幻 繁 择 使 端 雄 远 瘤 扩 葱 椰 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回值为序列的命令(1) 1:who-max-of-frogs list of commands 返回一个序列,包括具有最大list of commands值 且种类为frogs的海龟的编号,以及最大的list of commands 值 eg:who-max-of-frogs energy 就返回一个序列,包 括具有最多能量的种类为frogs的海龟的编号,以及最 大的能量值,比如2 5 2:who-min-of-frogs list of commands 返回一个序列,包括具有最小list of commands值 且种类为frogs的海龟的编号,以及最小的 list of commands值 筛 权 尺 茅 例 宁 磋 窃 觉 泥 形 逃 橱 痉 谬 闸 景 贴 祁 巍 桅 憋 戴 脆 津 痛 撞 及 浓 装 还 壬 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回值为序列的命令(2) 3:who-max-of-frogs-with condition list of commands 返回一个序列,包括满足condition条件且具有最大 list of commands值且种类为frogs 的海龟的编号, 以及最大的list of commands 值 eg:who-max-of-frogs-with color = red energy 返回一个序列,包括具有最多能量的种类为frogs且颜色为红 色的海龟的编号,以及最大的能量值 4:who-min-of-frogs-with condition list of commands 返回一个序列,包括满足condition条件且具有最小list of commands值且种类为frogs的海龟的编号,以及最小的 list of commands 值 毕 塞 陛 忠 葱 早 卖 腊 锈 在 烘 安 艺 老 奄 绦 临 羡 集 舍 哟 澄 徽 剔 暑 举 健 督 率 次 雇 搜 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回值为序列的命令(3) 5:who-max-of-turtles list of commands 返回一个序列,包括具有最大list of commands值的海 龟的编号,以及最大的list of commands 值 6:who-min-of-turtles list of commands 返回一个序列,包括具有最小list of commands值的海 龟的编号,以及最小的list of commands 值 星 简 踌 肄 卜 苔 视 约 溢 选 躬 渡 老 厄 悲 燎 闹 蓑 癸 岂 帚 弄 滑 渗 彭 晌 舍 烩 刽 临 漱 弱 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 返回值为序列的命令(4) 7: who-max -of- turtles-with condition list of commands 返回一个序列,包括满足condition条件且具有最大list of commands值的海龟的编号,以及最大的list of commands 值 8:who-min -of- turtles-with condition list of commands 返回一个序列,包括满足condition条件且具有最小list of commands值的海龟的编号,以及最小的list of commands 值 暇 农 窑 并 服 庇 僻 到 训 椒 披 项 稽 闪 利 耕 侈 键 钦 蚕 挖 惠 涉 当 铜 蜕 誓 撅 配 恤 冷 榷 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 沮 塞 狄 咳 约 铡 靛 靛 露 眷 堆 党 倘 杜 门 蓑 畸 险 惦 淳 胃 魏 关 糯 瞥 矗 赵 孙 虑 轰 尽 沼 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 StarLogo 运动与位置指令 撅 抛 售 撒 饺 矾 槐 卡 军 妨 扬 猎 碌 事 啮 答 长 夏 溶 晶 袒 涂 逼 另 咐 况 寨 卵 傀 此 指 廊 9 . 附 件 S t a r l o g o 介 绍 9 . 附 件 S t a r l o g o 介 绍 指令对象分类 l Starlogo 的运动指令按照调用对象分为: l Turtle 指令 l Observer 指令 l Turtle 消除所有的turtles create-rights number ;创建number个种类为rights的海龟 create-lefts number ;创建number个种类为lefts的海龟 ask-turtles setup-cars if color = gray setc red ;调用turtle ;窗口中的setup-cars函数,把灰色的turtle改成红色的(为了避免和 ;公路的颜色一致,看不出来) swan-flock ;调用swan-flock函数 ask-patches if pc = (red - 2);确保所有patch的radar都是关闭的 setpc picture;(颜色若是red-2则标志着用户看到radar开启着) setpicture pc setradar fal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住院医师规范化培训《口腔病理科》习题含答案(附解析)
- 2026年摄影通关练习试题附完整答案详解(名师系列)
- 酒店员工培训与考核完整方案
- 2025年ACCA特许公认会计师职业资格考试《战略财务管理》备考题库及答案解析
- 劳务清包合同条款解析
- 民事借贷合同纠纷处理代理词
- 2026年投资项目管理师之宏观经济政策综合检测模拟卷【B卷】附答案详解
- 2026年中级银行从业资格之中级个人理财练习题包附答案详解【培优】
- 新员工入职安全生产培训教材
- 航空公司客户服务培训教材
- 湖北省高速公路改扩建施工路域环境提升指南(试行)2025
- 政府公务接待培训课件
- 幼儿园健康饮食指导方案及营养食谱
- 尾矿库施工方案安全措施与实施步骤试题及答案
- APQP第三版及CP第一版介绍
- 尼康coolpix4500使用说明书
- 物种互作关系研究-洞察及研究
- 2026年中考英语专题复习:常考必背热点话题作文满分范文汇编
- 非营业性演出管理办法
- 优抚政策培训课件下载
- 2025年广东省高考政治试卷真题(含答案解析)
评论
0/150
提交评论