设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8686|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 F: w/ o4 w8 T" i- K7 ?; s) b" m* b8 |, ]+ Q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
& l# g5 A( V4 D5 s
8 U8 |9 y% x, O( u3 {$ Q7 Lturtles-own [a b c d k f g h
. M3 F& X7 l: D- k/ O  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
0 _3 `7 R/ d9 ^4 B. a]
' {/ u! b4 h' [6 t, ?2 i& u% X* x3 ito new
4 Z0 X9 `3 t3 l  ca
7 d- U1 ^: ?# r6 g; E7 M  crt 5 * num_of_building
# \% S/ t% T6 B  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]# L( F8 z$ V2 O6 C7 s
  scatter     ;;keep center-turtle random positions
) J6 O0 a& h( S8 Q" R  unit_plan   ;;make up the building plan3 A$ o! r' L8 O: N
end* L  t3 _3 C7 e5 t" {
to scatter
5 A8 S( K3 |2 s! }ask turtles with [remainder who 5 = 0]% Y% E6 t5 c' G; I% }7 d
[
& V" \8 M7 D7 b3 ?set xcor xcor - 6 + random-float 15
3 s0 S7 g8 k. X7 j2 L5 M/ Y- yset ycor ycor - 6 + random-float 15
& U7 ^7 Q+ s" e: x0 G* J]
0 m! Z6 x4 f7 |% Lend
2 P/ N* l, \+ zto unit_plan
7 O* a, u- N, a' i( Bask turtles [. g* x0 R/ j/ r% h( C
if (remainder who 5 = 1) [set a who ; v: \, U# X' L. R0 a$ T
                          set x ( 0 - Wid / 2 )
; i9 E' I# K$ L* s2 p3 K                          set y  Dep / 2 ]
8 u% _: r) M' ^/ o% F           set b  int (a / 5) * 5) y, ^" `$ c2 C" A  i" W
    setxy ( xcor-of turtle b + x )* K& E& t( ]3 R5 L7 I
          ( ycor-of turtle b + y )9 L, a) R' O1 f. X: D  i# a6 w1 k
if (remainder who 5 = 2) [set c who
1 d5 k; h% A6 y/ E                          set x ( 0 - Wid / 2 )
1 c) d% Y; k1 I  A                          set y (0 - Dep / 2 )  ]
% W5 K4 Z- Q0 Y8 n. N                          set d int (c / 5) * 51 R5 Q3 m4 @& A5 |; M# A
   setxy   ( xcor-of turtle d + x )- }7 x$ Z$ o# H: T) X! h% H
           (ycor-of turtle d + y )
5 G2 O3 r: c6 h$ L1 w/ Z          % ~: v2 L7 x& U$ _" p0 l
            - W9 ?8 W- s5 W7 l5 x; w5 b; n
if (remainder who 5 = 3) [set k who
' j( b9 i* o$ t1 M( V                          set x( Wid / 2)  * |6 X8 ?( T- N
                          set y (0 - Dep / 2 ) ]
- L5 `0 {8 n" n: s                          set f int (k / 5) * 5
3 c' X* j; b% P9 ?+ F  setxy   ( xcor-of turtle f + x )4 ~/ H& I6 w5 l: @
           (ycor-of turtle f + y )
1 B& K% U' N6 L) o! x& z1 ?           
+ U" S4 \; o5 i2 T6 E7 P5 _           ; T% g5 ^; a0 Q8 k1 ]3 P$ H
if (remainder who 5 = 4) [set g who# `! e' w- R6 K* \- O) S+ I7 I
                          set x Wid / 2
$ l1 W% I6 S7 X: J7 f0 \                          set y  Dep / 2 ]
, X& S! R+ k* i9 q. t2 {: _                          set h  int (g / 5) * 5
4 y( m1 s2 G6 Y5 L- L2 `4 c  setxy   ( xcor-of turtle h + x )6 M. N1 Z* {3 }2 g, @
           (ycor-of turtle h + y ) 3 x) C' S# o/ K& f0 t7 i( G9 e
                          
$ c* h1 C7 i8 w' h; B3 |# {; t                          : e+ k. H& C" _% S/ D" O- S
                          ]
3 W7 N/ ^0 M8 Wend1 ^/ t0 v% `. X  ]+ _$ A7 x/ h
+ l0 O- \: U  @& Q* Q/ }4 h; T
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ `5 L' f' }) {& P* R, V应该是, d- i! H1 \/ v7 _
ask turtles [/ d9 A  \7 P) k( A2 A
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ _6 U7 m/ |# E2 r& ]                          set y  Dep / 2
* l# M0 e6 \2 h' q6 f" s           set b  int (who / 5) * 5
4 h# d$ Q2 W- `) `; b    setxy ( xcor-of turtle b + x )
' r7 ^0 R1 R7 R$ H7 c! z/ N          ( ycor-of turtle b + y )]]0 A1 e2 x! v, B) v/ _
end
) d7 i) s; [1 D% Z: u: f: V  `之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-25 22:34 , Processed in 0.016463 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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