设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8198|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
; _8 F- I# x; n7 J. i/ X8 O" J1 K+ z
1 F: j( h. Z1 c8 g) P但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。: t8 y5 E4 u3 o# G. s
) R9 A  e* x& Z- E+ d. T+ @
turtles-own [a b c d k f g h
! @: f; M7 q6 z$ c+ _/ ^$ s  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% J' J9 K2 i( Z' c; Q2 N]+ `$ w6 S& X6 B) L! C8 U& @% X  y
to new
% D0 E+ q4 ^* O3 L( T* W  ca
# f) s3 X+ E( I3 ?, m* Z! i  P2 L  crt 5 * num_of_building
, x; S% K4 Y0 v  j2 ~  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
# D" e( F  s6 h, K' N* ^  scatter     ;;keep center-turtle random positions
' Y, ~  a0 J6 P# _. d$ e' i7 Q, C  unit_plan   ;;make up the building plan
: l0 v4 s3 O6 e6 Z7 I& Kend$ ^; J1 B' D9 l; w2 B, @
to scatter9 u6 W; L6 u% \: H/ b
ask turtles with [remainder who 5 = 0]
& e8 h& W$ l, X% Z+ D+ k[. d! l9 ~7 o, ?3 M- q1 o- _  {3 z
set xcor xcor - 6 + random-float 150 l) Z' W: H: O0 M  w
set ycor ycor - 6 + random-float 15
- H1 {, d% U# p* }8 q  _]$ Y2 i0 J/ K) _
end
0 |6 }, ?5 p% z3 y/ u  j( G" uto unit_plan
" q& B# T4 q% C6 Mask turtles [
1 ~% Q7 }4 Y' I( K% Z4 Mif (remainder who 5 = 1) [set a who
# i: V" J% ~8 F- ^                          set x ( 0 - Wid / 2 ) 7 a7 v1 @/ c' t5 n
                          set y  Dep / 2 ]
" G1 ]3 D% S3 m* i4 D3 J           set b  int (a / 5) * 5
& H5 i, f( t. Z1 q7 t( i% k    setxy ( xcor-of turtle b + x )
$ a( p8 p1 w4 l8 ]9 x  Q' L" S+ i          ( ycor-of turtle b + y )* r2 \( v+ D7 E! @# B* I7 r6 r
if (remainder who 5 = 2) [set c who
4 f) a! h. w3 \5 M* V$ o8 C                          set x ( 0 - Wid / 2 ) % c" B( a7 I" i* U. p- a; v& a& t
                          set y (0 - Dep / 2 )  ]
8 r3 {# E% j, Q+ u6 L7 g                          set d int (c / 5) * 5
4 A/ z4 i* }" Q   setxy   ( xcor-of turtle d + x ), Z! c/ Z- L5 A5 z
           (ycor-of turtle d + y ) 2 b& B% |7 M4 p- t
         
+ c' t( \& ?8 |, j" U8 A) d            1 U' R( L8 E3 Z; I
if (remainder who 5 = 3) [set k who& w( O/ w  o) L4 P
                          set x( Wid / 2)  % ~: D: A6 m* o
                          set y (0 - Dep / 2 ) ]8 P" ~5 [, [2 I  |, `, h* H
                          set f int (k / 5) * 5
6 f% ^: O8 H& W5 P  setxy   ( xcor-of turtle f + x ). G! A/ d( q; z" P* U1 K/ C! ]
           (ycor-of turtle f + y )
8 {3 ]0 H& x3 |3 x           ' h' k# E; S0 U6 {3 D
           , V. u* j- ^& s$ y
if (remainder who 5 = 4) [set g who
$ k. X: A; d( I" T1 |% b* o( m                          set x Wid / 2 ( r' U' D2 L: `: `5 c+ \- n
                          set y  Dep / 2 ], c& P( @' ^/ s. r" w" I" V
                          set h  int (g / 5) * 5
3 q1 e: _/ ^, |: }" z  setxy   ( xcor-of turtle h + x ), ~& c# F6 C7 m7 f
           (ycor-of turtle h + y )
  E% `' K% i# u- t$ e) M4 t6 _                          
. Z6 c; m. \- b2 u) m) v                          6 R+ B( K" L# _' n5 v8 K2 ]' u! I
                          ]
4 U, T# e/ |. iend
' M" c% N% r6 v' @; [  `+ p' o) B& C9 {7 W# T
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' p1 \% e$ C$ S
应该是
) I; ^, O) s; Nask turtles [9 I0 \# m1 l9 E" S( u( ^- T" }
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 l" c" C" E+ j+ N
                          set y  Dep / 2
3 {/ Z1 C- Q( i$ W6 h           set b  int (who / 5) * 5
* w) s- [  m1 J    setxy ( xcor-of turtle b + x )/ I7 q4 H; w) A
          ( ycor-of turtle b + y )]]
; J, {+ h$ c! y' K( Z' ~1 c  b$ Rend" |( y7 B  F$ r! L: s
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-17 14:51 , Processed in 0.014677 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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