设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5784|回复: 2

[交流] 代码逻辑问题

[复制链接]
发表于 2008-4-12 15:04:09 | 显示全部楼层 |阅读模式
在这段代码中我设定了一个stopped?变量,初始状态设为false 。运行过程不能输出stopped?为true 。始终为false2 Y1 S, I5 S+ W4 a
to go
# L; W  J* ]  ^7 M: G, c( ?if not any? turtles with [not stopped? ] [ stop ]  9 _, a6 s( Y$ T6 b. b9 L4 x: R
ask turtles with [remainder who 5 = 0] [5 p2 C5 y1 R! S) p1 _: d
set close-mates  (turtles with [self != myself])with[# k" h4 p7 F- g0 Z/ l
(abs(xcor -(xcor-of myself)) < X-Dist + Wid ) ( O7 W7 {" \7 ?* p9 S+ ~/ X
and (abs(ycor -(ycor-of myself)) < Y-Dist + Dep )
, ^2 G% P5 S- u; H1 Sand remainder who 5 = 0
/ o. a7 C' B* M: [- |]                  
' |+ v; s! x% x+ n% y3 ]ifelse any? close-mates 9 q& h; r1 z/ s  s$ w( d; S
[                                                                : q, g  }$ _- S2 _
set closest-one min-one-of (close-mates with[self != myself] )[distance myself]5 P0 h( |& t0 q8 V) l9 q! z9 x
face closest-one
& d: t1 O* Y# J8 T% Irt 1802 p9 }, _! X& i5 @8 j1 J1 {
fd random-float step-size) d  C9 Z* ?1 W; W; }$ Z$ J
avoid-walls8 c1 K" v/ b5 F& R/ x
set stopped? false]. z: M. V2 F9 Q# J& Q& E9 W4 N
[set stopped? true]
! h2 W& \5 ]) U: |]
 楼主| 发表于 2008-4-12 15:05:12 | 显示全部楼层
是逻辑有问题吗?
 楼主| 发表于 2008-5-2 17:02:02 | 显示全部楼层
上述问题,如果最先的if语句改成
" f  D5 @5 v$ Zif not many? turtles with [remainder who 5 = 0] with [ not stopped?][ stop]
$ Y% t+ V/ P' E则可以顺利的终止go程序$ ?8 k% ?8 F9 z; p
但是从我的程序逻辑上,编号非5的整数倍的turtle分别与最近的一个五的整数倍turtle tie在一起,5的倍数turtle为根turtle,所以没有turtle运动和没有5的整数倍turtle运动是等价的,if语句两者逻辑没有实质区别,但为什么执行起来会有区别呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-3-27 02:35 , Processed in 0.015564 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表