设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8028|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- D' U  W2 u; }* U7 ^& d
, F! I& b5 v' I; W; n/ q) X" H但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' I/ {7 F  F) S: X

9 d# p8 H7 `8 D" {+ I8 e- qturtles-own [a b c d k f g h6 O* [- E3 f, }. f6 Z3 |2 t
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 I; C0 Y/ D7 C) K
]
1 L! F/ C2 P+ U% V3 Bto new
; J1 ^6 T% L  X2 x  ca1 D0 q( n1 @1 F8 O
  crt 5 * num_of_building
& T7 H! c% v3 b# ]0 K; o+ w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]2 F4 k6 U! f2 L% z
  scatter     ;;keep center-turtle random positions ' \. J2 }( K1 D6 e# y  W, ?4 l
  unit_plan   ;;make up the building plan
4 Y( q) ], g4 V6 X% send5 C" O, c6 {# e4 s+ a0 m
to scatter: n, |5 E/ K0 d4 q. }
ask turtles with [remainder who 5 = 0]
* ]2 }" _% q* r! \3 M  v[) f7 g, l/ m$ ~0 }. d" @" y
set xcor xcor - 6 + random-float 15
+ o4 e9 \. r1 t4 b  ^7 }set ycor ycor - 6 + random-float 15. J6 Z  M( F6 Q' M+ z6 g
]9 e6 V$ g& ~( u3 \7 B* W
end; Q4 O' w, k0 l) \' H
to unit_plan * r4 K5 p' a! b, J4 H4 |  q
ask turtles [
9 U  @5 [! V& bif (remainder who 5 = 1) [set a who % b( @( w( g9 ?; b6 t% M9 O& M
                          set x ( 0 - Wid / 2 ) , B- T$ g* Y" f" a: n# m
                          set y  Dep / 2 ]
2 l, Q4 B; L9 v* z           set b  int (a / 5) * 5- O4 z0 S$ [) {+ F8 i
    setxy ( xcor-of turtle b + x )  Z- W/ S! [8 E/ F! R! {8 v9 N
          ( ycor-of turtle b + y )* x1 V# \8 ?- y5 p5 r; y% r9 F
if (remainder who 5 = 2) [set c who
3 Y5 @( J4 [3 V5 \7 P4 Q$ M                          set x ( 0 - Wid / 2 )
5 C& A2 h: x) G/ K1 s; q                          set y (0 - Dep / 2 )  ]
0 _* W# E6 t5 H. c' d                          set d int (c / 5) * 5
2 {! J! h) v; T( U1 L. j   setxy   ( xcor-of turtle d + x )
" @5 c& s2 C, I           (ycor-of turtle d + y ) 0 F1 A" Y$ V, K! a' A9 h
         
4 e; J2 L  H! `" K: q! v$ [4 w            
5 j7 w% n$ W2 o; z) D7 hif (remainder who 5 = 3) [set k who
. @2 u5 Q0 D: X4 {' n                          set x( Wid / 2)    q3 _1 V! E4 P( o& E/ ^8 e; x
                          set y (0 - Dep / 2 ) ]7 R  U9 x$ i) m
                          set f int (k / 5) * 5$ G3 L2 z" j* y! e# A
  setxy   ( xcor-of turtle f + x )
; ]' X0 _( M1 T& T& Y           (ycor-of turtle f + y ) , w% A9 s) B- w+ O0 J) r
           
  \- t% S+ X7 `, P2 C% z" J           
8 E* C: ?5 @/ f9 g" fif (remainder who 5 = 4) [set g who2 `" Z( ~- s4 m7 H+ p4 Y- Y
                          set x Wid / 2
* ^0 }3 ^- ^# k# h& Y; c                          set y  Dep / 2 ]
$ ~* L, X/ k+ O3 _- i                          set h  int (g / 5) * 5
0 m6 d6 ]' O9 p8 w" D8 u  setxy   ( xcor-of turtle h + x )9 \. t3 @& A/ J, v6 ~
           (ycor-of turtle h + y )
4 E0 K' s9 A: s. b" C                          
) Q; O! p3 @0 y8 U* q5 o                          
* `* I' x+ g. c/ _8 n                          ]5 Z0 Y( t6 e. m( I
end
, e# q9 t: h; P
. s% R* ~* q/ ~3 N4 `0 }& m[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," ]1 J% C" Z$ o/ H4 y" R1 z
应该是' H: e# s" {' P# L# e
ask turtles [
7 ^1 O1 L. {& {# Mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 o$ S; H( @1 Y: h: n2 `- T
                          set y  Dep / 2 ! A. Q: j0 O0 Z% ]- K
           set b  int (who / 5) * 5
. t/ O+ N% U( G    setxy ( xcor-of turtle b + x )
9 h" ^4 Z" j5 ^          ( ycor-of turtle b + y )]]
6 L0 X9 E0 G2 b0 W0 A) Iend7 d: i4 f2 z" }( @% l
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-30 00:15 , Processed in 0.018259 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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