设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7382|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。  A# T8 t, c6 ^7 s
1 o" V) o* k, ~' j. O: y
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
& h0 Z0 \) T4 r0 a4 C3 W
. e$ }, Z- O; M5 P0 k, \$ tturtles-own [a b c d k f g h
. P: n3 \1 Z' v2 b  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; k  t4 t: B1 V3 p/ M; y6 p$ I4 n8 `
]$ W( x5 s) u5 `, I! W4 ~
to new
$ F$ j6 p8 j7 [- p& v  ca
; P/ t+ p( n% P. p0 G+ K& y4 }8 R  crt 5 * num_of_building; s/ z2 w6 ^0 P* B
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
8 @8 w4 r  y9 k1 |2 I  scatter     ;;keep center-turtle random positions
5 l  S0 F" D" r, y: j  unit_plan   ;;make up the building plan
; e7 y. @( P5 A7 H# x/ Y  ?end
& ?3 L4 p. N, m$ b4 @# ?/ S2 l5 ~to scatter
' d  q) ?1 A5 P  Gask turtles with [remainder who 5 = 0]
8 d; f  r: C. A! @0 a- k; b3 |[4 X  F, Y: r' U7 l4 q' o: E
set xcor xcor - 6 + random-float 152 Z6 J- |$ L8 x% P  |
set ycor ycor - 6 + random-float 15* l1 J0 K8 F0 Z  ?. F
]
, D4 A3 d. g6 l8 S2 H& Q. Gend3 f2 M% x. i" K5 \8 F3 E
to unit_plan
( ^4 _3 z' e; Y1 e' f* l- H& iask turtles [
* v4 {; B1 @" S  K9 l1 y0 H3 ?if (remainder who 5 = 1) [set a who
% P8 D$ c; c4 q) J* H                          set x ( 0 - Wid / 2 ) ' }) B, P. w- ]
                          set y  Dep / 2 ]  b) o& {! j2 G3 d; f
           set b  int (a / 5) * 53 K+ g3 i" V3 G& ?8 p5 J" G
    setxy ( xcor-of turtle b + x )/ b8 H& s/ J# H8 I" c
          ( ycor-of turtle b + y )
: b# J3 ]* j& rif (remainder who 5 = 2) [set c who; W- @* O! F4 U8 {+ W+ l" v
                          set x ( 0 - Wid / 2 )
  S6 A, j2 u2 x0 O0 j. M                          set y (0 - Dep / 2 )  ]
8 d6 A- H% M9 B* S! A4 E% L                          set d int (c / 5) * 5
$ [3 K+ z# @* p* O; M" d   setxy   ( xcor-of turtle d + x ). J0 p* ^1 x3 O8 I
           (ycor-of turtle d + y )
# k5 G/ c" E! d" e6 F5 V% H- [         
) Z3 Y4 t" [5 U6 m& z9 N9 d- J            
0 H/ R# A. g& z& E1 q) e9 Iif (remainder who 5 = 3) [set k who6 O/ f/ L/ _6 y( E
                          set x( Wid / 2)  
% x) o. ^2 m7 v' w# N9 }' Y                          set y (0 - Dep / 2 ) ]
: W2 l9 F( Z; R  F) A                          set f int (k / 5) * 5
1 K0 }7 x2 Q3 T0 M* Q  setxy   ( xcor-of turtle f + x )6 N9 |4 ]4 Z  E: V" t7 u
           (ycor-of turtle f + y )
  b. e9 u5 O; I/ G+ b( j           # F0 h7 a' V( l
           
1 C2 \' b( }, t; ^if (remainder who 5 = 4) [set g who) \& F, r/ `0 o7 W9 B
                          set x Wid / 2 & |* v3 h( o: d% F6 R( O
                          set y  Dep / 2 ]
5 H" y; ^1 ~- ^) y                          set h  int (g / 5) * 5
; N0 b" h* A: g; `, k  setxy   ( xcor-of turtle h + x )
8 T+ y$ I* O/ x6 `           (ycor-of turtle h + y )
1 J; m3 z& t3 l. S                          + G* M% f( N" d# i- F
                          . v* A' l8 u* V8 ]) p+ g
                          ]
3 @$ r2 I& V% a( N/ O3 K: |end  i6 @* m+ r3 T3 ~+ q

4 Q9 A) I  t# ?3 f8 k0 C[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
: \6 [  a8 o& q# w% W应该是
0 R0 e' E+ I' z4 h+ E; A: G$ lask turtles [9 N+ C* I4 h6 w
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! v+ {$ n0 a1 k- U$ ^3 l( P: f                          set y  Dep / 2 % `( R( f1 Z# A! i' p
           set b  int (who / 5) * 5% D/ O, U: S, P) c; Z# a
    setxy ( xcor-of turtle b + x )1 z: x5 j9 g( g( _
          ( ycor-of turtle b + y )]]
$ N- F3 \$ {4 R( B9 F8 Q# Rend/ Y9 z6 I$ b  a- U  y2 h, ^" g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-6 02:20 , Processed in 0.021794 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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