设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7998|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( P# {+ T  o/ P" e' n3 E
+ `, }$ T6 U, R9 f
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 a; O) r" b8 t, B
! i" N0 k; c( [6 e* C6 F6 R2 R2 h7 o
turtles-own [a b c d k f g h( b& V2 _( d' i& b
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 h4 U) f9 E: v* c
]
: Z6 C$ }* a$ I8 b% q' d1 J: n- ~7 }to new' q: W2 U& o& p! X
  ca
/ `# \7 E# d: j, y6 V  crt 5 * num_of_building
# Q4 ~* ?0 ~; v0 N7 I0 U+ H! T  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ o3 I3 _$ L6 i4 M! i" v, L
  scatter     ;;keep center-turtle random positions
9 ]6 j2 N0 j, M5 [! t1 Y, U. A! _  unit_plan   ;;make up the building plan
  o% N2 k' u0 V, |0 G2 Pend
0 z! Y1 b& d) \8 @to scatter
! c: A  N! o# A4 \4 nask turtles with [remainder who 5 = 0]% @! E2 @! h% J4 S9 ~+ t  D
[7 Q2 b: G% V1 V  b2 U$ o' k$ n
set xcor xcor - 6 + random-float 15
4 O# e4 Y  i3 ^, m" E9 }set ycor ycor - 6 + random-float 15
3 z; {; h% p4 O* [1 _9 P) J]$ V& k3 S1 @0 C4 s4 B7 ?/ r- Q
end4 ]( u0 `& A% E0 O4 a1 i$ }& g
to unit_plan
. \+ V. D) O8 v) E7 Lask turtles [# C- O$ y- |$ c: Y" j9 \! J) o
if (remainder who 5 = 1) [set a who 4 P% C  O$ p# Y# R8 _
                          set x ( 0 - Wid / 2 )
% Q1 b/ D& `5 ^" l                          set y  Dep / 2 ]: a" y; ^# s4 t& \6 J
           set b  int (a / 5) * 5
  f/ x  [0 f( m) A    setxy ( xcor-of turtle b + x )
0 f2 l' I& C* o$ N- T1 r" g          ( ycor-of turtle b + y )
6 y+ m6 F8 N" D( Eif (remainder who 5 = 2) [set c who7 _: z; E0 E3 R8 {
                          set x ( 0 - Wid / 2 )
1 z& {( A6 r, _1 t4 l7 H) W' \; _                          set y (0 - Dep / 2 )  ]9 |, R( ?; s) R* y
                          set d int (c / 5) * 59 ~: l: g; _! q7 c2 m/ B
   setxy   ( xcor-of turtle d + x )
: M* [; K9 I0 M$ l4 _& u7 n           (ycor-of turtle d + y ) 8 l$ N# L2 H6 ?9 w
         
- m9 e' ~1 O: H$ u            
& K1 c  w- H  n3 ]2 P! P7 fif (remainder who 5 = 3) [set k who
7 T# o6 b  j. b% V; B! v                          set x( Wid / 2)  
$ ~# l! f1 ^' U* ^                          set y (0 - Dep / 2 ) ]
% i* k* g  u8 J                          set f int (k / 5) * 56 ]7 y, i6 q6 a  F
  setxy   ( xcor-of turtle f + x )  Y, z) S2 x6 t. _
           (ycor-of turtle f + y ) 7 S  l+ U4 d% a& S: i/ U  k
           
' X& }( p* ^) b' ^2 V8 P           
2 {* p6 r) M$ h$ v* sif (remainder who 5 = 4) [set g who- e  P9 d7 r- R: d8 b) S
                          set x Wid / 2 0 x# _$ h+ ]& {5 X
                          set y  Dep / 2 ]
  M) H8 N" S1 N" }6 u: t                          set h  int (g / 5) * 5
* \; _( G) M! C- X* T  setxy   ( xcor-of turtle h + x )
- W/ n8 z5 E% v( l, k! v- ]           (ycor-of turtle h + y ) 7 ~4 [+ q  {, ?# n
                          1 A+ L2 V' v. h* |; J
                          
  R) f7 s5 s0 Z6 H# v7 l                          ]) A9 g7 Q) K+ u/ l' q; D) m' Y# Q
end
8 ]5 _' m5 v% G0 X$ L9 o/ Y  W3 T# T7 b( a) B6 I( h6 @( V
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 W4 l- p; K+ _. }8 [- T) E
应该是
& u2 T4 `6 F1 h. _! wask turtles [
6 V0 K8 c( [: @) ]: ]if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ; M! y  _5 O* |7 y% |; d8 _+ w2 T
                          set y  Dep / 2
0 s9 ]) m  G0 P0 U' P  s" P           set b  int (who / 5) * 5
1 q9 I2 _# P2 `* B) Q8 K    setxy ( xcor-of turtle b + x )
! P8 E8 k3 ~' y5 e$ A          ( ycor-of turtle b + y )]]' X5 E, E; |% h% B2 b6 b
end
( O: X5 f% h3 i之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-27 04:32 , Processed in 0.023596 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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