设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8346|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 O* a- g" L# A3 E  u
9 G' K. L# \+ [0 C! o2 H但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。: T1 x7 W1 k3 J1 n/ m$ U

( n+ U/ X5 x. K0 D8 k2 a# Wturtles-own [a b c d k f g h4 G9 f1 ^# `% q1 [4 W9 I: _
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; ^& R) i" q) B4 j) K
]. ?: b" d' t. o# F$ K8 \% h
to new$ H) w1 e! ?+ d8 N7 U' J- j  D. Y
  ca/ J1 u2 F! J) @/ q" s
  crt 5 * num_of_building
- u) r6 N; u  o) p9 [# w$ U* |! Y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  V  C4 O" A' r* F( ~  scatter     ;;keep center-turtle random positions 0 a% `3 C+ j, J# w& G2 q: Z4 a
  unit_plan   ;;make up the building plan
- E7 k, W! c3 [/ O, E3 g- Oend
$ z4 ]! T" r8 N* N" hto scatter! Y0 h) A, }; O- P" X: ~+ L4 Q
ask turtles with [remainder who 5 = 0]
/ k9 Y5 u& F! V& d. A[
' v$ m! i/ c# i3 c; O' Z/ W4 Mset xcor xcor - 6 + random-float 15
) w/ T3 `* J6 G9 W0 I2 u9 kset ycor ycor - 6 + random-float 15
3 a" e! A% V' d4 h# r* i& z]2 e( f' f& J" t
end
3 q8 l1 C8 d: b3 hto unit_plan
1 t+ O8 Z7 I3 g+ _& p* aask turtles [
0 y. }( p* u# q, `2 \7 g0 `if (remainder who 5 = 1) [set a who
  C$ K. s+ D/ [9 }. S                          set x ( 0 - Wid / 2 )
; n5 W5 a& o6 x5 P# V2 t                          set y  Dep / 2 ]! X, f7 Z1 s) H$ b
           set b  int (a / 5) * 5
& c; \0 z+ V8 ~    setxy ( xcor-of turtle b + x )
7 u6 y: ^) Y4 |4 L2 J& s( }9 T          ( ycor-of turtle b + y )3 V* F, @! `$ y  E! x
if (remainder who 5 = 2) [set c who
, a% [3 {  Y5 h8 x# s                          set x ( 0 - Wid / 2 ) 6 u3 N; @6 h( f9 L
                          set y (0 - Dep / 2 )  ]2 G* ~9 @6 ^$ `% S0 m2 v
                          set d int (c / 5) * 5
* u( S: Z% h5 S5 W1 ~. x   setxy   ( xcor-of turtle d + x )/ p8 A( X/ F! t$ B
           (ycor-of turtle d + y )
4 W. H; G, q4 Q  Y7 n4 ~4 F          ) b* a: a9 y( C, T
            5 w/ ]9 a$ E6 Z* i% o. b
if (remainder who 5 = 3) [set k who8 ^6 U8 ^# Z/ B
                          set x( Wid / 2)  
* z" U$ \* q/ y$ Y4 E8 h                          set y (0 - Dep / 2 ) ]
0 c+ `$ }# a0 w! v) C1 r, d                          set f int (k / 5) * 5# Z1 y3 q4 K! K6 [
  setxy   ( xcor-of turtle f + x )
) c8 }9 {$ b) e" l           (ycor-of turtle f + y ) " V' w6 |% r( ~( B& c# {0 b& |
           
& O7 e9 Y0 M; U3 ?% E" O* L+ K           
7 a( X9 T. ?( g; Yif (remainder who 5 = 4) [set g who* t( i9 s  G+ j7 v
                          set x Wid / 2 6 E: w7 K4 S* e1 ^: I- R
                          set y  Dep / 2 ]* A+ z& _! p( _% ]" V
                          set h  int (g / 5) * 5
0 U* _5 \5 f$ w! R  setxy   ( xcor-of turtle h + x )
# |! r3 ?8 |3 u           (ycor-of turtle h + y )
8 L8 [' M$ m: T; R# H                          
& T# J. V. @' ?& X1 p                          + k- A5 |0 A& B; A
                          ]3 w0 E$ d: n, b1 d+ u& h
end
9 m- r+ t, x3 {
% h6 r9 q, E$ ^$ R' a: b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' r( b) c. Z, ]1 _4 ^! B应该是1 }8 Q4 R3 U  e7 j# x6 B
ask turtles [
+ G% o% D' L8 L1 j& s5 O/ iif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 W. f3 u0 R9 C9 G! g% z4 e" X6 g                          set y  Dep / 2
( m2 v5 C- ?: T( u0 ~" B           set b  int (who / 5) * 56 o: q' r% ]! h. M
    setxy ( xcor-of turtle b + x )( p0 V2 h. T9 c6 n. {
          ( ycor-of turtle b + y )]]
2 l0 L6 F) z+ W' m; s' v9 \end4 g9 ?- I9 |! A; R  d
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-11 21:06 , Processed in 0.015851 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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