设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6538|回复: 2

[交流] 代码逻辑问题

[复制链接]
发表于 2008-4-12 15:04:09 | 显示全部楼层 |阅读模式
在这段代码中我设定了一个stopped?变量,初始状态设为false 。运行过程不能输出stopped?为true 。始终为false7 ?. b8 M  S! R) Y% E
to go" R' P8 U/ O1 T: N& E
if not any? turtles with [not stopped? ] [ stop ]  5 p/ N  s# t& u$ D0 X
ask turtles with [remainder who 5 = 0] [
8 Q. P- Z5 J6 G9 l, y/ h8 [set close-mates  (turtles with [self != myself])with[0 a4 j8 V. `) {+ n3 f: M
(abs(xcor -(xcor-of myself)) < X-Dist + Wid ) ! o) e2 u' `( x* j' ]7 {' y
and (abs(ycor -(ycor-of myself)) < Y-Dist + Dep ) " ?' i( @& |, d6 n2 s. Y+ S
and remainder who 5 = 0
+ B) n( j5 ^2 Q! w9 z/ V8 z]                  
/ s/ c( j: U& i& _5 Iifelse any? close-mates
' p$ N7 M% F6 v. W1 \- B8 |, y6 G[                                                                6 z/ i' U" F/ \. t; v+ G3 K
set closest-one min-one-of (close-mates with[self != myself] )[distance myself]( t0 B7 z9 A! U# _1 c! m
face closest-one/ f$ E( {* }) x5 A* S
rt 180, }, w  f. E3 F. B; j
fd random-float step-size5 h3 [; o9 i3 A; p* j# t$ L
avoid-walls0 [4 m- b3 W+ q4 w/ V
set stopped? false]/ g* i  G# J4 B$ q- i5 Y. U
[set stopped? true]
7 K; J+ r& {( v- b, t& B3 L]
 楼主| 发表于 2008-4-12 15:05:12 | 显示全部楼层
是逻辑有问题吗?
 楼主| 发表于 2008-5-2 17:02:02 | 显示全部楼层
上述问题,如果最先的if语句改成* f4 h. u6 j/ L% \: Y
if not many? turtles with [remainder who 5 = 0] with [ not stopped?][ stop]
' @, ?) M: p9 q( G2 P- u则可以顺利的终止go程序
  }2 l+ R2 R6 \' m) l) W: s但是从我的程序逻辑上,编号非5的整数倍的turtle分别与最近的一个五的整数倍turtle tie在一起,5的倍数turtle为根turtle,所以没有turtle运动和没有5的整数倍turtle运动是等价的,if语句两者逻辑没有实质区别,但为什么执行起来会有区别呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-13 05:47 , Processed in 0.017874 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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