设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7808|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& ?* a# ~+ z4 }/ b
% t& d1 g2 T/ R8 ?: }6 M. a7 I3 l但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- B+ Q6 Y5 N; o! w' _
8 k4 q, o$ S/ q# o% N3 Eturtles-own [a b c d k f g h
, X1 I" G5 b& A* m' k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 7 R9 u8 x/ y1 p! b/ T$ ]3 |* {
]
: R. `- B2 I% [2 Jto new
: [6 U6 k4 m6 t' G! d! _3 S  ca
& I8 Y1 W" _* R$ W( E3 Z4 D1 [  crt 5 * num_of_building
. s% t/ Q8 z+ h. m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. U, }  q& Q4 J% I' `1 h% N
  scatter     ;;keep center-turtle random positions - r& j2 C1 ]1 t3 q' x( \
  unit_plan   ;;make up the building plan
6 p3 T% _. D) E1 Eend/ A5 C  K% \" n
to scatter$ i# k8 E# [( e' X& n! g6 i6 }6 }
ask turtles with [remainder who 5 = 0]2 P9 [8 J- p# @4 V- Q" L
[
' ~+ ^( K$ m* y5 b; |set xcor xcor - 6 + random-float 15
3 L3 K* u$ ^) ^( |& {set ycor ycor - 6 + random-float 156 _0 _! v! z$ B; e, K
]. T8 l* ]5 w2 o& q; @3 Z+ F
end7 S3 j( r3 i& H0 V# U
to unit_plan
$ ]+ \$ O4 p& l' E6 v5 N) Yask turtles [2 z8 t" {5 u" U3 ~- k- Z) j" @8 Y% M
if (remainder who 5 = 1) [set a who 4 z; n1 Z% s8 @, o
                          set x ( 0 - Wid / 2 )
' \# a- ]; a: E  j                          set y  Dep / 2 ]3 A# F- O. C) c
           set b  int (a / 5) * 54 H, G, f: t% }  w- }
    setxy ( xcor-of turtle b + x )" [7 F2 H" Z0 [4 V
          ( ycor-of turtle b + y )0 x: t, c$ H7 I4 p  u7 C! [4 q
if (remainder who 5 = 2) [set c who0 h9 K* B! X  e7 b5 J6 U
                          set x ( 0 - Wid / 2 )
, w2 g8 W9 F9 D$ C! a' [' n                          set y (0 - Dep / 2 )  ]; U. ]1 w" ^( C! W. E
                          set d int (c / 5) * 5) N. k1 n1 P* u4 e- ]
   setxy   ( xcor-of turtle d + x )
' o# h8 H' Q) P8 j5 D, j% a           (ycor-of turtle d + y ) . F2 }) M7 J; N1 V$ c) S" Z
          9 x* d: F: T0 s2 @5 z
            
4 S/ y" k. C- yif (remainder who 5 = 3) [set k who+ q& p& e+ U; B8 c
                          set x( Wid / 2)  ; T9 [+ d( l$ v0 t' x
                          set y (0 - Dep / 2 ) ]7 U) n* i) I* k$ y6 ]6 |
                          set f int (k / 5) * 5
' n" _9 e9 |( y. `4 n  setxy   ( xcor-of turtle f + x ); D; s, K2 [# s+ u0 l
           (ycor-of turtle f + y )
% B0 t6 G, B1 F! `           
$ f3 A, O3 w) `( s/ y           
: P, ]) G+ l- i7 }if (remainder who 5 = 4) [set g who
# ?3 ^4 m* U" Z4 \                          set x Wid / 2
4 @; [; r9 _0 b6 r, p                          set y  Dep / 2 ]
5 c3 n; X% E- ~) Q! i- Y) l7 R                          set h  int (g / 5) * 5" D% F+ g+ o  X2 i7 Y4 G
  setxy   ( xcor-of turtle h + x )2 g" X4 h. q6 P. Q% u
           (ycor-of turtle h + y ) 0 E/ I$ d) T3 ^+ h# g8 h3 H
                          ; G% x0 e$ J* P. R9 Q. L# o
                          
/ P7 v$ _( G# d: [# ], v& w                          ]% O% W, N  V& I, z* d5 `( Y9 _  I
end  P* I: _' N" v5 H/ L3 J9 L6 R  H
: [, s/ F9 }+ m3 d0 D
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 A* p# @% ]. l4 J4 w
应该是
* G. b* a/ ]1 |  U" G* l' Yask turtles [
; b, w* a. V+ |" w) _  l  k9 zif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
0 e( N. c  s% S( D( P                          set y  Dep / 2
. \' n9 V0 {. S0 v+ S1 W* E& l           set b  int (who / 5) * 5
' m5 ?, p! M$ N    setxy ( xcor-of turtle b + x )
( n: P5 L' ^  _% X$ t          ( ycor-of turtle b + y )]]
0 b$ j3 F7 S! [& e' b# t2 kend  Z) p  u! a# j" ~; y
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-3 22:50 , Processed in 0.018042 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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