设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9078|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
/ p6 A% F, s4 |/ ^$ r( X; ~3 p# G6 ~8 o8 H% k* q* r
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 o( M( q* F6 S  G
5 e8 G9 p8 K* ~' m$ d$ D9 I
turtles-own [a b c d k f g h- p! X7 U* l9 Z0 M
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 F% Z: d6 z% f
]- @: r" }& x! ]. L
to new
) ]6 I2 o5 B$ p* T; u# ~# o; O  B  ca
" V5 N# \; Q( I; n  K3 x+ x  crt 5 * num_of_building0 }; O; L9 n# Q' i, Z4 B
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
. r' J. e2 e& o0 k# M& N  scatter     ;;keep center-turtle random positions 4 V1 v% K8 K" @1 X- o* c
  unit_plan   ;;make up the building plan
$ Y. A2 z2 j! a7 {* G* G; h# j" `end
+ e; C: d* I+ M7 s4 \' O: Pto scatter+ ^4 r3 F. k9 c. G7 j5 i
ask turtles with [remainder who 5 = 0]
2 e# A3 M. Z; ^. u[0 w8 @) r) y. g2 S
set xcor xcor - 6 + random-float 15
5 z+ t  B9 S* [! _! Z9 oset ycor ycor - 6 + random-float 156 q" i- g7 D3 z
]6 b. u8 c1 r- c# e9 ^6 B* D
end
% R6 k8 T, L2 B* Q9 R9 S4 V' yto unit_plan + \9 C  J' t7 k) a" J8 L2 ?# Z
ask turtles [
  O' [7 V; ^9 w- A* k' F5 S. jif (remainder who 5 = 1) [set a who
8 z6 c0 N0 [; S1 q0 T8 `. Y                          set x ( 0 - Wid / 2 ) ! I$ K$ x, C5 I, Y% @
                          set y  Dep / 2 ]
0 [8 \3 e' K9 e           set b  int (a / 5) * 5
( k; Y8 y. D3 R  D" T5 |( ]    setxy ( xcor-of turtle b + x )4 q0 L  x% [0 F( e
          ( ycor-of turtle b + y )
, |% v, f' B9 s5 A0 ?& hif (remainder who 5 = 2) [set c who
8 e' e) z* i$ P5 a2 d" J/ A                          set x ( 0 - Wid / 2 ) 0 B. y7 v5 G9 @5 n$ C8 r
                          set y (0 - Dep / 2 )  ]
; z0 ]/ c- J; P% a7 X8 r8 Z                          set d int (c / 5) * 5  U6 L$ I& O* h& L
   setxy   ( xcor-of turtle d + x )9 Q6 {/ O3 q; m5 B
           (ycor-of turtle d + y ) + L2 R; h( [2 I  ]) X' ?- ]
         
! g2 ^$ c" r: @) F* C; Y: t- B            . A& b+ _( w% Z) D
if (remainder who 5 = 3) [set k who
- F" C, V$ e- l                          set x( Wid / 2)  
% C5 `) }: @) Q6 p9 w                          set y (0 - Dep / 2 ) ]
. n# ~& U8 r3 ~+ y( J                          set f int (k / 5) * 5
) E& {3 F* n$ L' X7 f! R( v7 }( Y  setxy   ( xcor-of turtle f + x )
! M4 B$ G: J, R- h, F           (ycor-of turtle f + y )
4 z0 M' F6 U! \" m/ @! o$ [+ o           
2 |: R8 @. s8 u' }: P           / u6 u, ~4 I, ]' A. v& h/ [
if (remainder who 5 = 4) [set g who- u& j9 m) N8 i* H0 {
                          set x Wid / 2 ; l. Y9 S* m' b! Z: `& q5 ?, B
                          set y  Dep / 2 ]
8 G5 `$ C$ u; N( q- O                          set h  int (g / 5) * 5
6 ]9 _$ W$ k. y. }' b  setxy   ( xcor-of turtle h + x )
8 i6 j3 I4 v8 K. {* D- a) l           (ycor-of turtle h + y ) ' W. O; h  i% C0 g( M
                          
% E+ O$ s: v' t: h                          8 C% @' K- k8 F3 D! z; |( Y* o
                          ]
" K$ ]8 M2 y# `' B. s: Z2 uend4 E3 I4 F, X' i: \+ q2 T) q
4 Z( Q$ R" Q; N; H5 {+ I; @
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 |% n5 X* s0 i7 g$ n/ \9 Y: n
应该是: `* w& x9 Z6 d5 O( f
ask turtles [
- ]; z; w# t# Aif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# E8 h! b: o0 V                          set y  Dep / 2 - J- L( V3 W7 g
           set b  int (who / 5) * 5/ s/ `+ }" i1 A  I1 h
    setxy ( xcor-of turtle b + x ): g& n+ A% N1 |/ _( p3 }4 q3 K
          ( ycor-of turtle b + y )]]4 _  Y" K* x. u' Q; ^! M( F" v+ ~# t
end' f1 ]0 f' ^# p  J/ ^: {
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-15 01:18 , Processed in 0.016266 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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