设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5852|回复: 2

[交流] 代码逻辑问题

[复制链接]
发表于 2008-4-12 15:04:09 | 显示全部楼层 |阅读模式
在这段代码中我设定了一个stopped?变量,初始状态设为false 。运行过程不能输出stopped?为true 。始终为false
0 b; h, \% r  |" @, F% n! H, o- O, hto go
- U3 |; Z# [  a+ J' Xif not any? turtles with [not stopped? ] [ stop ]  
2 u: _- \' h1 J6 mask turtles with [remainder who 5 = 0] [
7 m% x( E+ Q6 @set close-mates  (turtles with [self != myself])with[
  l% n2 l* j' k8 J7 W& z) @(abs(xcor -(xcor-of myself)) < X-Dist + Wid ) + q* ?$ M" L0 A( o) u
and (abs(ycor -(ycor-of myself)) < Y-Dist + Dep )
7 n. }/ Z* X( ?" L$ S. X- zand remainder who 5 = 0 6 f& m( Y2 ^$ `. M4 W; K( m
]                   4 l3 T- q8 h/ p4 I
ifelse any? close-mates
9 o( S4 u1 x3 ]- s[                                                                - h* a  o: p) h& m- B( e" H, J
set closest-one min-one-of (close-mates with[self != myself] )[distance myself]
  y/ ]% G0 {: |) Oface closest-one
/ }( {7 |0 ~+ u8 A1 @% ?0 Grt 180
- a/ K3 N3 M. c' M0 B+ k" S" t4 pfd random-float step-size
9 _0 G# b7 R( |8 s. Javoid-walls# u5 y0 F/ J0 w4 {# t. }
set stopped? false]
$ n& P  M- N( M) r[set stopped? true] 3 ^" c' |8 U; X6 A! S
]
 楼主| 发表于 2008-4-12 15:05:12 | 显示全部楼层
是逻辑有问题吗?
 楼主| 发表于 2008-5-2 17:02:02 | 显示全部楼层
上述问题,如果最先的if语句改成
+ L7 h# U& w2 P/ d& Uif not many? turtles with [remainder who 5 = 0] with [ not stopped?][ stop]
' ~: |9 i/ _) K0 l则可以顺利的终止go程序- T/ o. l6 U) x% s$ J" \  c
但是从我的程序逻辑上,编号非5的整数倍的turtle分别与最近的一个五的整数倍turtle tie在一起,5的倍数turtle为根turtle,所以没有turtle运动和没有5的整数倍turtle运动是等价的,if语句两者逻辑没有实质区别,但为什么执行起来会有区别呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-7 13:49 , Processed in 0.016296 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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