设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7640|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. |+ h2 |- z/ b3 L1 o+ X! t' W" h5 [0 v; \
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% t) ~& u) e& U- M( w; ^  o- n! q
- `- H- n0 Y/ O% [. d) `turtles-own [a b c d k f g h/ P9 c4 N* J& t! R2 {4 G3 [/ `
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % X  ^- |# A2 ^( Q
]
6 ^' P  S3 k/ Jto new* v; f: H2 _: n/ \1 D  d2 g
  ca0 F% N* R. R9 G6 s5 M# j
  crt 5 * num_of_building
; L; w+ V* w  K' P) p  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]3 v2 Z& K8 W9 V! Z+ [
  scatter     ;;keep center-turtle random positions ' n: z+ w, E* X1 K
  unit_plan   ;;make up the building plan
$ a" X/ y, D& R, d( h  {end/ a$ \: n, q1 x; y
to scatter
9 o! z) i& a5 {! }/ K( nask turtles with [remainder who 5 = 0]
2 {/ r5 i3 z  R2 I2 J[/ `% t8 q. R" ?! ]: R. a& L% H1 n
set xcor xcor - 6 + random-float 15# R1 N. D0 J# ]' U3 p& M6 ^5 K
set ycor ycor - 6 + random-float 15
& v( v/ A* s1 N5 v% p9 _: k; e) I* g]
$ r0 n4 t- `- A% p. O4 Eend
+ B  @; R3 @5 U, Xto unit_plan
; I9 H4 F4 Y* D$ A, f' @ask turtles [
* F  F, W* c! b) s6 y% [! x6 d$ gif (remainder who 5 = 1) [set a who 6 o- n5 }+ z  `: V6 y& E
                          set x ( 0 - Wid / 2 )
# n. H5 M7 {4 g+ H# W                          set y  Dep / 2 ]
2 p! z" J, I+ p4 k; |/ ]           set b  int (a / 5) * 57 x9 q0 \" v) S5 y) V
    setxy ( xcor-of turtle b + x )6 J& b; s  }  j; f8 L8 S
          ( ycor-of turtle b + y )
! O8 X& e, L/ A7 `if (remainder who 5 = 2) [set c who! @. ^: ~8 @& ]' d/ @
                          set x ( 0 - Wid / 2 ) 3 _7 l# J0 W* T" O/ L& ?
                          set y (0 - Dep / 2 )  ]2 h0 c* i9 u3 O& k
                          set d int (c / 5) * 5* m# D( j8 t. N; ]& m5 c( \/ r
   setxy   ( xcor-of turtle d + x )
' w+ w9 u9 `1 H& m% Y( S           (ycor-of turtle d + y )
( m4 g" I- O. T- Q  W8 y1 C          , p2 M  P; N0 D7 o6 ~6 T
            4 m- B/ X$ y4 e7 n$ j# d. o) f4 C
if (remainder who 5 = 3) [set k who: G) Z& ]0 a  B* m" v' a8 n
                          set x( Wid / 2)  - q$ w( I( W  Y" {# K: E/ y
                          set y (0 - Dep / 2 ) ]
  {% X. V3 S0 q% g: M% P: c" d                          set f int (k / 5) * 5) b: E' z4 y' G8 a
  setxy   ( xcor-of turtle f + x )0 c- b% R2 E; T: d. `
           (ycor-of turtle f + y )
0 k' I' i. s8 R2 P3 q           
) B' b1 {5 C: Z! ^& W6 P3 q; O           " k# C* _2 q0 R. _* v; F2 r# s
if (remainder who 5 = 4) [set g who
. l1 b' h7 Q: X. A0 F/ {                          set x Wid / 2 8 ]8 F. W7 [5 `
                          set y  Dep / 2 ]6 d% J' B) y& s8 f7 L" F9 s2 k
                          set h  int (g / 5) * 52 T0 k: t/ l/ C$ j' o5 y
  setxy   ( xcor-of turtle h + x )
3 l7 T2 D5 c4 y& ~1 P) H           (ycor-of turtle h + y ) 1 A8 b6 x1 `( n! p) v0 O
                          
. J& ?* H7 p6 _" K% C                          
: _  }( N- u2 C/ c0 d/ N. b# G; R                          ]
5 p& D4 [6 G% `  h+ c1 eend
) l: V5 P& V8 j, u1 c
& {; b" n3 r6 o" w: K[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ z' H+ G0 T3 D应该是
  I- z, d7 [8 Q! h2 c6 v5 A! Hask turtles [
; @% m! ^" M6 c% P5 Q4 e5 X% j8 Aif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 }0 n, D2 Y3 i* F+ c' @
                          set y  Dep / 2
: A+ p2 J, X' C5 I5 a           set b  int (who / 5) * 55 z- }( r  F% k( E1 G
    setxy ( xcor-of turtle b + x )$ E( N' }9 X! Z) j
          ( ycor-of turtle b + y )]]
) w! C7 x# w5 [end! Y0 V+ y7 N/ p5 k" e% A
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-10 02:09 , Processed in 0.013699 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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