设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7563|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。; G; r  Q8 k4 Y1 Y
2 _4 G+ N6 B) w: u# g
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
. A" Q4 [$ A; P& p0 Q6 b$ K2 A# o$ U2 N9 P' o4 X: R
turtles-own [a b c d k f g h, b" A! _- L3 F$ g
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! R) P, o3 A; n]
% l) }  S( s. `to new
- j2 P  m8 t6 g9 |8 r3 Z2 S  ca
# Q/ A$ ^" k# O* o! p- P  crt 5 * num_of_building0 @5 B. W; T/ f7 G
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* r6 o* }$ i, o& z* S5 i
  scatter     ;;keep center-turtle random positions
6 m- F" S" B* b+ K+ L  unit_plan   ;;make up the building plan
# a1 Y* {' I* P! P0 Cend
; j+ ?$ e# |/ ito scatter
, T6 r' [. ]( `! [& `ask turtles with [remainder who 5 = 0]$ n/ I3 a. {, v- `1 n
[. o  s  s( f9 {6 ?6 a8 T
set xcor xcor - 6 + random-float 15
" H4 _. T, E+ z0 {; H- i; [set ycor ycor - 6 + random-float 15
1 J3 G1 J  S+ b' \% G, }]' H1 V( C4 x+ ~
end9 D8 t) u* g- u3 T
to unit_plan   Q% x$ N* D9 s
ask turtles [5 Q3 S, Z- j. x# M# ]
if (remainder who 5 = 1) [set a who 4 \# n4 j7 D- R
                          set x ( 0 - Wid / 2 )
6 z0 B2 H1 I6 B+ e1 w" M) q2 x( O! q                          set y  Dep / 2 ]
' r9 B( {) x# O           set b  int (a / 5) * 56 E7 K+ i* a; `7 ?; F8 A
    setxy ( xcor-of turtle b + x )
8 K0 e; k8 u( K9 d/ U5 j          ( ycor-of turtle b + y )
% a/ X/ f% Q6 W# cif (remainder who 5 = 2) [set c who3 y. b0 A. A. o" ]6 [1 e8 f
                          set x ( 0 - Wid / 2 ) 2 ^& |$ `8 M0 |7 a; f3 V
                          set y (0 - Dep / 2 )  ]
" O( c! T0 ?3 h- [4 z                          set d int (c / 5) * 57 m% C( @: K* D) I+ ^) I) [2 Q
   setxy   ( xcor-of turtle d + x )
1 t( M( W! g4 {& C4 i           (ycor-of turtle d + y )
! }: ?  V, J6 W- h& p          ) K. \) r$ U8 p5 q1 w6 z
            
4 Q1 K0 T: L. w# U$ F$ I8 m0 ~) Uif (remainder who 5 = 3) [set k who
7 G& W& c4 G4 f% v2 E* Z                          set x( Wid / 2)  ( \' P3 L/ r5 J) l8 M7 a2 S
                          set y (0 - Dep / 2 ) ]
, x+ L( O6 ]8 d( D/ y                          set f int (k / 5) * 5) n, Y& s0 T, P
  setxy   ( xcor-of turtle f + x )6 s% c6 S1 |: {5 }0 ~& S
           (ycor-of turtle f + y )
# f0 _) m8 Q- h! @           ( r4 p( A9 E' m  Q+ z- ^
           % i2 D+ {! f3 [* ^' B" y- u
if (remainder who 5 = 4) [set g who. g+ ?: o3 y( r, K5 [) ?6 s9 u) L* x
                          set x Wid / 2 " v: p) t) J# P) w; z) [( o& T) ^2 X
                          set y  Dep / 2 ]
4 V$ y& O8 b: P                          set h  int (g / 5) * 5
' W3 `9 Q) b- G) \  setxy   ( xcor-of turtle h + x )2 x  p  U7 f, p1 k
           (ycor-of turtle h + y )
) S6 ~0 M  q0 I4 x% k                          ; n2 {; G2 {( E, W+ Y- t4 [2 \% ]. V
                          $ X& v7 G' t2 N0 \5 L' Y
                          ]  U8 q6 E/ M7 w$ V* j( h
end3 N" B1 g- V# I
2 K- x8 O1 p# ?6 f( r
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 F4 S4 m( V2 N4 Q$ S; ]应该是
0 r) E" T6 q' Q+ Eask turtles [
6 ~/ X) ^2 ]% F1 @; lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 O( M% ?  e7 S! C
                          set y  Dep / 2
7 b; c/ m, \' Y7 j           set b  int (who / 5) * 54 h5 h$ R# j0 {) P( _& f4 D
    setxy ( xcor-of turtle b + x )
8 I; L% G7 x% |' M# F4 W$ Y          ( ycor-of turtle b + y )]]
& e; j' {$ F) p7 r# cend- N  ^) P1 M& \* C  Y5 a) V$ S) t
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-27 12:15 , Processed in 0.015575 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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