设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7496|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。, _5 @9 V8 A; s/ @& L" z$ N

# G6 d: V3 v, |但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  c  J* I$ U1 w' q) x% x  V/ ?8 W' ]" l
turtles-own [a b c d k f g h
( G( F, U! u9 B; @0 U  x y     ;; these are the leaf-turtle's offsets relative to center-turtle & u2 U$ D/ J* P7 R8 O  q2 {
]  z0 o2 k- n5 N1 r- C5 q
to new3 d1 ~& x, [" f5 t; `. j
  ca7 E( }: R: f( J) |; I2 m/ y- U
  crt 5 * num_of_building
, @" d5 Z- F4 M7 t1 R" u; ]  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" B# y# W# U2 d1 B6 v
  scatter     ;;keep center-turtle random positions 6 d; }. U, w! p+ D2 N. R4 |! N- h* C8 F
  unit_plan   ;;make up the building plan8 t* m& {& J) k
end
, k' e# y1 j! u8 hto scatter$ C1 e/ D' `' @
ask turtles with [remainder who 5 = 0]+ w& |+ {* A. `7 u* D% S
[
8 A3 d, r' [8 n9 {( V9 y" iset xcor xcor - 6 + random-float 15
+ N& ?! H& c9 n7 E1 pset ycor ycor - 6 + random-float 15
, L  u# w6 C2 M* e# r! G* N]: m6 a) l9 @9 u4 z
end
6 a- K) N" L* v& Y) m" ~to unit_plan ( A' z0 f  @% U& `
ask turtles [
; T# l  ~- y5 l! l. w. V1 r" hif (remainder who 5 = 1) [set a who
  s: f" @! |8 h5 ]: S1 X$ P                          set x ( 0 - Wid / 2 ) $ a' Q; d6 r: l7 r( {9 ^9 _6 n
                          set y  Dep / 2 ]5 `+ {6 H! l" {, D7 J
           set b  int (a / 5) * 5" u9 p% c  V/ G# A
    setxy ( xcor-of turtle b + x )
: k! X. @# P2 g* I; _$ \          ( ycor-of turtle b + y )
1 u# a8 z" k  }. J; D8 |if (remainder who 5 = 2) [set c who; z$ }' i& b$ g0 u
                          set x ( 0 - Wid / 2 ) 2 E  [9 s+ s/ x  |
                          set y (0 - Dep / 2 )  ]; U7 Y0 d4 n# c! ^# z4 @1 _
                          set d int (c / 5) * 5
% h& {7 n" o6 |   setxy   ( xcor-of turtle d + x )$ v7 h8 x% u7 [1 \" ^) l( k
           (ycor-of turtle d + y ) 0 r% R0 `2 k9 A, R+ e
          ) l4 Q9 Y' h) _  x* P+ j) ^* Q
            
( o/ L& o0 L  D) d) Qif (remainder who 5 = 3) [set k who7 k4 h' W* k$ Y) n/ F
                          set x( Wid / 2)  4 v1 f- l& R& F. |8 R
                          set y (0 - Dep / 2 ) ]
2 [, Q2 H& }6 B8 \                          set f int (k / 5) * 50 D. B3 l6 X  Y$ E) t! R3 |
  setxy   ( xcor-of turtle f + x )- `+ }* p' s( ^1 X) ^0 ]2 w
           (ycor-of turtle f + y )
. R+ I& N4 L* m5 K" V# A           
) v2 H* q! ~: V           4 S0 b% d9 g0 j9 u& b+ `3 ^4 n* O
if (remainder who 5 = 4) [set g who. C9 z0 t; Z( p) L" U" j7 y( [
                          set x Wid / 2 9 p( P: q7 k4 o
                          set y  Dep / 2 ]
1 w  C# ]) H, I/ D  S4 ~/ F* E                          set h  int (g / 5) * 5
( q% Y1 b% p4 r# n  setxy   ( xcor-of turtle h + x )
3 e0 D2 _* a  ~4 ~/ L           (ycor-of turtle h + y ) 0 Y- w  @. @; J( q' E, e! O6 |
                          
) P1 M0 Z! l" M; ?                          
5 y, [' h/ [) X* a9 G! _- K) G                          ]7 b( K& ?1 `( u8 H* l* u: z+ H5 \
end! S( q5 l' m: x0 t2 e; Q; I6 M

+ x- S- S6 b4 V: i- g[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& |- @* D" d8 O$ }) X
应该是  F! V1 p3 [; b1 _9 X+ A' x
ask turtles [+ X- {- u. d5 w; b0 p* T, d  G
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 `% ^" s6 s% ?1 N7 x* Y* ~/ H
                          set y  Dep / 2
) J$ h9 I8 r6 U& I           set b  int (who / 5) * 5$ K( [6 f+ T, e
    setxy ( xcor-of turtle b + x )
: H. g  Y; {% P7 f5 N" T          ( ycor-of turtle b + y )]]
# h# o' \2 J; v/ a' N, ~end" [, C& c$ f5 G/ `( Q+ P6 L3 K
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-18 11:34 , Processed in 0.016500 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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