设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8382|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。* C: K) |$ b- D% o, G
8 p$ ]6 A: h0 S; g
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# r5 Q. Z7 |+ l% A: v2 S+ ^- B9 o
turtles-own [a b c d k f g h/ I. L8 y6 C, ~; X
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 6 j6 k1 j2 e  n# Y5 `  h9 x7 q$ X4 p
]1 N* g1 P. s# ^2 n6 g$ p7 x$ h4 {- m
to new
% k* r( w9 _% F( t5 A2 d6 i  ca
5 w2 X! G' z, \7 M1 s) u9 w6 S  crt 5 * num_of_building
+ h2 y- s+ \$ X) B" W2 r4 l5 T  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]8 J) A  r. B0 x: |; n
  scatter     ;;keep center-turtle random positions ! y: ]8 ^, }* u% |  z7 R
  unit_plan   ;;make up the building plan
. y5 L" c, o$ \, Z. eend
0 c# L6 X+ d7 E8 `" @0 dto scatter
9 s% ~* H+ Y/ |8 ?4 {# ~ask turtles with [remainder who 5 = 0]* _( I2 u3 F, N0 V  M* p% G
[1 \3 a2 V1 ~6 A* ^2 ?4 n5 U
set xcor xcor - 6 + random-float 15
) e5 j0 j: L6 B. C) u/ rset ycor ycor - 6 + random-float 15: R: q& J  b" s1 M9 g
]
; e2 Q: \0 A+ L1 }* L$ B4 wend
/ Y+ ?2 T- K; T$ b0 Uto unit_plan
- a" z4 F' H: C. mask turtles [8 {$ f  E4 _# N2 J+ h" |* d! `
if (remainder who 5 = 1) [set a who
" e2 K- I) U% e; v                          set x ( 0 - Wid / 2 ) 2 m1 b( E) e3 r9 E/ B& l
                          set y  Dep / 2 ]* a/ J. K/ L) c7 P0 H- e! z8 A
           set b  int (a / 5) * 5  c% Q0 b6 J" F, ^& k
    setxy ( xcor-of turtle b + x )
: C3 X* ~2 ]' `1 ]  h          ( ycor-of turtle b + y )5 A* {; w- S% w
if (remainder who 5 = 2) [set c who/ D3 |7 r0 x$ J5 v. e& V
                          set x ( 0 - Wid / 2 )
1 |  I7 W& H- \5 Z3 a                          set y (0 - Dep / 2 )  ]
7 Q7 A" K' t7 D; o4 V' E' P                          set d int (c / 5) * 54 L2 v* F4 i4 f: Y
   setxy   ( xcor-of turtle d + x )
1 v* P/ Y% i  D* N9 I9 v+ D           (ycor-of turtle d + y ) $ K3 f7 j0 ^8 v& B( i1 q* Z) q$ X
         
: Z& E, S* Y  `0 |: F            # J/ ?: n) @* [" g$ }  w  R# o
if (remainder who 5 = 3) [set k who6 }+ r: i& k  W
                          set x( Wid / 2)  
3 \% i7 O& q; }6 y# z0 H                          set y (0 - Dep / 2 ) ]
+ y. F$ l  }; N  M' _" ^0 \. p, h                          set f int (k / 5) * 53 D: o1 z- l* a
  setxy   ( xcor-of turtle f + x )4 l' _: n" c& l, x
           (ycor-of turtle f + y )
8 v& L5 F* G3 w; s) [; u) h( X  K! W1 i           2 W) A. J* l* D
           3 i$ @7 C8 S( z( S. j
if (remainder who 5 = 4) [set g who4 b) \' Y8 N- J
                          set x Wid / 2 " ?8 }$ O- p" [. r# u
                          set y  Dep / 2 ]
. Q5 Z% v& R8 U, `                          set h  int (g / 5) * 5) F4 |$ P8 l8 c, ~6 i3 c
  setxy   ( xcor-of turtle h + x )
  L- w7 }, z/ ?  C, Z, G           (ycor-of turtle h + y ) 6 v3 H8 s0 P# ]# r+ ^$ d
                          
. E* W, x" Z! [. I( P+ _                          3 J1 K" h+ H1 Y& \, [
                          ]
. Z6 W3 I7 V; {end1 j& M3 o( p4 J( g. G6 \" a' K) Y; d
6 ]1 x& B; D& r: m2 C5 E
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ V4 x; V  J0 p6 Q+ l应该是& F' F" K8 F" u) ]
ask turtles [
9 A' T4 f. X4 R( l" r* ?9 O$ @6 Nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   v8 V( y, l- @9 S+ K
                          set y  Dep / 2 7 N0 x% p7 N, z; P5 a
           set b  int (who / 5) * 5
/ X- F, [8 ]. E& ~" e! }7 \    setxy ( xcor-of turtle b + x )
$ F1 ?0 {* A# H* \, a9 F          ( ycor-of turtle b + y )]]  i/ A) {9 i1 \4 d3 l0 `; Y
end
1 y( P8 d! v; J( U- c: D之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-17 06:53 , Processed in 0.014378 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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