设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8891|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- B8 {9 W) \9 ^) i3 m2 R
; w$ G3 V9 q& H8 Y) u3 ^+ @但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。" F3 t/ x3 |% i+ x! j9 P
' f3 ~9 e8 r/ x3 v
turtles-own [a b c d k f g h
, I" L" b  c8 ?9 w1 _* s  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
' Z7 J5 [9 p" y2 t/ n) a]' \1 q% m0 A. f  B$ B$ n4 V, s
to new) E* n% d# V1 V# `# z8 g4 Q
  ca
3 b9 S; i7 A# ^' G5 ?$ [1 Y% h$ Y% R  crt 5 * num_of_building
# Y# w# @; Z7 W, J  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 O9 v" H& l9 W& S, t  scatter     ;;keep center-turtle random positions ' o+ s! }6 b4 ^8 A; `/ i/ r6 {
  unit_plan   ;;make up the building plan
6 s3 S6 I% G8 e+ k4 A6 ~9 M  uend* A! D; `9 e+ X2 ?6 X7 A& w2 K
to scatter
& B+ @, v' p& f9 Gask turtles with [remainder who 5 = 0]
& z6 d" O2 X) w$ Q0 O9 g[9 x8 O: w5 u1 A
set xcor xcor - 6 + random-float 15& I% e0 f' o$ V4 K* r, R
set ycor ycor - 6 + random-float 15& p1 w' i: t) l7 R# l+ Y, O
]8 Z9 a8 a7 @# q  \, g5 g
end8 J/ H( A; H6 g) a
to unit_plan
) C8 _. t# u2 Rask turtles [
/ H) O: ?4 ~& B5 R' I# r, g3 vif (remainder who 5 = 1) [set a who
# c1 q* }% ?. [  B4 \/ K3 M/ e  b                          set x ( 0 - Wid / 2 )
* {1 a7 H6 [* R6 _                          set y  Dep / 2 ]5 l* @7 U# S& z2 r
           set b  int (a / 5) * 5" l+ k' \! G7 ?+ S- `
    setxy ( xcor-of turtle b + x ); U7 y# E" ?6 X% a/ `% n
          ( ycor-of turtle b + y )
7 j% q& [* N! @& t" Dif (remainder who 5 = 2) [set c who* F- e8 G$ d. l+ B) Z+ |
                          set x ( 0 - Wid / 2 ) + W' S- x8 k" u# p- e* c9 x0 k
                          set y (0 - Dep / 2 )  ]$ R& L6 w# S3 K4 A" ?
                          set d int (c / 5) * 50 U& S/ _9 i, E; J. S. \, f
   setxy   ( xcor-of turtle d + x ). S2 G( U- I! ?- k" i
           (ycor-of turtle d + y )
% u  k, b/ W  p2 a6 ]" a3 O1 _         
- ]4 V, z" ^) q0 {5 ?8 x            
; ^) P( t; q8 m/ P5 ~, T' Pif (remainder who 5 = 3) [set k who
. a" i: b3 t7 \0 i! T                          set x( Wid / 2)  7 H: y. D  K8 q, o
                          set y (0 - Dep / 2 ) ]
- D' `. U# ~- }8 X# N                          set f int (k / 5) * 56 e- q, k, N+ H
  setxy   ( xcor-of turtle f + x )- P* T! z0 E$ M3 m
           (ycor-of turtle f + y ) ) Z$ _. i; R+ [2 H' D: Z9 y, ~
           : L; E7 e* i+ p9 Y' g1 h( A
           : s: B, c% o! N+ g
if (remainder who 5 = 4) [set g who
9 n9 m8 m0 r  S$ T" U                          set x Wid / 2 ; e- p$ ?) \, Q- f- V& g% e
                          set y  Dep / 2 ]
* u5 Z5 P- R3 `- K* q                          set h  int (g / 5) * 54 @2 t* ]0 D8 w2 _! d
  setxy   ( xcor-of turtle h + x )& W! L; G" j) ^* y3 O' ]
           (ycor-of turtle h + y )
3 v0 q6 d* h! C$ t2 N: d                          & i: E% {2 ~  F% m/ r
                          5 N( _  A9 m1 j! F3 X* l
                          ]% }# j3 ?8 A, W$ k2 a
end  i. z' y; W: j4 r( d' P0 s
* o! e9 w4 f  K/ R- W2 b/ V
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ s: ]# Y3 b5 z8 _2 Q2 Q
应该是$ o8 p- N3 [- a' k
ask turtles [
  V8 [$ B  o/ Q) Z5 o6 kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) / \  Z# B9 p, ~: I; F2 X/ s( m
                          set y  Dep / 2
/ n6 v9 J. B$ Y3 S; U5 o) T           set b  int (who / 5) * 5
$ C9 _: X7 t  S7 Z4 C    setxy ( xcor-of turtle b + x )3 S9 G0 _& l% q  O; x* ^9 l1 X
          ( ycor-of turtle b + y )]]
$ z, z& L! w& U4 N- t0 Lend
$ S9 C! n% u! W0 L之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-18 04:42 , Processed in 0.016720 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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