设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8886|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 P* L$ F, I1 b8 |5 _6 \
8 [8 m$ Z6 }$ b. z. n但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 d1 C- I: Z$ R4 ^
! s# V5 K6 H' c9 E9 |turtles-own [a b c d k f g h
; h( _4 }( l0 l9 u$ _/ f2 T  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ `& u' \$ }2 @$ n; h2 D: M+ c' {( I]( N$ E1 X" k* ^) `
to new
8 p" V# K, Q0 g) D3 E3 i  ca
* Q; D! m! N+ G& b  crt 5 * num_of_building
/ X# X3 q# G( D; f" ]  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
# S( }: j0 [; H  i  scatter     ;;keep center-turtle random positions ' Y  H/ S1 Q8 x- y$ s. ^8 T
  unit_plan   ;;make up the building plan
4 u/ Y% M, H! v$ y3 R) pend
* J$ m7 |# `- c7 f' W0 i+ x0 ?9 Uto scatter
+ E  M( ~3 f3 u8 E+ x, a) Pask turtles with [remainder who 5 = 0]& W5 m$ _" k# p$ ]) x8 t) w2 P
[
+ ~4 _5 C8 R- p' O7 s. Xset xcor xcor - 6 + random-float 15
4 k* [* h& W4 I( eset ycor ycor - 6 + random-float 155 E* p! J! n. N
]& B0 x& t$ Q4 ]# m1 @
end1 R0 `3 J/ Q4 ^2 N3 ~4 ]
to unit_plan
, n) x% x. w" }" R' @3 h( [& Uask turtles [% g- }  P, q  p  }0 A) S
if (remainder who 5 = 1) [set a who ! A, m" h( V! j) f1 G7 ?9 y  E- k
                          set x ( 0 - Wid / 2 )
3 n  J, M' q+ }0 P                          set y  Dep / 2 ]# Y% W1 ]# w& f2 T6 G4 n
           set b  int (a / 5) * 5! \4 N7 @' M; Q
    setxy ( xcor-of turtle b + x )) h5 ?. L. n0 E" k6 U; h
          ( ycor-of turtle b + y )
  c  T) I- J8 N  m  ?8 Lif (remainder who 5 = 2) [set c who7 k$ Q, C  b8 Z; J
                          set x ( 0 - Wid / 2 )   ]+ R1 t( w9 B% X! }% M" F. F, `
                          set y (0 - Dep / 2 )  ]' l$ U" {3 z6 j; i& T& z
                          set d int (c / 5) * 5- v5 W4 X3 c* k+ l/ U5 p
   setxy   ( xcor-of turtle d + x )
6 k! F5 v, h3 ]9 V# r           (ycor-of turtle d + y ) ' f/ V5 N) q! B1 U
         
( |* O& B9 b; @# i' {            
( M( S- m- _# Y7 n% y. E+ B0 wif (remainder who 5 = 3) [set k who
# [+ E) L; u( h) U1 |6 [$ v                          set x( Wid / 2)  / _( N6 ]4 N/ \+ ~# Y$ {
                          set y (0 - Dep / 2 ) ]) r0 m1 e  ?" ?# l) F
                          set f int (k / 5) * 50 R; W* M6 h$ V- [1 Q! X
  setxy   ( xcor-of turtle f + x )
) k3 @6 L" ~& [, ^. m5 C) b           (ycor-of turtle f + y )
! |/ a% x$ l. N3 a           0 c) A8 |- z' H
           
9 \( D6 D/ v3 \7 l" m8 ]) Mif (remainder who 5 = 4) [set g who
- K5 K$ b, l, }# ]$ m. U, o                          set x Wid / 2 9 D  Z$ G! {; a" u8 |: t
                          set y  Dep / 2 ]
3 b5 a, Q& F3 }+ M- |) b                          set h  int (g / 5) * 5
: r' C: v0 N/ ^8 L  setxy   ( xcor-of turtle h + x )& A1 W5 M" h. R8 y$ r: G
           (ycor-of turtle h + y ) 6 h1 q1 D8 e3 d2 \: M3 }
                          # F& g3 s9 J0 N2 x
                          
$ a6 T- D: b3 `                          ]9 q1 W/ }6 D* d0 A4 J0 k
end5 g0 z4 K' a! C5 ~' l* \. f
+ p) m! t! {+ h1 K' c6 b  s
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' z9 T+ `% B' W& s$ u8 i5 X
应该是; a" p) l5 Y6 B6 ^( z' p
ask turtles [
4 W# E; V0 n7 I, Sif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 l  O. m% ~0 v* n6 J3 p8 e% y                          set y  Dep / 2   G. [  c0 `4 l4 t4 v
           set b  int (who / 5) * 5
1 S! Q9 ^" {0 Z* A$ h  q0 @0 K; d2 Y    setxy ( xcor-of turtle b + x )
* \; L# X: t4 ^1 e# b% ~          ( ycor-of turtle b + y )]]
7 K# G/ }; n2 V( ~# l9 ?end3 @, V& G/ z0 q$ }
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-17 13:01 , Processed in 0.018690 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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