设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8877|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 ?1 V- o! L0 P; G; @# f  ^/ x* _) M1 d1 W* M4 L
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
& y" E1 d2 K9 Z( P, v$ u! s$ \" }5 I9 }# l3 |1 |( v
turtles-own [a b c d k f g h4 t* l' u' h( G, Z; V9 Q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% L7 l0 T! Z* h4 z& v]
1 N4 @$ a: Q9 Q+ u3 j% fto new
% n9 t2 i: e: ?, J9 s3 h  ca# |  v5 L/ X) B0 {8 m! J( n* H3 d
  crt 5 * num_of_building  A+ T6 x. ^8 E% {: K
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 @3 v3 r' v* Q  scatter     ;;keep center-turtle random positions
2 _- c+ V3 U' `* C! [  unit_plan   ;;make up the building plan5 p0 Y/ ?2 u. [+ s0 B
end1 [7 r8 r5 L/ e
to scatter
6 j  e+ v4 t9 S1 s3 zask turtles with [remainder who 5 = 0]* d" L% j! ~! t3 ?: t4 K
[4 J  s6 ~: v- T- }; d9 }/ [
set xcor xcor - 6 + random-float 15
4 J2 A- ]4 V6 H0 J6 M+ V! i5 kset ycor ycor - 6 + random-float 15
5 v1 ~2 u! u, t3 T$ x]* k/ e( ?+ a3 ~3 ?: ]# ?
end
0 }3 H1 M- P2 w  \to unit_plan   E; ~2 g- j' @
ask turtles [
9 b& ~8 U8 C& S- |/ ^if (remainder who 5 = 1) [set a who
/ ?6 i/ ?: A  N$ f( r) v                          set x ( 0 - Wid / 2 ) # x$ m2 W( @9 h. x8 Y
                          set y  Dep / 2 ]
: \4 y& R$ d1 b           set b  int (a / 5) * 5
' P8 ^" M5 u5 O- r+ W    setxy ( xcor-of turtle b + x ), v) |$ o! X: W$ o2 c0 F" Q
          ( ycor-of turtle b + y )0 f- J- i, V8 h& B% _
if (remainder who 5 = 2) [set c who6 [) {& f8 _, M- D0 b7 I" A
                          set x ( 0 - Wid / 2 ) 6 g: {  c, U, H; L2 g9 a( H# _
                          set y (0 - Dep / 2 )  ]6 _) B/ a" y3 m2 F  @! I
                          set d int (c / 5) * 5, J' P( M0 n) K/ X) O. I& a- d
   setxy   ( xcor-of turtle d + x )/ u+ `9 ?3 V3 r
           (ycor-of turtle d + y )
9 h) m6 u$ h* }  M$ Z         
- f) ?' c0 ^8 b, ~9 C            
' Z7 M' r2 T! `2 gif (remainder who 5 = 3) [set k who
8 v) N7 B8 b5 P5 h                          set x( Wid / 2)  
: q/ y2 @  e* z/ k+ z  D* ]# g- w                          set y (0 - Dep / 2 ) ]
9 t; N! w( y8 q; L                          set f int (k / 5) * 5
  d) j6 ~6 T4 ^1 j  setxy   ( xcor-of turtle f + x )* s+ G' D5 ]- Z( _% g/ N
           (ycor-of turtle f + y ) % y* Q+ }% r/ y! d
           
. K2 Y' I( h& H           
' N( k, O/ s& `5 q# ^) kif (remainder who 5 = 4) [set g who! U9 P% K$ J0 a& U. G" ~
                          set x Wid / 2
# @( d5 Q) x7 ~* ]0 E2 e                          set y  Dep / 2 ]
0 Y4 P4 F+ u( V$ J1 n  I3 \6 ~6 ~                          set h  int (g / 5) * 5
/ g# q0 n7 u" g6 U) K& L  n  X  setxy   ( xcor-of turtle h + x )- p. V& U9 b. g$ |
           (ycor-of turtle h + y )
* P8 R3 Y% ]% ]6 q& g" Q/ j3 v                          - f3 F3 z8 T$ Z0 e' ~- c
                          $ H* H3 ~4 O+ N) w* j8 a! I
                          ]
0 p; k4 F1 y. X" G6 ?$ xend
  H; n( Q; A" `
+ t, ]. o  p, e[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
, u4 d& n7 U+ _: `& _( s, x* e应该是# a/ z/ Y  M) y& n' \
ask turtles [
2 ?2 n  E( [: @7 C0 a( Yif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# J' j9 B. |. i- a8 ?                          set y  Dep / 2 . d( E2 w; H) P5 G' s8 D  O
           set b  int (who / 5) * 5  Y# S+ O2 ~0 K8 P
    setxy ( xcor-of turtle b + x )
  H4 d. P' T. D* ^3 Q9 i. F& U          ( ycor-of turtle b + y )]]
" K7 s4 T0 r  Jend2 E: r9 r! C& y  B. |9 B, X5 ^
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-15 11:45 , Processed in 0.018344 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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