设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8241|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。: v" m0 E) p- `  c

1 F) o) T8 P% s4 _但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! ^  y& l0 A& t0 h; _2 O

. H- e% M4 H9 i9 z% p; l) ^turtles-own [a b c d k f g h
7 n9 h8 Z/ N: f* M) L- l7 e  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
8 h4 f% C3 r4 t6 b/ [% W6 X. s* ]]
1 g6 P  m: p8 _; I+ C( P( }to new
. z8 l4 y' G0 X  ca
( C0 k+ w1 x- y( D  crt 5 * num_of_building0 q/ H5 D" T2 K3 P, O- G0 F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 U3 c/ l/ O; g2 _6 ]7 L  F. K( H, S  scatter     ;;keep center-turtle random positions
& {2 R# d3 T7 ~9 K  unit_plan   ;;make up the building plan
0 z/ P( z$ X, b( ?% d+ [1 H- ^end
9 T( _" I3 j1 g1 N5 Qto scatter
* v  w; `- I6 ^4 @ask turtles with [remainder who 5 = 0]- ?, K! p- N+ U& Y: `
[% k7 G% R' }0 P8 C
set xcor xcor - 6 + random-float 15
( u0 I' E7 N4 `; P  r" I% `set ycor ycor - 6 + random-float 15: y9 L7 |; o) B' \3 T: b
]
' E1 N+ {# h. n3 Z! ^. Hend
' Y( X  h- p( W- Dto unit_plan
4 X" ~) Z6 w+ q4 R4 v& n" n) Eask turtles [4 z3 k; x$ p0 ^( t
if (remainder who 5 = 1) [set a who
; R' Q9 [! W6 `" b2 n  o6 b                          set x ( 0 - Wid / 2 )
+ ]  ~* @9 {0 L% i- x1 d0 X4 Q                          set y  Dep / 2 ]% \$ B/ `, P( Y0 V3 o3 J1 p
           set b  int (a / 5) * 5$ A" y6 j8 L% ]3 ^7 k8 j- {
    setxy ( xcor-of turtle b + x ). J2 f: @  c) @- u: `) L
          ( ycor-of turtle b + y )& C  ]. N/ m% O# Z/ R( H
if (remainder who 5 = 2) [set c who
6 L( E- Q/ y" k  l* y1 E! G                          set x ( 0 - Wid / 2 )
/ b! h/ y9 b' p, N% A+ U) m; ^                          set y (0 - Dep / 2 )  ]
% p: {' P5 e8 W& o# O7 [" ?                          set d int (c / 5) * 5
. A6 p* L  c1 n* o0 m6 F8 g   setxy   ( xcor-of turtle d + x )6 i- [# |) {; K$ g, e% o, J
           (ycor-of turtle d + y )
# G% v# P* B. t         
3 S; z0 \0 g. f# T8 C; u/ j9 q            
3 \( V0 L% K" o5 [( ~, ^  W. ]2 W7 K- kif (remainder who 5 = 3) [set k who
# {- g/ I/ }! K- E                          set x( Wid / 2)  " T7 @; j2 l* a" j; w
                          set y (0 - Dep / 2 ) ]
* C) e& \2 E( Q0 a8 t+ A                          set f int (k / 5) * 5
1 F; R$ i: \3 H5 O7 Y5 e  setxy   ( xcor-of turtle f + x )
0 _. _; D: d8 ]1 _! v           (ycor-of turtle f + y ) " |- l! e5 g4 @$ v" N8 [* C1 }
           
& j9 i( B* E/ N- i8 M           & t, h2 k9 @9 _$ G* t& _
if (remainder who 5 = 4) [set g who: @3 B9 M) j8 _6 C
                          set x Wid / 2 1 f" X3 j' A; x. a& G5 s" x" [
                          set y  Dep / 2 ]0 K+ h. W/ z# V; e' Y
                          set h  int (g / 5) * 5
; q$ C2 @8 f! M9 m/ O0 d5 X: Y: l  ~  setxy   ( xcor-of turtle h + x )
$ L2 g, q4 T! s! y8 Z) x           (ycor-of turtle h + y )
! T! g7 J4 j! |* o. `( _                          1 ~+ \  K8 I8 u- q
                          " B' [5 k# ]1 @, l( P1 ^! S
                          ]
) K* D9 p3 ?, j9 K6 m0 Nend
8 |/ j! `" n" D7 g( @7 a3 x; ?( e
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: R3 v/ m) X& Z. p, X" M6 Y2 N
应该是8 a  A6 L# h, }. [, Y! \, b5 W
ask turtles [
8 O0 ]' O" d" X! b/ u+ p+ \) k5 V6 D- a9 Oif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 e! P) @! f: m5 r
                          set y  Dep / 2 + }. e- G# s9 Z- t6 G& ^$ K
           set b  int (who / 5) * 5( X& {! d1 n0 K: j5 w4 _7 E* K& V4 z; ]
    setxy ( xcor-of turtle b + x )$ ~1 p. O: K5 }( N* j3 l
          ( ycor-of turtle b + y )]]- Q) y6 V* M" b: o* t' l
end; @" F$ b9 J! N" P
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-23 11:39 , Processed in 0.018296 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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