设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8598|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& r6 L  H7 H# {5 t1 t5 f6 z0 d
) B! n6 M9 U, G
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* D: C" ^6 h! a
/ ?% u  Z! T8 X2 i( H3 d6 J% ?, E3 Pturtles-own [a b c d k f g h# w( _" ^( o4 s0 R2 H
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) ^" _; S% Q/ ^6 V# X
]  P4 g5 m% q7 M7 ?9 u0 b
to new. X: {- l; ]& k
  ca
! d6 U+ W7 y2 ?+ ^  crt 5 * num_of_building
& D. g7 R7 {. J5 l4 e! i1 ^  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]# |* W* T- \- q% P9 M; K7 N
  scatter     ;;keep center-turtle random positions ! k$ }, z" V( W7 C
  unit_plan   ;;make up the building plan
* L& J! G8 i" V8 _! G# q4 _end9 r/ w! b) d; t, X% C: O0 @
to scatter
, s8 z4 W4 b$ @" pask turtles with [remainder who 5 = 0]7 x% \8 r  N; D* b: L9 r% Y; X
[
. e4 T, {9 t0 _3 Jset xcor xcor - 6 + random-float 15
9 K  y7 K% h, w$ T" k* w7 r. hset ycor ycor - 6 + random-float 15' Y1 G+ P+ V, F
]
+ z! X- [, }1 C9 ~0 P7 h2 d3 rend" Z1 Y+ L+ l. e  @8 c3 Y& l
to unit_plan 4 Z3 T: C" v" R' Q4 t" P' v
ask turtles [
1 g; j' f) Y& K! X! p4 g+ G3 v' Eif (remainder who 5 = 1) [set a who
0 M' I# u" a: D4 C; v                          set x ( 0 - Wid / 2 ) 2 Y" m" f) |" t. c. h
                          set y  Dep / 2 ]
. r6 g9 d' m, G# P$ l           set b  int (a / 5) * 5
5 i9 D% W( Q* A* R$ @5 ^! X    setxy ( xcor-of turtle b + x )
) o0 `0 z/ v  L. p& P          ( ycor-of turtle b + y )' ^1 ^. C3 C( J+ v( g$ \
if (remainder who 5 = 2) [set c who% a+ k8 q$ R$ ^
                          set x ( 0 - Wid / 2 )
9 I0 u% S, R" E: s8 f: R7 J0 f                          set y (0 - Dep / 2 )  ]* X  w% N% `0 L
                          set d int (c / 5) * 5
  X: Y; E; l; g/ a   setxy   ( xcor-of turtle d + x )
2 z" Q+ C5 v$ H# J3 V/ p& ~           (ycor-of turtle d + y ) ! H5 a/ `) z# A2 h1 @8 w5 N* t
         
& z% L0 t/ [) C- Y! F& Z( ?  u            
& P% I0 w6 \8 w5 p4 Zif (remainder who 5 = 3) [set k who8 ^1 e: L3 o) i" ~7 m
                          set x( Wid / 2)  
3 F! a. F! j# H9 Y# t  I                          set y (0 - Dep / 2 ) ]! [! E! w6 V) K6 y: x
                          set f int (k / 5) * 5! }  X* p5 H, l6 V
  setxy   ( xcor-of turtle f + x )
* x. R$ W0 u; {; c! p. R: i( B           (ycor-of turtle f + y ) 6 h6 s5 W: g5 Y" f- @; u
           
, L) f' o1 o  B6 P4 W5 J           ! M$ p. }; e+ E) @  ]# {( N
if (remainder who 5 = 4) [set g who9 ]& y1 l7 r  R' f
                          set x Wid / 2   \( U4 S" B6 ~/ S" s' ?
                          set y  Dep / 2 ]
  `8 D1 p: O  O0 F  ^                          set h  int (g / 5) * 5
) \* ^% W: {* a! l6 r/ e1 y  setxy   ( xcor-of turtle h + x )
" \' e, G6 t8 C2 j: j' j           (ycor-of turtle h + y )
* l0 w- D% j5 b                          
; u$ A% c" w1 E+ k7 r6 A                          $ k. }1 \' g6 M2 K  F5 f
                          ]
5 l4 g. X+ a& T! j* O$ e# x2 _end1 O1 F. u' ]0 q2 j& {

5 _" R& e4 H$ Q3 z: _2 {- g1 f' P  ~[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 z( ]" _: R0 B3 e! G2 a应该是$ D2 Y9 M& p( G
ask turtles [' k& b  l5 Q/ V9 S4 k  w
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) q3 m  [; i; @
                          set y  Dep / 2 " ^; M7 `5 l; G% q7 ^
           set b  int (who / 5) * 5! j/ ^; A& s/ ~2 c
    setxy ( xcor-of turtle b + x )
' n  ?; x/ m1 |          ( ycor-of turtle b + y )]]7 ^/ d. G  w- l% z' y9 k* L6 b
end
1 y/ r0 m0 K8 E7 ?之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-16 15:15 , Processed in 0.020024 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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