设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7698|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" l& L% H7 I! m- m

. H( G6 L3 h" Q7 V但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
6 }* n5 d+ E9 S0 m3 ~
5 A2 {. x- C7 F+ Qturtles-own [a b c d k f g h: f$ a& m" V$ r
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 Y& J6 ^; L3 E; H
]4 K4 D/ G1 v% e7 @
to new
, ^! @7 K. C( j  ca" B- q. L, |# G$ \
  crt 5 * num_of_building
8 e" j) J% G- G  w- {$ X6 T! o  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]3 V; V5 J. }8 ^# L7 N& }
  scatter     ;;keep center-turtle random positions % E% c# s1 w) K: X1 }
  unit_plan   ;;make up the building plan" N# H9 C6 D1 z% o2 j- d
end
' F* z9 t8 Q# c' ^4 Nto scatter
0 e) j; f, d0 Qask turtles with [remainder who 5 = 0]
: {1 g" {6 t7 s7 k( D[
' N: d' r$ ^4 F* V4 `1 vset xcor xcor - 6 + random-float 15; X: d( ^2 e" q1 X1 n4 l
set ycor ycor - 6 + random-float 15
, b* f  H/ C* d5 |7 v  Q1 b" w]
4 D# X' N" \% c! ?end
6 B7 m& s# Q* Y  p8 _+ uto unit_plan
1 [! a. c! v# task turtles [4 L* \, l' p" N7 I
if (remainder who 5 = 1) [set a who
3 s) \7 ?% e  b% h& n                          set x ( 0 - Wid / 2 ) " X1 X5 |$ B/ x0 b5 L9 ^, _( v
                          set y  Dep / 2 ]
5 U. p0 V6 @, g! E: v" B: d$ F/ O           set b  int (a / 5) * 5& s5 D) M/ n0 r, f
    setxy ( xcor-of turtle b + x )+ ~" X# e/ N0 a3 T! A6 |1 z
          ( ycor-of turtle b + y )
. l0 N+ Z- b/ U  L/ V9 ^5 ~7 Sif (remainder who 5 = 2) [set c who
% b. r+ [2 F/ W; _6 |                          set x ( 0 - Wid / 2 ) 6 v& b& G+ \; J
                          set y (0 - Dep / 2 )  ]: {# B7 Z. l+ ?  N  W
                          set d int (c / 5) * 5
* o" a* @3 C+ n3 a& c* ~   setxy   ( xcor-of turtle d + x )( l2 T0 ~& Q, a; a& G. Z
           (ycor-of turtle d + y )
7 j7 Y1 G, ~" B         
2 V$ Y. e8 e7 j& w1 ?            
7 }( }& I6 d1 {+ F) S! w% Eif (remainder who 5 = 3) [set k who6 v5 H/ e. ~8 |2 q- D# ?: C: D" |
                          set x( Wid / 2)  
9 w+ i; `! ?! c0 J5 c/ {5 W8 b, D7 a* |                          set y (0 - Dep / 2 ) ]
4 Q2 H' x/ ]* @2 w& I7 p                          set f int (k / 5) * 5
+ q& h* [; J0 R* q' j  setxy   ( xcor-of turtle f + x )
' \% ?6 f* p0 H           (ycor-of turtle f + y ) 4 r+ L2 Z6 m- z: q1 O2 |4 q6 J
           ! z4 v' X2 t: Y% `. B8 ]) d
           
5 H1 E# e) ^6 c. g9 K7 I$ ^4 o) Uif (remainder who 5 = 4) [set g who
7 H0 f( N  B( \, Y3 t" @; M; [8 r/ v& x                          set x Wid / 2
0 m% m0 n2 O, W( u8 H" @: \* l                          set y  Dep / 2 ], `' |: C( ]$ ]6 D
                          set h  int (g / 5) * 5
0 N; O0 R0 w' [) }5 o6 \  setxy   ( xcor-of turtle h + x )
! N7 i" {% [* w5 g           (ycor-of turtle h + y ) 3 r) M4 ]2 ~* l$ `
                          ( t. c$ t2 x4 K5 D
                          # p- j8 n2 F3 o/ G8 V
                          ]
5 h9 l0 I2 b1 P' t& B  U  Lend8 B4 G7 x8 X9 [# n; Z- ~9 r
( I1 Z) e5 Q- Z2 |( @& x7 Y
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,4 X/ }" s9 Q( v8 U6 g! Y* J4 r
应该是! Z5 }0 h3 T: f
ask turtles [
+ i: X5 E* F6 T+ iif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " T, t. c% o" [
                          set y  Dep / 2 ' Y! s# c# X; `) ]1 c4 V% w
           set b  int (who / 5) * 5+ c7 F$ R1 J. ]
    setxy ( xcor-of turtle b + x )
3 n8 z0 I5 w6 b7 j! S2 u! E! Q% m          ( ycor-of turtle b + y )]]! T$ U/ h' b* ~4 \
end, X2 i( S) y6 p( i, P
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 07:21 , Processed in 0.016568 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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