设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8027|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。+ W/ e: g# R. K

5 X2 ?7 T: s6 t5 \但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* |9 o5 n7 X3 C) J
% n+ |* P8 |( @0 u1 C: E
turtles-own [a b c d k f g h$ ?/ g1 G/ i" K+ z& A4 o
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
2 v: P' x  a) z* M+ g' V4 O- o]" ?$ t2 c! p9 ~0 o& m5 S* _% _
to new
* _- ?! c5 W) W" H+ u2 T  ca* N* Z+ \# v: m7 q( Y% ]- q
  crt 5 * num_of_building
6 W" Z: B0 \. a4 Z  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: E3 L. e8 F2 J4 T  scatter     ;;keep center-turtle random positions # k5 Y7 O" N/ a4 V# J2 O- R0 }
  unit_plan   ;;make up the building plan0 {' R& U9 l8 ~  K
end
: R# G( T1 Q0 N: Tto scatter
' g" I" U" H6 q0 jask turtles with [remainder who 5 = 0]
1 t1 B$ ~- H0 `[* |5 W# W0 k$ e% N8 I! g$ ]
set xcor xcor - 6 + random-float 15" A2 [* r0 X7 t" y  _* H6 n
set ycor ycor - 6 + random-float 15
8 E9 E8 B9 E* m$ q7 g8 b]: y: B+ E7 E  C4 T( p9 _7 a
end
5 {( k2 ~/ ^' [# h4 c; V9 V/ Uto unit_plan
  D$ K- Z$ v9 q7 Hask turtles [
, n: ?; W+ m5 U9 w- f' Zif (remainder who 5 = 1) [set a who
  k9 x& w; I8 _7 @7 @2 m                          set x ( 0 - Wid / 2 )
1 R4 P, S  K, e" e                          set y  Dep / 2 ]' V8 u! d9 P1 j
           set b  int (a / 5) * 54 ~& E9 r) T9 y6 M! H5 d
    setxy ( xcor-of turtle b + x )
( Y! u$ j7 {% _' c2 `          ( ycor-of turtle b + y )
0 m+ C  u  j; G! H* F; Sif (remainder who 5 = 2) [set c who
8 [8 y! ^( y) j# ~                          set x ( 0 - Wid / 2 ) 2 z. u( ?% M3 P  B( v" \
                          set y (0 - Dep / 2 )  ]
* _% i6 M0 g$ q" ~# q                          set d int (c / 5) * 5
) X. |( f$ ~8 [% E! W( y1 {   setxy   ( xcor-of turtle d + x )1 h7 C, s7 A& T  d- \& {
           (ycor-of turtle d + y ) % G. P9 R2 o5 q! l2 _
         
% |2 a) f7 u6 Q            : r! p7 g0 `5 c( x0 b- [- m
if (remainder who 5 = 3) [set k who
; L2 z* n  O8 n6 {                          set x( Wid / 2)  4 c+ U( _% Z  p2 o; ^* W
                          set y (0 - Dep / 2 ) ]
8 ?8 Y, [- s8 Q/ p" Z8 l% b                          set f int (k / 5) * 5" A" r8 [3 {! v, y" ^
  setxy   ( xcor-of turtle f + x )
) \/ d  g  b* z           (ycor-of turtle f + y )
: G! H+ Z9 x7 H6 q. T# \1 U           / z! @+ U" ?* ~
           
$ w/ v9 P7 @! c5 n3 y# j1 `8 |+ [if (remainder who 5 = 4) [set g who
% ~4 r$ S4 _+ d" n* u! H. m                          set x Wid / 2
$ C2 H1 S% x+ c& {% `* {& v                          set y  Dep / 2 ]4 F) L) `) z/ J# v$ [% h$ H
                          set h  int (g / 5) * 5
3 W- h( A8 w9 @* C. F  setxy   ( xcor-of turtle h + x )
+ Q4 W. \# x! W" q1 \           (ycor-of turtle h + y ) 6 D$ c1 S1 _0 d4 p% g% y& }" I$ X4 i, a
                          % ~; h3 F. F' d. A5 n, l7 j
                          
2 S, i/ u8 g+ T/ n! V! C' {+ y                          ]
6 W1 t4 A% G7 l" a4 xend, e5 A* y  H2 J! L; l

/ @6 J- }" ^: X( `6 C  j, I5 u[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
; f' y0 Z6 g  D+ ~. i应该是
& P! \$ C5 U# m* i& eask turtles [
& K( I: T4 G6 ]. D; a, z( Xif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 E2 C. |* g: Y( d* [                          set y  Dep / 2
; G7 g0 u; j* w+ H6 F# O! c+ Q# l           set b  int (who / 5) * 5
% L/ R1 `% d+ a8 J    setxy ( xcor-of turtle b + x )
5 l4 h: o6 M( T# E4 W+ i" m          ( ycor-of turtle b + y )]]$ f( y! u) f( F2 t+ @
end0 F( R" \4 b" R- U" Q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-29 22:44 , Processed in 0.014292 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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