设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8259|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( l, [% n( N! E4 y
1 S5 K- Q  d8 {# j5 X但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ g, `  G- K" l7 p/ O
! ~5 V- ?7 l) g1 K+ [1 x- l
turtles-own [a b c d k f g h9 g" V+ P, }! G: t/ V/ O
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
4 `+ t$ [/ A! r( G( x]
1 q* [8 c1 C# R# `to new
4 g! }$ P1 Z! p$ A1 y5 ]  ca7 Q$ ?8 Y& [2 _, N# t
  crt 5 * num_of_building0 _% s' @/ ]* y" A
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 _# Y% x; ~4 n9 r' l
  scatter     ;;keep center-turtle random positions
( F7 ]+ M. _1 V5 M! B4 u% s  unit_plan   ;;make up the building plan' l- t0 G8 w' b  w8 N& n3 T  s' P
end
: w8 m5 K' e, Rto scatter8 d( K  f+ L+ [
ask turtles with [remainder who 5 = 0]
0 P6 P" k+ f% ~: A  j2 i[$ Q6 ]( f+ Y# ]& `* n. ~
set xcor xcor - 6 + random-float 15
& q1 \% h; J! y7 _# fset ycor ycor - 6 + random-float 159 ]% X5 s# C  q1 W/ s5 [
]& x5 c1 o9 I$ z: d: e0 m
end, {' m4 n. i0 ~, t% h- a! f
to unit_plan 5 c' E* ], s2 a: }- d
ask turtles [
' J4 H; v9 i2 {if (remainder who 5 = 1) [set a who
! d, r6 u+ B* Z$ G. ~                          set x ( 0 - Wid / 2 )
& k2 \% K" O6 A                          set y  Dep / 2 ]( b% ?. M4 E# B5 g8 k2 }
           set b  int (a / 5) * 5
( N" z4 x$ G% D7 `    setxy ( xcor-of turtle b + x )
. f! W4 b3 [/ y          ( ycor-of turtle b + y )
  ]( j% R4 E8 m! Dif (remainder who 5 = 2) [set c who; ]- [0 C9 O5 V  e7 }
                          set x ( 0 - Wid / 2 ) # V. ~' o2 L4 G8 ^% C) Z" P
                          set y (0 - Dep / 2 )  ]! J2 v8 S1 s, _% H# ?8 D+ r* l
                          set d int (c / 5) * 5
' Y6 \+ q. O( x- v7 \   setxy   ( xcor-of turtle d + x )0 s# a3 |/ I: F& [
           (ycor-of turtle d + y )
- r5 e! l" o1 @; W+ Q          + b; F# U! _- }2 M. k6 I
            
) O# v7 T0 I+ D- m: O! H5 uif (remainder who 5 = 3) [set k who
6 z0 k/ X( L& X) S$ b5 D                          set x( Wid / 2)  
( j8 [3 a1 e- v1 }- X                          set y (0 - Dep / 2 ) ]* ^4 ?) q( i! Q1 ?
                          set f int (k / 5) * 5
# T$ L1 B2 Z( d  setxy   ( xcor-of turtle f + x )2 o3 W! P3 N8 Y. j- f6 t0 a0 L/ ~
           (ycor-of turtle f + y ) 9 i3 z- i) b" N" K. E/ x( I0 A6 C
           
# ?2 I* }7 d& a. o0 n/ T/ N  `           
7 H8 q9 s5 A1 I4 uif (remainder who 5 = 4) [set g who; W3 _& U9 t) O& x
                          set x Wid / 2
( p9 E# u' a3 \* G                          set y  Dep / 2 ]% R# s( U/ I' D* l( b! z$ ~/ B
                          set h  int (g / 5) * 5. Q5 R1 \; D! w* u8 i
  setxy   ( xcor-of turtle h + x ): T  ~% ]* D2 D; }+ J1 `
           (ycor-of turtle h + y )
, A$ c) P; Q7 g( S$ Z3 f                          * G+ [" S4 x' p* h+ A
                          * [8 l7 l) {! u3 T3 L
                          ]; n4 O: N/ D7 D. G
end
, n6 l! H: {5 [" u  A! i) F
" t/ w! Q6 K0 w$ G/ Z[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," Q. Y0 b. _/ u- \( p; S
应该是) {9 F1 }2 _. F
ask turtles [
: K, }0 [  C: V6 s4 c. ]if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 v6 }' \7 i! z. r9 y: Q                          set y  Dep / 2
0 y  u( n! j! V2 |* j           set b  int (who / 5) * 5: \; u( y$ b! i" M! A8 U
    setxy ( xcor-of turtle b + x )( z  }* \1 L& s& z& x. D. }0 [
          ( ycor-of turtle b + y )]]
, n2 m1 Q0 x1 xend
* y. g. z. B* F! Z; a9 B$ g5 t之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-26 07:41 , Processed in 0.020905 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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