设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8141|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。  E5 V$ F) U, E. \/ h, E6 U2 y

; |- i  S+ ?/ @4 s2 F* p: e0 f但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。/ _+ \" ]9 y* W! K; U, Z
+ v! A; c4 B5 {3 o6 {
turtles-own [a b c d k f g h3 J, w' y' ]. o. V) s; @: H$ Q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
  }5 F8 q* F# @. f: ?]
4 h6 E$ O0 t% n# C7 w( gto new
; F, K6 R5 F# F, ~+ R0 b; [4 {7 f  ca7 t5 [8 w2 W) u9 B& _- j
  crt 5 * num_of_building) t% ]- m4 r9 y- i5 g2 X+ @
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 u, P. }7 Q1 G( T  scatter     ;;keep center-turtle random positions + G2 |9 J$ X; r5 i8 J* W+ @; T5 ]) }
  unit_plan   ;;make up the building plan
& Y7 _8 ^  h- D" q4 z+ ]0 W" iend, y( b5 V# ?$ M, }
to scatter( N) a5 v) H8 @* t- S
ask turtles with [remainder who 5 = 0]% a* \) j5 Z1 j. o
[  C1 \% s* g2 C. b
set xcor xcor - 6 + random-float 15
1 J+ i' C; a+ A0 c7 p9 n9 W& sset ycor ycor - 6 + random-float 15' ?; i6 X7 E4 j5 W: [2 y
]
2 I' A" ^% r) Y) X9 \+ Z# C! H, Pend
5 w  P$ w1 _+ p5 ~to unit_plan 2 z5 C! V( V/ R% ^& h' P
ask turtles [( N! u  g' x6 [. ^
if (remainder who 5 = 1) [set a who 5 y) u1 P: X+ s, t% v
                          set x ( 0 - Wid / 2 )
: h; e# [: ~9 X  @                          set y  Dep / 2 ]
# A; c9 f6 i! I2 ]1 X           set b  int (a / 5) * 5
7 f7 ^) g: M4 b) K: h0 s* v3 ]9 w6 R    setxy ( xcor-of turtle b + x )
) f6 ^& x" B; F          ( ycor-of turtle b + y )) k' o$ _. @( R% a9 F* c
if (remainder who 5 = 2) [set c who" x  y+ P" m  _+ Y5 Z
                          set x ( 0 - Wid / 2 ) + B. L$ Q- f5 G$ B
                          set y (0 - Dep / 2 )  ]- |, I7 g4 q6 s; H
                          set d int (c / 5) * 5* c. [4 |1 F  m) i" Y
   setxy   ( xcor-of turtle d + x )
3 t+ s+ a' [! I+ X+ \           (ycor-of turtle d + y ) ) @6 ]$ U/ v0 w+ w
         
" W6 w# P4 A3 ^            
* ^% z0 S7 r8 T' h- ]3 Cif (remainder who 5 = 3) [set k who; [5 D; O  X) F" }& b3 H1 p' Y
                          set x( Wid / 2)  ; b" v% G  [& s' J3 W: R
                          set y (0 - Dep / 2 ) ]4 ], r& H8 L1 g3 {
                          set f int (k / 5) * 50 h/ r4 W7 K( r: F) k
  setxy   ( xcor-of turtle f + x )
* B* k8 M" y( K- p           (ycor-of turtle f + y ) . j( t. @9 p7 ~2 E5 B( D
           
: g2 }- d9 E: V6 d% Z. X0 L           
+ m" A/ [9 Q2 }, ?- S/ Qif (remainder who 5 = 4) [set g who
8 n4 J/ t1 [6 K/ X6 d                          set x Wid / 2
, d8 v. D) l% j1 d$ G& ?                          set y  Dep / 2 ]
8 A( b; _$ \7 b$ P# r                          set h  int (g / 5) * 5/ A& }& u: a6 U* g
  setxy   ( xcor-of turtle h + x )
6 \- J" \* h; [6 O4 j2 L           (ycor-of turtle h + y ) $ K9 {9 C* s3 }: d( Y7 F( s3 k
                          
) o0 N; L3 ]9 [7 p8 ~' U! ]- H- R                          5 e2 a# y: f1 u6 N- e$ L% I: j
                          ]
- U( v) q: X! a9 p* |$ }$ bend' j9 v3 E! s' r1 f2 R

. M$ I2 k5 y0 V# M& w. W4 Z[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
* N3 _" K  c! f9 e) ]$ P; r应该是& w8 R( `- g1 G5 n5 i6 D* ^
ask turtles [% E8 F+ O; K8 e$ r; h) O/ `' ]
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 I% a8 f+ ^: Z
                          set y  Dep / 2
. U9 A! H, \4 g           set b  int (who / 5) * 5
8 G( N1 X) L4 u( w( H    setxy ( xcor-of turtle b + x )9 b8 |! @' ^) l% J
          ( ycor-of turtle b + y )]]- z- N. i* e, B3 e7 f9 E
end9 w1 K, z5 A3 l1 K
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-10 23:21 , Processed in 0.017759 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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