设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6781|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% e2 E: |$ R6 r) z8 f6 s5 R7 f9 e4 x
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ v* e7 B2 d* i. S2 p) x
5 Q2 p5 Q. Q" S  C% E- Vturtles-own [a b c d k f g h
; E$ q% i8 e! }0 M  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ' v& T4 C8 F0 l: \& V
]! W' q) |" d/ N1 L1 r% ?
to new) _8 y5 O3 W9 ]$ \
  ca3 `- |6 W' J" O
  crt 5 * num_of_building
/ r) L: V, G* _3 ?0 |3 [! d  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
# R- W$ \3 }& g  scatter     ;;keep center-turtle random positions
7 C! _7 x' U5 N1 Z) d9 {& Z: U6 _2 O4 D  unit_plan   ;;make up the building plan
8 a, U! y0 ~$ v2 X, `' b0 L& Eend4 ^1 a# M- O: g! d, j% Y
to scatter0 v( G3 l# t9 x; S5 n% p
ask turtles with [remainder who 5 = 0]
5 W  s6 O: n/ }! Z[
8 \+ l0 H- o+ w* H- oset xcor xcor - 6 + random-float 15
! u" M$ _" r) q; J2 s! t' t; Jset ycor ycor - 6 + random-float 159 L' }6 I, e2 f6 t$ b; K; q
]5 ]9 M! R  B, r6 n* z
end
6 z1 X3 I* e! ~, {; k& Vto unit_plan
1 x0 Y2 }; E  i) x5 w' }ask turtles [5 u  c2 [) p$ s. r: K
if (remainder who 5 = 1) [set a who ( E! G1 o+ i9 J9 ]. c
                          set x ( 0 - Wid / 2 ) . v$ C' r3 D' P
                          set y  Dep / 2 ]
4 L" E; S! C( o; Q4 x5 Q           set b  int (a / 5) * 5
/ ?# v* R# v) Z4 ^7 H* {    setxy ( xcor-of turtle b + x )9 y* G7 M6 S. ?& P; z
          ( ycor-of turtle b + y )6 a( t$ V2 E6 r8 n; C
if (remainder who 5 = 2) [set c who8 v" c. P& t/ c" L3 G3 l0 H
                          set x ( 0 - Wid / 2 )
3 b8 v/ |6 p; V3 p" `                          set y (0 - Dep / 2 )  ]
& E- F7 k7 _7 t( f                          set d int (c / 5) * 5" q: i* u' f& a; D/ ^" y$ \& x! Z( g
   setxy   ( xcor-of turtle d + x )
- N& c! s9 ]0 m9 W5 z' z           (ycor-of turtle d + y ) * }* Q6 H4 O5 O4 v* M5 g0 e, N, k
         
3 S- i  c0 C2 |* P* g: a7 Z            
$ \% Y: i2 X% U3 x& Vif (remainder who 5 = 3) [set k who
: E' c. d+ E5 Y( j5 S                          set x( Wid / 2)  
% z( O% S$ k' S7 S, Q  e5 L                          set y (0 - Dep / 2 ) ], v" N2 Z! a2 d2 W2 \1 h
                          set f int (k / 5) * 5
2 C/ j' H/ I8 ^  b5 s  setxy   ( xcor-of turtle f + x )
* q. |7 h0 j2 m  A" A           (ycor-of turtle f + y ) . g$ D5 g5 a* W- H& [- }3 F
           
- d' L( q6 r4 o9 M! G8 d  D           
: j, s# l+ k  K  Zif (remainder who 5 = 4) [set g who
' A7 A# y( ~3 I; F6 z$ }( ~; G: ~                          set x Wid / 2 % h3 O: U6 k3 T7 ^  f3 c+ M# a6 T7 w" f
                          set y  Dep / 2 ]
3 T4 @% z! p% s) ~! d- X# Q5 s                          set h  int (g / 5) * 5
% R+ e% {- ?( x) v. M& _& I) l  setxy   ( xcor-of turtle h + x )
$ s3 h. B# z; P5 a           (ycor-of turtle h + y )
" N* C0 C! D: Q( q9 ]8 {                          
$ U+ G, G' M6 R, l                          
' k- j: O9 W5 W  j# \7 j                          ]9 ^% _  [; _, q! o
end7 G- I# a$ r7 I. t0 n& H6 }  n

/ o: D- Y* a1 `[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,( w; h3 x  e/ |$ N, ]) w; f4 k
应该是( u3 `; H. R6 _; Z* Q
ask turtles [
" o/ @1 L8 P, y' w/ w7 dif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # Y( k6 K& L3 Z0 b
                          set y  Dep / 2
7 ?# j; J! a' L" R* U& P! q2 N           set b  int (who / 5) * 54 ^% I3 T. f; T) c5 A
    setxy ( xcor-of turtle b + x )$ ^% |& M1 X% r! x
          ( ycor-of turtle b + y )]]& i: |9 C- N( W5 T
end
6 f# j; ?; d- B之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-23 03:18 , Processed in 0.019468 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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