设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8986|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。: i  A8 P0 w5 d$ a, l

' K2 Z) S  U. `( t但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。, ]: n! U& L) j$ e6 K) i' f8 W3 Y# |' a
  [* B8 X2 n1 r5 f
turtles-own [a b c d k f g h
  Z# c6 U( {% {( Z  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
# H- b' F* I" Y]
2 m7 C2 G9 {2 I: x/ b! wto new
2 d# x" P! H  y) h  ca4 B9 Q1 k" }. Q# E- T
  crt 5 * num_of_building
4 ?7 a3 `: e7 x* w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
7 S% I( Q; |) k. B3 h' P  scatter     ;;keep center-turtle random positions
, ?* c% ]5 F" [4 q; e  unit_plan   ;;make up the building plan/ v! S7 F% V+ e9 Q
end
0 n% c3 W% @* B! f  t7 lto scatter/ d' |3 y, r- S# X
ask turtles with [remainder who 5 = 0]
) v5 g' [7 m) R1 v0 R+ H[" ^' _+ c* z, P) o0 b% G; T
set xcor xcor - 6 + random-float 15' }0 l' f1 b( v) h$ B, z5 V
set ycor ycor - 6 + random-float 15. P/ w1 A+ x% {$ [6 S' g* w
]  C6 {7 k4 A: ~$ g9 L' I5 x
end. R1 P; R2 P, r8 m& `
to unit_plan , r) H% @/ L! v# b8 X( b1 L
ask turtles [
' B$ w5 o6 ]  }' f: |; gif (remainder who 5 = 1) [set a who
$ r4 {; z0 _/ r- d, G                          set x ( 0 - Wid / 2 )
0 X* ^7 h8 w: A- c+ @* e" o                          set y  Dep / 2 ]4 c% G" K: h$ d# t7 n0 I7 P
           set b  int (a / 5) * 5# P: d( |; t! {% V
    setxy ( xcor-of turtle b + x )
! ]( l' K5 ?$ S8 h, n          ( ycor-of turtle b + y )
! ~( a. w5 |! H4 z( i" O4 ?2 jif (remainder who 5 = 2) [set c who
: M7 Z9 j- e# o" j                          set x ( 0 - Wid / 2 ) " P: x% Q; s' Q& t5 {+ v6 e
                          set y (0 - Dep / 2 )  ]
2 E2 q3 e2 D, x! H3 y                          set d int (c / 5) * 5
" Q% I: q, f/ i6 i$ I4 [   setxy   ( xcor-of turtle d + x )1 _0 H2 H$ W4 F  C
           (ycor-of turtle d + y )
4 `% x; ~, E; Y* r. e5 j          1 g( r( D4 a' }5 _6 n
            8 `6 P0 H% z9 u
if (remainder who 5 = 3) [set k who3 K) r% O! k1 R" S. q, u6 B
                          set x( Wid / 2)  
) w/ R8 {' }' K9 h  N! O1 Q. `8 p                          set y (0 - Dep / 2 ) ]
$ b% Y: F. {- v2 E5 z5 \                          set f int (k / 5) * 5- T0 r9 J+ N& z" v; b2 S0 [
  setxy   ( xcor-of turtle f + x )* z( w9 N5 _9 D7 P* F
           (ycor-of turtle f + y ) 0 ^: T3 K; S5 e1 K, I
           
0 ]' w8 c2 y, i3 V           
& a/ c5 U& g' p4 o$ X  ^if (remainder who 5 = 4) [set g who
2 s* D+ |8 o  f  a9 j                          set x Wid / 2
2 {' f: U7 Z3 e7 ]4 j4 h0 u- b: ^                          set y  Dep / 2 ]$ C" H8 Y' L+ s" G" W+ t/ x
                          set h  int (g / 5) * 5
) t$ X3 N& {( T& A& F" d) \  setxy   ( xcor-of turtle h + x )/ Y) ]) O' X: H4 z, a% ^  i# H
           (ycor-of turtle h + y )
: `  w0 M1 t& g: [                          
) u' F# f( F3 L. X9 T                          : D/ J( M/ `) U! `  Y
                          ]7 R% h# A" R/ P) e  U7 a
end
- N  s( o& k5 u/ V2 V* ?# p7 z1 K6 ?$ n0 W  S/ ]
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
  i# i( J0 f( T应该是7 _- X3 `' S4 h% [3 R% D8 Y
ask turtles [
' D* H3 G; @2 F6 R2 i/ Yif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 I% i  R+ J  e9 o% L! G$ @                          set y  Dep / 2 & M6 U* f2 D- x# l) y
           set b  int (who / 5) * 5# H: H0 ^" o  s; n1 R. z  Y: o
    setxy ( xcor-of turtle b + x )
- M8 x; B2 U& d; I- B          ( ycor-of turtle b + y )]], r) c7 S2 |3 @- t
end4 n) i( {& d- |5 E) H; H1 |
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-3 02:28 , Processed in 0.017426 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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