设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7239|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 s$ u) ~  W# Z, _9 H6 E( u- P6 s1 v( @$ l3 m
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! q* A- m. A1 g) k- M0 X
9 l  h6 {; _6 ~$ {
turtles-own [a b c d k f g h
: ^! \. o% q" H, B( U0 {  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* k4 d2 r+ a# H$ |3 x]
. p2 y6 E) v9 u; E+ L. M# e$ Eto new
- t% z: V  b. i( i) f+ b2 i  ca5 J0 w# ?* W  f" Y8 u# N
  crt 5 * num_of_building
8 ~3 J9 s' h9 [! q2 q( n' w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 z8 W3 @* J0 O( o) B  scatter     ;;keep center-turtle random positions 7 z/ x1 v0 R( I
  unit_plan   ;;make up the building plan
$ P4 y! f7 s# j! T) g, K( p  Rend9 \! L1 ~) q# c- O2 \
to scatter
2 }+ P. a1 B& u  V0 n( [ask turtles with [remainder who 5 = 0]
1 N* ?  F3 L0 N8 \0 `1 `[
' W1 Z( p7 l. B7 Z# E  Lset xcor xcor - 6 + random-float 15, u) s4 E( V5 D- D  n
set ycor ycor - 6 + random-float 15' G, f2 y2 x( T5 H5 I) E: w
]( j5 ]; F, {) G$ c8 p/ _
end; O) c! V' J) \9 n: I% |9 ^5 }6 ~/ ^
to unit_plan
1 Z, d0 K8 U, Y: b3 g7 Z2 Wask turtles [/ K$ i% e9 q, Z  U" K$ H/ i3 |
if (remainder who 5 = 1) [set a who $ O' i: A. F5 R) }' k$ {
                          set x ( 0 - Wid / 2 ) ' ]) u( i7 U. j; y" ]
                          set y  Dep / 2 ]4 V6 |- L% k7 J! L2 m. q- Q
           set b  int (a / 5) * 5
$ U) Q$ ~7 `' j( N0 U! I    setxy ( xcor-of turtle b + x )& r+ m' T6 D3 @
          ( ycor-of turtle b + y )% Q3 D; K$ H! ~" H
if (remainder who 5 = 2) [set c who
" }3 i; P% |8 a- G; F3 [                          set x ( 0 - Wid / 2 )
( e# @7 n; I% ~                          set y (0 - Dep / 2 )  ]
! k! ~% V5 l4 X# `8 E3 [, E7 n9 v                          set d int (c / 5) * 56 _* v; [  E/ s( `- r* G
   setxy   ( xcor-of turtle d + x )
" H3 s/ l: _- ~% a2 Z! ~           (ycor-of turtle d + y )
" `) s$ v# P" \* J         
* Z0 E& F8 f. P' X/ O) @' V# W            
. Z( D% ^+ n1 Xif (remainder who 5 = 3) [set k who$ u9 @: l) t1 M0 L5 A
                          set x( Wid / 2)  ; ]6 }! V1 g4 Z! A+ M- n
                          set y (0 - Dep / 2 ) ]' B/ ?$ c" d2 Z, v
                          set f int (k / 5) * 5& A$ [1 u0 K8 h- B
  setxy   ( xcor-of turtle f + x )
: w& Z" f6 p4 F& W$ Q) n           (ycor-of turtle f + y )
$ V/ E: r1 q# r2 p8 ], t           / L7 k" z$ r+ k' [) T$ }( S
           
9 D' u( n8 K4 l4 `* V4 e' z; j8 Iif (remainder who 5 = 4) [set g who
, ~2 a; l0 W9 X% j+ C8 p. P* X                          set x Wid / 2 / r5 m4 M3 [: l$ K& r
                          set y  Dep / 2 ]* n; T. m& _6 y0 V* e# m
                          set h  int (g / 5) * 5
: ~# z/ h1 e6 ?, k  setxy   ( xcor-of turtle h + x )
' c( t8 w  }+ ~# J. [/ J" w- h' j           (ycor-of turtle h + y ) 7 w7 e+ n: K. J- A
                          2 T  r- F3 @$ c2 x* o4 W5 v6 Z/ i6 C
                          1 v/ d+ T3 I0 T) L; d6 A* u
                          ]
: T1 h* g- x1 M: P9 P0 ]8 Aend' j1 M, d) o' a$ E, S6 ~( S

. }1 `7 T  K# ^+ i2 w; y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,) ^% j4 S5 i: K4 t' u  h1 G
应该是
1 ?* V% `. j( Bask turtles [
  \" X, w8 |$ ^$ i, \6 Mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   g7 e3 e, c' k" m
                          set y  Dep / 2 ' i6 P. a4 q! D' ]0 q- _) `
           set b  int (who / 5) * 5
* s0 v8 r% u# r+ A8 V* s" F    setxy ( xcor-of turtle b + x )
! I9 c) X3 P  j7 J: C4 e          ( ycor-of turtle b + y )]]
8 V7 r4 K0 e. x5 Gend7 p8 E4 R1 ^5 s" D7 ~4 n8 A
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-20 20:31 , Processed in 0.021799 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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