设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4662|回复: 2

[交流] 代码逻辑问题

[复制链接]
发表于 2008-4-12 15:04:09 | 显示全部楼层 |阅读模式
在这段代码中我设定了一个stopped?变量,初始状态设为false 。运行过程不能输出stopped?为true 。始终为false
, [. _  b; S" d: k7 G* x9 J# Sto go
7 n5 K7 f/ F7 P6 Yif not any? turtles with [not stopped? ] [ stop ]  & c& ^2 f& \' q
ask turtles with [remainder who 5 = 0] [) _- k! t/ Y$ n+ n, L. n
set close-mates  (turtles with [self != myself])with[! z9 L: ^! ~1 ^' B; N' w
(abs(xcor -(xcor-of myself)) < X-Dist + Wid ) + {8 B  t3 R: a3 |
and (abs(ycor -(ycor-of myself)) < Y-Dist + Dep )
) x& F1 P0 f; I7 T+ W2 _. D! u6 G0 Y, t  Band remainder who 5 = 0
1 g% D$ u' R/ Z$ C5 o]                   $ J2 v* W4 y5 H/ B8 r( s2 i. ^. U% }! O
ifelse any? close-mates $ L2 J; j1 n7 t9 I
[                                                                7 l2 p- k2 r% ]) s4 @8 \
set closest-one min-one-of (close-mates with[self != myself] )[distance myself]
. q% z/ d/ d* t6 Bface closest-one
4 f0 W4 n0 P9 l. r' M8 }rt 1806 o3 R; n" f" {: K, D; \2 j
fd random-float step-size: B3 j" V. b' k: O% Z
avoid-walls" o+ _2 V( Y2 K( _- I1 W# {$ o
set stopped? false]
3 P% z) d$ i  {  N" Y. r" z& A7 V[set stopped? true] / c- g4 o6 Y3 x- P
]
 楼主| 发表于 2008-4-12 15:05:12 | 显示全部楼层
是逻辑有问题吗?
 楼主| 发表于 2008-5-2 17:02:02 | 显示全部楼层
上述问题,如果最先的if语句改成( h$ D, N( |1 k( L" [
if not many? turtles with [remainder who 5 = 0] with [ not stopped?][ stop]
8 U% D8 V( G  H& n/ T- w1 F/ A则可以顺利的终止go程序
' S- i1 F) ~' r' Y4 J, I但是从我的程序逻辑上,编号非5的整数倍的turtle分别与最近的一个五的整数倍turtle tie在一起,5的倍数turtle为根turtle,所以没有turtle运动和没有5的整数倍turtle运动是等价的,if语句两者逻辑没有实质区别,但为什么执行起来会有区别呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-15 07:20 , Processed in 0.013760 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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