设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8040|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 r2 M' w# O9 O( ?3 Q- K
, E/ ?/ f( k' O2 M- H/ S* j
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% o7 X( ?+ ?* z- ~7 z; D4 w9 w& M7 t  I0 |' j
turtles-own [a b c d k f g h
5 l; K' }: E' M, b% j/ R  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
' Z& A# U6 @' c. B0 N! F5 }5 Z- L/ ~4 {]
7 B% a2 [6 m: Q$ |7 Vto new" f4 o( P" U, G" I
  ca
! x; j8 ?9 t7 Z% i! Z9 O, H( D6 P  crt 5 * num_of_building3 v/ G7 U) s6 \& ?9 z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, b5 p. s* u9 z1 l5 ?8 e2 u  scatter     ;;keep center-turtle random positions ! \$ |9 w4 M2 ]: i' @
  unit_plan   ;;make up the building plan
! L$ d9 N8 F4 b" Y5 G* bend) O* R. G% a( V/ u" C
to scatter
1 ]* n+ L" R, ]+ P4 x) t' M3 ~ask turtles with [remainder who 5 = 0]
# u* C8 g, f2 M  ~! K4 U) B. C[
4 Z' n; y/ z' f/ g* c: bset xcor xcor - 6 + random-float 15
& c8 s2 j' r* H4 Q# ]# j/ vset ycor ycor - 6 + random-float 15
+ y7 e! D4 S6 J3 @$ G. H5 l! _]
6 i# r" B% y5 oend- m1 x% d2 I  y1 Q9 Z/ s4 O% Q
to unit_plan
3 L5 i* i- R' k4 sask turtles [* b/ _" @# `+ @( Q9 Y4 X
if (remainder who 5 = 1) [set a who 5 u! m% J' h, `/ g1 X; t
                          set x ( 0 - Wid / 2 ) , q* H2 A) d- F/ z0 G3 {9 {& N& h
                          set y  Dep / 2 ]+ `0 N  \8 K! q3 d; \
           set b  int (a / 5) * 58 p+ t, H1 i! M9 t, k0 {- Y: ~
    setxy ( xcor-of turtle b + x )
: o; ~8 _5 h4 t! g          ( ycor-of turtle b + y )- i: Z1 |2 r* q
if (remainder who 5 = 2) [set c who' j2 z* r: _3 ~
                          set x ( 0 - Wid / 2 ) 2 h5 A" I( U+ \9 ]  d3 r0 R
                          set y (0 - Dep / 2 )  ]1 F2 Z) c6 W) i# {
                          set d int (c / 5) * 5
* ]* K! w$ C* l! b) m0 v   setxy   ( xcor-of turtle d + x )
. M3 D0 r( ]3 {4 b/ L2 _           (ycor-of turtle d + y ) 6 t0 P; T0 H2 l: ~/ \/ t
         
$ U6 k) W( Z# T/ H4 Q' k            
& F$ d. U+ ?' e  u6 @( }if (remainder who 5 = 3) [set k who* @! P$ s  ?- ~) \, \8 q) T
                          set x( Wid / 2)  2 W9 E  Q7 G8 V8 \/ f% |
                          set y (0 - Dep / 2 ) ]
! A, P; l% k  E8 I1 S) o% U* r                          set f int (k / 5) * 5
" [2 Z: W5 [' e6 ]2 G% k5 i: {  setxy   ( xcor-of turtle f + x )
* E1 v% }0 L  |6 w' ?' @5 H4 l  M           (ycor-of turtle f + y )
; D6 {- R5 L/ r5 U           8 D2 d5 o" S% o0 o
           8 ?3 t6 B% i  T# ^0 ^2 j+ q: \) A) o8 V
if (remainder who 5 = 4) [set g who
) L% N( R7 t# P2 D5 d                          set x Wid / 2
0 e3 c0 n( T9 V6 `                          set y  Dep / 2 ]
2 A0 c/ z2 i3 R. ~& z0 i2 u3 G5 t                          set h  int (g / 5) * 58 e9 ~: t( a/ k; `/ Z1 U: S* e
  setxy   ( xcor-of turtle h + x )
( d. W2 h; [( v4 l1 U           (ycor-of turtle h + y )
, ^# ~' _! g' v3 f                          3 \9 @9 m0 N8 O  Q
                          ( O# {6 P6 y  [, ?4 F5 l: R6 P" ?: ^
                          ]
4 i+ j* e, ^) W" D5 [end
4 Y8 W! o( G4 N- Z, y0 g& I8 _8 y0 k2 r: `# |- f
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,; p4 [$ G/ L9 `1 v
应该是" B7 I  T" G4 c- Z/ t
ask turtles [
: J7 R0 ^9 |; b3 D; A, cif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# `' q" k  U% ], r& \, m                          set y  Dep / 2
# e, Z( `! R. T, [" t) I           set b  int (who / 5) * 5; o( J* F* x# q1 K* k# n
    setxy ( xcor-of turtle b + x )
! o5 O: r4 l& {          ( ycor-of turtle b + y )]]
5 V5 }) i5 y4 e$ Zend7 P7 A0 T8 V' X' O
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-1 00:54 , Processed in 0.015400 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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