设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8672|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。* \  P$ R% p9 v* L) H+ I' D2 |$ {

( x, n2 F9 J. x4 S+ [) a" V1 b$ l0 u但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* I! T. _2 R& K
! k9 r3 Z, {+ S" `
turtles-own [a b c d k f g h
5 X; N. p2 ?* p9 x: f7 ]1 @  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 7 n# a) U9 E& \1 a
], |$ l8 n9 b$ o( z5 [
to new1 K& o# o( F3 g4 y/ S8 M* s! Z
  ca
9 R4 F- A5 C3 T  crt 5 * num_of_building; _0 D6 N6 L1 @7 v2 M& ~; s0 Q6 S
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], G- U- q! b0 o2 E' H- `
  scatter     ;;keep center-turtle random positions 0 m, b. G0 {( b2 N7 S
  unit_plan   ;;make up the building plan6 {1 ?9 s" ]6 M" T+ ]4 J6 F
end7 a! Z# B" d* a
to scatter( h8 C$ H3 g' E% {% N6 x  l. S! T
ask turtles with [remainder who 5 = 0]* y( ]# e# ]! o
[
* e) }! X6 F4 R: C/ F. k; H, Rset xcor xcor - 6 + random-float 15) S! ?9 C* g* ~0 i" A, {4 L
set ycor ycor - 6 + random-float 155 f( j0 g0 A1 a: i  B2 o- ?
]
- H- L+ ?  Y8 Send
4 S$ x5 B5 C9 cto unit_plan ' |5 Y' V+ f! Q" a
ask turtles [; x( p3 N, A: C/ |6 f' g& o
if (remainder who 5 = 1) [set a who
6 t( X) ?0 e7 Y( ~9 G6 s                          set x ( 0 - Wid / 2 ) 2 t$ y# l5 ^& d2 x/ w* g
                          set y  Dep / 2 ]8 O- _" _( Q3 P8 w4 ^
           set b  int (a / 5) * 5
: ]& S8 j( Y: }! I' _    setxy ( xcor-of turtle b + x )
5 Z' D( D: n* b1 r3 q          ( ycor-of turtle b + y )
, N& n2 ^6 r8 V/ M* X% _; [if (remainder who 5 = 2) [set c who
& t1 U2 {* |1 j8 P' N                          set x ( 0 - Wid / 2 ) ( w/ n; P, f' M4 j! |4 s
                          set y (0 - Dep / 2 )  ], h% `' K, s( d5 H! j& @
                          set d int (c / 5) * 5
4 G) Q! S3 e/ I   setxy   ( xcor-of turtle d + x ); i6 |- i- s, m% y1 u6 y! H
           (ycor-of turtle d + y )
* W4 J+ G4 q, N4 q( L& E6 r         
. [0 c' J& e' m: T( A            ( K/ m6 q7 }9 P" ?: o! l
if (remainder who 5 = 3) [set k who; {8 f. _8 j- b3 [
                          set x( Wid / 2)  
6 V  U. S8 k9 B; C                          set y (0 - Dep / 2 ) ]
  p8 Y5 F3 ?9 h! \                          set f int (k / 5) * 5
7 Q  R9 S" I- E+ L, F/ v; O  setxy   ( xcor-of turtle f + x )0 Y* o. s) m% S/ |& `) E1 l) ?
           (ycor-of turtle f + y )   V2 z% `4 w; ^% a+ t( s
           ! w6 C/ t* o/ U- c- [6 o
           : O& e( z1 N" u! [7 c3 v5 b
if (remainder who 5 = 4) [set g who/ @$ Y+ c' M: s8 n
                          set x Wid / 2
, e! k3 w2 S8 r) a" T                          set y  Dep / 2 ]
5 G9 U. `) T2 g% \                          set h  int (g / 5) * 5
4 f( O; R) Z9 G  setxy   ( xcor-of turtle h + x )
0 T5 z' d1 J0 `6 P0 F3 B5 ~           (ycor-of turtle h + y )
3 W7 j" @, n- P- A/ O4 [5 a                            A1 G1 [" j8 W& M9 l) D
                          6 }  m4 O/ |* |/ Q
                          ]
; E  S2 L+ z. `, Send
, m% x7 @' u3 b+ L7 g6 J' N3 H0 C- L" z4 O- I
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% `# E/ ~% d0 K1 m+ x: T
应该是
$ X$ ^4 w3 ^6 q$ ]6 sask turtles [
# Z6 }" U$ ]6 jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) & k* E# u' ~- a
                          set y  Dep / 2 9 b% Y, b" K! ]9 ~9 ^1 v. X! E, L' j
           set b  int (who / 5) * 50 P9 v/ G" a6 P$ i! F
    setxy ( xcor-of turtle b + x )
6 D; V( q6 T9 \- d% v, _          ( ycor-of turtle b + y )]]
- _) b, d  Q) ]2 @, Iend7 _7 e9 {5 ^2 R  ~
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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