设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8254|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。5 P; z) z3 ~* o6 F# Z" D
# k( @: F. `3 p* z1 l4 o/ {$ Q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。: q: y. m1 n2 g, ]( ]5 u+ u. m1 C
+ D( J  h2 b* f7 D: V0 ?, D! r
turtles-own [a b c d k f g h
' k3 W. I# F7 c8 h( x* E- B  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 E  k% J' D. S; s$ D9 V; t]
8 j& H! ~! o- U# r) ^3 fto new* `9 K( y/ P4 ?  k1 N
  ca( ~, H  ~& G9 e% f5 I
  crt 5 * num_of_building
! n' z2 Z# u3 i  T2 G/ C2 R  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! p7 v( Z0 D: b, s* r
  scatter     ;;keep center-turtle random positions
6 U4 L  e) J" K7 ~$ ?/ k  unit_plan   ;;make up the building plan
  W3 F" g3 r+ a6 Eend
2 g- y6 ]+ P; G8 D$ B: g1 w" L! gto scatter
+ r+ t9 O  @! f! T9 \' Vask turtles with [remainder who 5 = 0], l- N& T5 z+ A# d
[
- i) l2 ?3 W& W9 a$ Iset xcor xcor - 6 + random-float 157 `6 W7 F) M: m" h  W% h( A- ]
set ycor ycor - 6 + random-float 15
( \0 N' g9 B# A]
* f$ j, I8 k$ h2 Uend6 d9 K3 q# ~  D% N6 b5 K
to unit_plan . E! D! Q) d1 _5 k! X8 K2 |+ m
ask turtles [8 C7 X, t+ H2 F& P
if (remainder who 5 = 1) [set a who
, ^! L5 o# N5 {" C1 z                          set x ( 0 - Wid / 2 )
* L8 b& ?3 _4 X* y                          set y  Dep / 2 ]; Q6 D7 e# k! `4 d; F
           set b  int (a / 5) * 52 A9 d" \2 r9 ~3 z9 C
    setxy ( xcor-of turtle b + x )
5 D" ]3 ~8 X+ T0 i2 j# |6 A          ( ycor-of turtle b + y )7 T/ T9 `& Q$ ^" r$ V7 i
if (remainder who 5 = 2) [set c who- W* i) V# I( t# C, X# u" E- ?
                          set x ( 0 - Wid / 2 )
7 c& D( |) _2 b; U2 {' w: q                          set y (0 - Dep / 2 )  ]
4 c0 |4 P& O5 ]: s7 {# s. N                          set d int (c / 5) * 5/ A7 p: A1 w+ r: k- C# o
   setxy   ( xcor-of turtle d + x )
' C8 b3 |- N( L4 A           (ycor-of turtle d + y ) 8 ]9 ?, {4 S) Y! R0 r
         
* L( F5 J- i( ^( g, u) p            
( S5 l) W3 n! ?, @- G$ @* Z; B' Zif (remainder who 5 = 3) [set k who
; Q! X( M2 ?; z: c& t+ U5 u                          set x( Wid / 2)  ' O* k6 ?/ s1 n" F1 ?% b1 P
                          set y (0 - Dep / 2 ) ]
5 r0 M' P% d+ B, x! n3 h; |                          set f int (k / 5) * 5  @3 V$ }+ T% F, n1 n
  setxy   ( xcor-of turtle f + x )
+ m7 a/ o  x7 I+ h" l6 d2 E& S9 W& @           (ycor-of turtle f + y ) 9 [+ q: T. x+ Y& @
           + _4 j: {0 `. J/ a9 B4 X- E
           
- O5 L$ V* {- x% h$ Bif (remainder who 5 = 4) [set g who
$ {0 q* c2 y9 x$ k# g9 D                          set x Wid / 2 6 {9 h9 Z  I+ J% C! }
                          set y  Dep / 2 ]) b" t1 h5 B3 S
                          set h  int (g / 5) * 58 \( l7 f. d- w  v8 k* a1 |
  setxy   ( xcor-of turtle h + x )
* E' H' O, C- F5 P- G7 L3 \           (ycor-of turtle h + y )
. T) m$ g& P( A9 I( H  ^* Y% D! U                          
8 m0 i6 ]( N& l/ N" y) }3 \                          
- [/ W& ^/ w; S$ M: {& j9 _                          ]( b, C$ X: C+ z' s8 b
end
$ `0 A0 m2 f% x+ l5 J2 G4 E2 c3 p  e, O0 J  N$ ^; F
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& A6 R% d- w5 J& `9 L- W
应该是
  U; x4 e' A; q. c; s1 W! z" o# H/ J( Wask turtles [9 Q  O" b& ~' s. z5 U1 ^: N
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
5 ?7 h3 H6 Z. S+ c7 s0 P                          set y  Dep / 2
9 l) q- y* s/ E6 M! u9 J/ D+ i           set b  int (who / 5) * 5
! h: j/ N. d. g% N3 a$ W    setxy ( xcor-of turtle b + x )% R7 U! B9 u. B3 B7 K9 y/ m/ \. Q2 f
          ( ycor-of turtle b + y )]]9 H8 s8 N5 Z: m( g9 ^, n
end7 f( s3 s# s, U& R4 w
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-25 05:17 , Processed in 0.018348 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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