设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7580|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' D7 w9 \* ]/ o5 i5 q0 [3 g9 |! ]$ Y
6 x: M3 f- @" E5 v- e) i9 K" J' k但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 i; [4 j" G" `7 h( H
' Z, R7 @; Q' z: g# z: r
turtles-own [a b c d k f g h
5 k) i% q  u  G  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
9 z/ D& i- W  n- W7 E/ @]
! K5 q6 P" L1 N: O+ F9 H( uto new) O" b- L1 o4 M  d
  ca/ U  ?0 f+ |0 k" W! }* X  m/ R0 h- {
  crt 5 * num_of_building
, ]4 V2 s( G# U5 n9 l# S, D  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 e) j7 U) _! r* X% |% c  scatter     ;;keep center-turtle random positions
% \/ w$ L% f! c% o; Q8 p  unit_plan   ;;make up the building plan
3 F$ f9 S$ U, R9 i% {" i6 g3 iend
5 w' C+ i# H( |# l- A- Wto scatter
( \9 c+ x1 g" }! ^- `( C2 x, E& sask turtles with [remainder who 5 = 0]
. Y- H: J( B7 N+ e2 m, G) V% c[, z: s; F) ?$ i1 W! E( a
set xcor xcor - 6 + random-float 15, a' S4 c+ k& h! \: |) p9 V! P
set ycor ycor - 6 + random-float 15
# j: g/ e3 M2 V& f# E/ {& k]. @* \4 h/ a+ j; A( `6 `
end" l( w. `' @! B9 d
to unit_plan : z( }; C2 z6 l2 d
ask turtles [) e0 A& |6 R# D
if (remainder who 5 = 1) [set a who * O5 d; n$ W4 J5 [9 _2 k
                          set x ( 0 - Wid / 2 ) 6 O5 j4 A: {. ~
                          set y  Dep / 2 ]" U3 |1 k2 W5 |8 C# D( y/ o8 y, v
           set b  int (a / 5) * 5( V4 k+ {- g+ f
    setxy ( xcor-of turtle b + x )
& D: }" N0 w- q# C$ K- @& o          ( ycor-of turtle b + y )+ `; ^) V2 x* A5 y  a. \* ?
if (remainder who 5 = 2) [set c who
( D, V0 f6 c) ^  ~+ Y5 Y                          set x ( 0 - Wid / 2 ) 4 k% j" t5 J. p* n/ J' y( z& X
                          set y (0 - Dep / 2 )  ]( j5 S) Q* u. C) b# A
                          set d int (c / 5) * 5
/ k/ a3 J  H: P- i# V7 g. x   setxy   ( xcor-of turtle d + x )5 Y: h" r/ j# j2 P
           (ycor-of turtle d + y )
0 X# d* e# Z5 h# c, s         
& D1 C6 G3 r( Q( _% z; h            
' a% A; q7 B/ T* d( ~if (remainder who 5 = 3) [set k who( T4 L1 J% r1 f
                          set x( Wid / 2)  
6 g  a, z1 ]. E4 m                          set y (0 - Dep / 2 ) ]3 g/ D' S- A9 T
                          set f int (k / 5) * 5
& U* R0 o& g' ?" N- ]  setxy   ( xcor-of turtle f + x )- G0 p5 o/ v6 ?0 u6 H7 D
           (ycor-of turtle f + y )
4 e/ D1 m1 U: h) j4 P6 e# K           - r6 @  r" ^* t( q$ r4 V- p
           8 g1 f2 ?9 e% f" z9 Q: g: G
if (remainder who 5 = 4) [set g who
; P! v, f% ~- v  n# v5 ]                          set x Wid / 2 ; S; Q9 n5 K4 I1 \. ?" Q; e
                          set y  Dep / 2 ]$ {0 m% K3 S) _. s" V; s/ y
                          set h  int (g / 5) * 5) a2 l5 z  ]! @
  setxy   ( xcor-of turtle h + x )
6 Z3 L% @: ~8 A# g9 M           (ycor-of turtle h + y )
3 r6 f3 H" G, x. @9 S6 [. B  h                          
9 k; J+ h4 c) K$ f! _0 T                          
/ {/ b7 \7 O7 T                          ]
6 Z9 ?, Z' c" w$ jend
1 ~; v; V- i4 N& X. {9 Q0 P1 ^/ L7 T& s- X0 Y7 _. G
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,3 o# ]8 U) _$ j) N- H
应该是
/ A1 j% G* f0 I# D' |2 q" Fask turtles [
+ ~1 d% _* ~" ^3 C/ X% qif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ G* x# O4 j, s. F                          set y  Dep / 2
5 t$ w4 h+ L& g! B# K" w2 r4 _           set b  int (who / 5) * 51 t$ V/ ]& ?5 T2 v- I. Q- q  u
    setxy ( xcor-of turtle b + x )
6 z, o/ j- d+ _' `  P' V  W          ( ycor-of turtle b + y )]]
! u+ S9 p! J$ X1 Q0 U8 lend
! b2 ]! Q% n  K* n0 q+ |" V$ }3 {之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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