设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6081|回复: 2

[交流] 代码逻辑问题

[复制链接]
发表于 2008-4-12 15:04:09 | 显示全部楼层 |阅读模式
在这段代码中我设定了一个stopped?变量,初始状态设为false 。运行过程不能输出stopped?为true 。始终为false
# N' E3 J2 u  z6 mto go
* G2 I  n7 Y8 f. U5 X2 iif not any? turtles with [not stopped? ] [ stop ]  
! r5 v  B8 `6 V  L; z% bask turtles with [remainder who 5 = 0] [4 y% x5 h  x$ i: Z: O* p
set close-mates  (turtles with [self != myself])with[) F, n( ^( ]! N. P! c" l. X- ?
(abs(xcor -(xcor-of myself)) < X-Dist + Wid )
6 D. l6 e" q4 ?$ m6 K6 O1 _& pand (abs(ycor -(ycor-of myself)) < Y-Dist + Dep )
$ W/ ~8 v7 |9 D' ]% s3 @and remainder who 5 = 0 ) J2 H8 c; N; E* R' i4 v
]                  
7 ?. W" e9 Q" ^4 q, A2 `9 |ifelse any? close-mates
4 D' L, e2 u- b! T  b0 n[                                                                % p; u* A& c4 @
set closest-one min-one-of (close-mates with[self != myself] )[distance myself]
; K; r( X& P' o; n+ @8 W3 ^face closest-one: {1 u4 U/ i5 }& G
rt 180% g6 |. g3 {6 p) g' ?4 j$ ~& ?
fd random-float step-size( ?2 w8 J. }. D0 e5 \
avoid-walls8 H$ I5 k+ D6 {( p, G2 l; \$ j2 t: g
set stopped? false]$ z$ v2 k( u# S1 q  x2 i; ]; Q  B  `
[set stopped? true]
3 M% H( Y# A8 o8 n$ M* A]
 楼主| 发表于 2008-4-12 15:05:12 | 显示全部楼层
是逻辑有问题吗?
 楼主| 发表于 2008-5-2 17:02:02 | 显示全部楼层
上述问题,如果最先的if语句改成
$ Y, P! ^& {$ gif not many? turtles with [remainder who 5 = 0] with [ not stopped?][ stop]
7 X$ K* c" d. Y2 Z; h/ o- r则可以顺利的终止go程序
. q  T4 X0 j1 b" K3 B但是从我的程序逻辑上,编号非5的整数倍的turtle分别与最近的一个五的整数倍turtle tie在一起,5的倍数turtle为根turtle,所以没有turtle运动和没有5的整数倍turtle运动是等价的,if语句两者逻辑没有实质区别,但为什么执行起来会有区别呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-1 03:21 , Processed in 0.012006 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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