设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7309|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- x" c0 q" R1 l4 b, R
( ~! Q* Z" c  E1 f/ l. R3 G但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) h3 y% F+ R  c: ?9 \4 v
2 ^2 M' K2 Q7 s2 {turtles-own [a b c d k f g h
6 w7 q; R+ e5 R# s# M4 w( ?' a- [3 n  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ! f1 v& }% L6 B( g% @. w9 G
], r1 a7 a' \- a6 J
to new. h" ~+ S1 F" ^# q- g
  ca
6 e- q% H" f- l3 O3 w" M# \  crt 5 * num_of_building
* {+ j% D, C, M5 u; K  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]# {$ m& M. `, A/ }" R  E
  scatter     ;;keep center-turtle random positions : p, f9 H, V- H; i- `/ t4 r
  unit_plan   ;;make up the building plan
4 |( ]* D) v* W! N8 a! R8 S# xend
7 c9 \+ V; ]! ?  E: l1 lto scatter
0 x* l" w) t; R4 w0 `. _ask turtles with [remainder who 5 = 0]
# `- [! ^( J4 f& v* e[3 J0 B7 B; w4 E/ H, I
set xcor xcor - 6 + random-float 15
! d% _4 j9 o1 _  y% z0 P, a, Z. Xset ycor ycor - 6 + random-float 15. E% N) E  b" K9 f0 Z  O5 I
]
. l/ z' q0 o3 hend
. z5 M- @! a* Xto unit_plan
! m6 X* s9 `' X' S" J  }4 V5 m# J/ lask turtles [6 ~: v' H& u5 J7 ]( e5 v& s- q9 W
if (remainder who 5 = 1) [set a who ' G% `1 Q  u5 [/ C, {
                          set x ( 0 - Wid / 2 ) ' }2 L- V4 h9 i0 [
                          set y  Dep / 2 ]
8 y8 C& d* G7 ?& n           set b  int (a / 5) * 51 e+ O) @) M# a5 S
    setxy ( xcor-of turtle b + x )
8 S. \3 f) D, {8 ]          ( ycor-of turtle b + y ). D5 b6 A  M2 W! @2 T* |( T* e
if (remainder who 5 = 2) [set c who: H9 z9 s1 k2 N) P: X$ I
                          set x ( 0 - Wid / 2 )
3 k. }7 u# g; v                          set y (0 - Dep / 2 )  ]
$ n3 y) B8 n; V" w, w1 q. ]4 o                          set d int (c / 5) * 5
6 c5 s0 e& b$ A) N8 Z. [   setxy   ( xcor-of turtle d + x )% k9 [2 @/ x' [, m# }9 g; c
           (ycor-of turtle d + y ) ) x6 I- B% V: x! w# F% V" M
         
( |( |$ u9 ]9 V6 ~8 ~            0 \: T% D0 L+ a8 f5 y3 Q
if (remainder who 5 = 3) [set k who' v$ }2 p+ ?/ o- F
                          set x( Wid / 2)  
: o0 p, v1 P- _; j9 B                          set y (0 - Dep / 2 ) ]2 Z4 s5 G3 Y, u3 E
                          set f int (k / 5) * 5
+ w/ Z7 ^/ L& S) C' B1 \$ B  setxy   ( xcor-of turtle f + x )) K6 t1 O: q+ `6 P- O) g* D% f4 e
           (ycor-of turtle f + y ) : t5 O4 n' {% ^5 p  Q9 T  a
           / \# r1 l* w; E- Z" `0 R
           & D9 n/ Z3 W5 D8 q
if (remainder who 5 = 4) [set g who( D' ?" Z: X6 Q$ c& g* v7 {9 W& K- F; r
                          set x Wid / 2 # O* m0 X% R0 w. ]1 M, h) s0 [/ e
                          set y  Dep / 2 ]1 r4 i1 L1 q/ v
                          set h  int (g / 5) * 5
9 w1 S! g0 X4 X( l  setxy   ( xcor-of turtle h + x )
  x' R$ b: O( v4 G+ A           (ycor-of turtle h + y )
5 R8 W& l7 S6 v( R  u) c                          . f8 C1 P+ n) F) H$ l* `+ s
                          
& P! D, T# y- d$ s- x/ s                          ]
1 N8 c- B  ~- \! \( r/ d, L! `2 wend
5 _+ P8 l' _+ Q; I$ P' K8 g
5 Q. d, ?1 O1 Z$ E3 A! o9 C[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
, I" r" w0 a5 _+ B: u( u应该是
8 c6 b2 _+ j' Hask turtles [
4 F# q; T  U" }+ D" n8 vif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 5 Q2 W$ ]3 [, F! D. f. G
                          set y  Dep / 2
& j( g- J1 C4 T3 E# E6 p9 y           set b  int (who / 5) * 5+ O0 H+ E) @+ K( ]
    setxy ( xcor-of turtle b + x )
, j; ^. q: M" q9 Y' p9 \, G          ( ycor-of turtle b + y )]]# _1 s, p6 c8 M( g( K! _
end7 [' p4 g8 x2 m7 m" R
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-27 23:38 , Processed in 0.020763 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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