设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8775|回复: 1

[交流] 看看这段代码的问题

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
, T' w4 Y, a, p' g2 _) H* [5 ?7 H9 g' h
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# G8 o' ~& @7 X0 _( T
% e" w" n) k1 H9 I7 k
turtles-own [a b c d k f g h
) o. b0 ~% h! z. `8 }  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: |5 H  ^8 w- ~! T7 c]; s3 k5 u$ Z( K4 f8 s' W5 |
to new
  O' F/ Y# R3 E: ]! }' L  ca
/ o2 e4 w: E# o1 K  crt 5 * num_of_building
" z! R, _* [1 z# ~  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]8 d% s3 E5 |7 c! I' N" @" a
  scatter     ;;keep center-turtle random positions $ p( ~! t* E4 L/ p( L  O8 Q
  unit_plan   ;;make up the building plan6 A$ d4 _$ e/ k# c
end
' d5 V7 M. n  G$ G/ E' e8 o  t3 a' o# Vto scatter' o! v1 k$ F$ p' f5 i' I& w
ask turtles with [remainder who 5 = 0]  e' f0 F7 H" `" Q
[
" t6 Y  x* H5 W  F- m2 |set xcor xcor - 6 + random-float 15
: A+ q/ O/ Q% u5 X6 Gset ycor ycor - 6 + random-float 15" P- h. z  ~/ D; ~# c
]
  _+ H/ p& H6 z! h& ^# l  aend
" h6 [( }3 R4 r; xto unit_plan
8 a  {+ o7 i' }1 jask turtles [3 d- \" x5 s$ O5 H
if (remainder who 5 = 1) [set a who
( Z+ i$ @7 p5 t( s5 v4 t6 M                          set x ( 0 - Wid / 2 ) 9 @# A  x- p8 m. d+ I
                          set y  Dep / 2 ]! c, e8 |9 A9 F+ \
           set b  int (a / 5) * 58 Y0 Z5 b2 g, B/ f0 K- y
    setxy ( xcor-of turtle b + x )8 @. m2 A3 l' g- [( L: g2 p
          ( ycor-of turtle b + y )! ?0 v+ r; W; _
if (remainder who 5 = 2) [set c who
+ ^' V) b# R. m4 E4 h- w0 [) s                          set x ( 0 - Wid / 2 ) # H* J# t" _; J6 |5 l
                          set y (0 - Dep / 2 )  ]
# ~6 E# q; @# U  i% E% X. m                          set d int (c / 5) * 5, g0 T1 ?6 N7 {" Z
   setxy   ( xcor-of turtle d + x ). _/ c& `/ ^# r3 M
           (ycor-of turtle d + y )
' v/ K" @) a2 x4 p& E% S# b         
  v# z3 o+ p( \# U2 ^            
. X) w* V) |. `0 s9 X- [# yif (remainder who 5 = 3) [set k who( n3 k3 U: x! V3 W. D3 G: c; Y
                          set x( Wid / 2)  
+ f4 l5 Y+ p# L3 e. @                          set y (0 - Dep / 2 ) ]" f0 l. x8 n0 l4 b2 T
                          set f int (k / 5) * 5
( q, V- M( ?, U- r  setxy   ( xcor-of turtle f + x )
8 ~2 a5 h6 i  U' m& r0 D! p           (ycor-of turtle f + y )
1 ?  `; V4 `) m, b7 z           
  x! [* m& B/ f' ~           0 a2 @3 k; m5 d. w' q7 z
if (remainder who 5 = 4) [set g who
" F$ l& z+ Q. e. b7 c                          set x Wid / 2
* w4 N" G/ }; P  ?: X1 V                          set y  Dep / 2 ]
: E! ?' }; |" T                          set h  int (g / 5) * 5. b% N* S( G; W$ }
  setxy   ( xcor-of turtle h + x )3 M+ v4 j- D6 O* w1 h6 U
           (ycor-of turtle h + y ) 8 b: l8 z; \  s2 j) D% L
                          
3 P0 x1 F8 s$ L                          : Q' g7 J6 V6 u/ t8 b8 M9 J
                          ]
& a& P( h! c5 S: j9 [$ o0 @end5 E9 H7 z! J* W

9 s3 R8 `( D( I3 G2 h5 n[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
- o* Q9 z9 x0 W5 t+ {: W; ^( q2 D应该是
+ I, E: q- T* @( fask turtles [
$ |9 y7 z* q- wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# U- s' l2 O3 h9 D                          set y  Dep / 2 . _# P* \) J2 V+ c
           set b  int (who / 5) * 55 H9 |1 t- F. X8 j
    setxy ( xcor-of turtle b + x )! K9 ?2 b4 w6 ?+ s3 p0 O
          ( ycor-of turtle b + y )]]
% ]: n1 D* Q: L' m, \. hend
- \, g, o7 ~( |2 \: k9 G+ q5 `之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-2 14:02 , Processed in 2.980188 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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