设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6572|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& p- w' P- M# G6 k9 \3 h

3 ^, e' u" A7 Z; z3 e但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; F% l, [& X# o3 a: U! D
* i: _. z$ b, l9 f9 j+ l
turtles-own [a b c d k f g h
  g; P2 N, T& o7 R  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : ^. b# o* H4 c0 h% y  i
]
" o6 d/ S1 y& d) v5 dto new
8 V$ m6 ~6 p1 d' {! G( k  ca2 i5 }% L( _. J0 g; p* Y% }# M3 K
  crt 5 * num_of_building
1 b; ?! H3 A' Q9 R- X' e  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: L+ K3 E1 x! m  q  scatter     ;;keep center-turtle random positions 8 S) F4 u3 S) K+ }5 Y
  unit_plan   ;;make up the building plan8 I+ t: y  H% n$ ]9 w7 m7 d9 }
end) n1 Y; M$ u, n( ]! r6 J1 Q" _
to scatter! Y1 x6 v' y. @6 _" d+ Y7 e
ask turtles with [remainder who 5 = 0]) Z6 w" j9 C. B9 I3 N) _
[( _) P6 B. K" Z7 \# g! r9 @
set xcor xcor - 6 + random-float 15# ?+ \, @- d4 h) T, D7 Q: z6 w
set ycor ycor - 6 + random-float 154 N1 Q. V3 @; I& h/ `/ d
]
* J3 l/ P9 h1 Nend3 |& |4 {( C# J
to unit_plan
: W* i) a: i! e  y" i" Dask turtles [5 d" P. v5 U$ Y- S4 h* L7 g$ [6 w
if (remainder who 5 = 1) [set a who
  @+ e  b$ j/ f" S. A' \                          set x ( 0 - Wid / 2 ) % I& X- G$ L% m. U- D* n, h: G
                          set y  Dep / 2 ]" K5 Z+ E; ?$ U$ Z( V1 |
           set b  int (a / 5) * 59 w+ @4 l! n/ V2 I* t% @' K
    setxy ( xcor-of turtle b + x )
) @( \6 P0 x/ f" G; d# G8 f          ( ycor-of turtle b + y )
6 r, g2 L1 X9 E7 }' s6 |( ~if (remainder who 5 = 2) [set c who
& T: g& V. U, s                          set x ( 0 - Wid / 2 ) # F! C/ z" \. N2 O5 w1 b
                          set y (0 - Dep / 2 )  ]% p; E& V: G" D! Z
                          set d int (c / 5) * 5% x* _- g$ f0 \5 V9 x
   setxy   ( xcor-of turtle d + x )- f- R$ I4 g$ i$ {
           (ycor-of turtle d + y ) ( i) U, Z/ ~  T( [
         
- F0 ~3 U; t6 p0 ]/ {+ e            : |- a0 }3 O7 M1 _; R. ~% m
if (remainder who 5 = 3) [set k who% V3 z- y* j3 b% W% Z: t9 o
                          set x( Wid / 2)  ) z7 B' P$ ~! v$ Z8 B7 S' I
                          set y (0 - Dep / 2 ) ]
7 L( v* W9 [# C8 ^3 ~& C                          set f int (k / 5) * 5
1 [: i3 [  q  O0 x' p  setxy   ( xcor-of turtle f + x )
9 L' [- J- G. F. C           (ycor-of turtle f + y ) 3 r2 r2 @& _; a. \5 e/ q
           
+ v$ ]# x* [- u! O9 ]; c           5 S/ X# K  K  m% ?; x
if (remainder who 5 = 4) [set g who
/ i& p+ p0 G; I* P, C                          set x Wid / 2 * M" E6 c3 B5 J9 D
                          set y  Dep / 2 ]
5 o3 P: m# [+ |6 C% G# U                          set h  int (g / 5) * 5, P% _" G2 Q$ h9 U
  setxy   ( xcor-of turtle h + x )/ i+ ^7 Y" n" C, X
           (ycor-of turtle h + y )
* _0 B- @4 w* f& G- h) i7 [2 o# d                          
) ^4 i2 d( H) d  D3 R* X- y: h1 ?                          1 G7 C! }; A* e" P$ x
                          ]
. `' o) T" W- d, f; D9 gend
4 E8 k# L/ _5 [9 K4 p8 J' L
( k% b0 ^; p( R2 y7 T! _$ L[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,+ e* F: u6 y$ |2 U
应该是
& k' u( |/ ^+ o# E4 J. G) n2 Z# y  Lask turtles [
( W0 l- d9 e1 Z& `if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 e1 A9 F9 s4 p$ g; w5 I. ?8 w                          set y  Dep / 2
: `7 _2 f$ p$ [2 m           set b  int (who / 5) * 5
) P% g0 Z5 Q  }# s6 {+ m, D! e7 j; k; g' c    setxy ( xcor-of turtle b + x )" ^& E6 [- [+ {/ E5 c7 L9 _
          ( ycor-of turtle b + y )]]
9 E6 w9 }% _$ K  e" N3 Vend. d$ L' K1 h) Z/ N+ P8 s: X
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-10-30 02:16 , Processed in 0.015295 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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