设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7185|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 x* p; s# Z% X6 _: ~6 H

4 \( f, Q0 h4 o8 e+ j- |但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ {' G, f4 N9 o: P7 E1 J

# A6 G* \. {2 q1 D' g- I% w+ Lturtles-own [a b c d k f g h
3 Z9 b. K; D  U. E  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ( L( C5 t. y/ C# {
]' |, m; j- O  N
to new
  w4 l, X0 y+ x) P7 ^, n  ca! K/ v% k: O* ^2 Y
  crt 5 * num_of_building, v' ?( `: P( ]- v  z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 r% j4 M5 u5 I" B7 \4 v5 _  scatter     ;;keep center-turtle random positions
" o; Z8 a7 R3 F6 `, T# A  unit_plan   ;;make up the building plan
1 w+ y0 H8 |* O+ Z; u* K5 uend
4 ]8 t' E- {6 o; {9 U* Lto scatter
* I+ C2 c* ~& c! [4 eask turtles with [remainder who 5 = 0]
8 v5 a; d  N! u) B8 `[! K) [+ ?' U' C, a: X' W  g
set xcor xcor - 6 + random-float 157 C! e8 d4 ~) g: C% ]; r- s
set ycor ycor - 6 + random-float 15
. R. ?, d# r+ ~% K9 W: t]" A6 b# ?6 {1 W9 X2 ]8 F  f* Z
end
% b% }: a1 {  |* a6 \to unit_plan , N( s- t  K6 v* m
ask turtles [
% _4 Q' l5 W% [0 }; Rif (remainder who 5 = 1) [set a who
: `* G3 \, S$ J/ z                          set x ( 0 - Wid / 2 )
: ~6 O; H' y; ~9 P% x/ u& S3 `                          set y  Dep / 2 ]
# m  C: e4 H8 |0 X" y/ `           set b  int (a / 5) * 5: w/ @8 n( T6 a8 p% N
    setxy ( xcor-of turtle b + x )
9 ]$ i! r' ]3 o. T" H          ( ycor-of turtle b + y )
" M1 ^" H, d$ {( Iif (remainder who 5 = 2) [set c who
: Z  J4 W$ p5 T& i  s( h; J8 R. v                          set x ( 0 - Wid / 2 )
# f& B; h+ r( q  R: }                          set y (0 - Dep / 2 )  ]
* I- i2 Q0 T# M( F7 ~                          set d int (c / 5) * 5/ Y% ^! |$ F! U$ J* O7 i
   setxy   ( xcor-of turtle d + x )' `9 z2 f( b# L
           (ycor-of turtle d + y ) & l, w7 x' d# b' L/ r% B
          $ m4 N/ u' V' g
            ) A' W: p2 l1 @/ P( r2 v5 @4 A9 n9 G
if (remainder who 5 = 3) [set k who
- h$ Y9 g, a1 E" l$ Z2 \- w                          set x( Wid / 2)  , R8 \; b( y, @7 S" S) ^4 `8 U4 A
                          set y (0 - Dep / 2 ) ]
" v. s6 a. q9 x* Z9 s, q4 ^) d1 e                          set f int (k / 5) * 5+ H" n; e6 a7 @  C' u4 ~
  setxy   ( xcor-of turtle f + x )
& b$ C* n1 ]8 d. A0 e           (ycor-of turtle f + y )
# e* e, V) u2 x! _+ R0 ^           
) ]4 G0 f: }- c6 c$ ], p9 U           + T* v' Y% l# F
if (remainder who 5 = 4) [set g who
1 o6 j  T# A: ?$ ?, Y$ \4 P) @                          set x Wid / 2 . Q3 f5 v' {& _4 k3 {
                          set y  Dep / 2 ]1 s% _$ k* i, V' c: l. r$ @1 ?
                          set h  int (g / 5) * 5
/ l8 K2 U: A7 C! y  setxy   ( xcor-of turtle h + x ): k- s/ }) G; h! H$ g! c5 @
           (ycor-of turtle h + y ) ) |7 P' O8 k9 }
                          
% X: b, C3 C8 h5 Y# Q  ?% k                          
1 |/ ^# A# ~( o( Q# g, }                          ]+ o5 _; t) A# Z+ b
end
2 ?, |' U* ^' ?* h: n' i$ N& m  _( m' c: P2 G* k  \' |- H
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
; {; z" i3 [) d' L+ K应该是1 X1 Y+ g9 ?! l% [6 _
ask turtles [
5 y9 v8 O& v- i( P. C, Iif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' B5 o' h- f) W# x; o5 {                          set y  Dep / 2   T) D: F# M+ d7 s! M
           set b  int (who / 5) * 5+ T4 `1 J9 U, R0 _) {# C
    setxy ( xcor-of turtle b + x )
8 ~4 C# ^2 l4 A$ ~          ( ycor-of turtle b + y )]]) k  x  ]: X5 X$ ~
end% d$ p$ F* b% Q6 J* M" r; _+ A3 k; w
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-14 17:42 , Processed in 0.023640 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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