设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7453|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。; n& q# n; n: F0 P
+ U/ W  J8 s# d  D  _
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ k! R8 D, D  N3 k

  y0 \) H! K" h' D( _turtles-own [a b c d k f g h
, ~' `% E0 P6 p* H5 I) O  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
( ?' d6 v8 ~4 K* d]" u: ~4 K/ u4 b5 S9 K% Y9 y4 G% c
to new
5 r* E0 ~- P( _! m  ca. b! o4 T! G, @0 c
  crt 5 * num_of_building
6 {, t& ?4 v9 ?; ]6 |* y/ s  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) R7 J: R( P6 P# g' c6 [5 ^2 V
  scatter     ;;keep center-turtle random positions
) f2 z* [5 {! X! v4 q  unit_plan   ;;make up the building plan
! z8 Y' Z( F% N3 Wend8 \4 A. g; L( z; z) U7 ?) P
to scatter
2 G; A1 v3 ]5 f  w$ j0 Xask turtles with [remainder who 5 = 0]6 U4 ^! {- _  n8 |1 d4 e
[& i0 Z& h$ g5 i/ x
set xcor xcor - 6 + random-float 15
* t( R# |/ R6 d! T: `6 ~( tset ycor ycor - 6 + random-float 159 |: n9 R9 [9 f8 e! W* m( S
]2 R% c) i/ g4 i& Z9 d5 I
end+ i) y3 j5 D/ [" ~1 ~! M/ @- L
to unit_plan
; A9 I1 x3 e; c1 uask turtles [3 }1 w$ ?( r* U* J7 s
if (remainder who 5 = 1) [set a who
( C# A% y. k9 i; K' W                          set x ( 0 - Wid / 2 ) 9 O' d" ?# h, Y9 s4 }' `/ ?5 Z7 g. F
                          set y  Dep / 2 ], y1 O7 Y8 z" o3 Y1 H- T; H
           set b  int (a / 5) * 59 o- F* i! ~9 x8 e+ s
    setxy ( xcor-of turtle b + x ): i( _* e) O. i1 ~, T
          ( ycor-of turtle b + y )
& r2 F  R4 n5 f5 p5 `. Gif (remainder who 5 = 2) [set c who
! H( |: l$ c* D  C+ u, }0 i                          set x ( 0 - Wid / 2 ) 5 F0 C" A% X: t( W
                          set y (0 - Dep / 2 )  ]' a4 |# f$ _2 n' |# X1 T2 q
                          set d int (c / 5) * 5) Q: m5 E. \+ K5 O2 Z, F! a
   setxy   ( xcor-of turtle d + x )
, q* S1 y. U4 Z( P0 i           (ycor-of turtle d + y )
+ x  m* v; O5 e/ T          . b6 H3 D, [! H8 J
            % x  M: `/ \2 f' A
if (remainder who 5 = 3) [set k who! u8 o: y7 C/ N/ w
                          set x( Wid / 2)  
8 w9 T* V1 X! r1 n! E0 W9 s                          set y (0 - Dep / 2 ) ]
2 X2 U# `3 _( X- e& e+ s                          set f int (k / 5) * 5
! U) N% D& t9 j% P  setxy   ( xcor-of turtle f + x )
: H% E5 ^4 t7 z& j           (ycor-of turtle f + y )
! k2 K9 ]4 s/ F. q           
% n, P; F! }6 N           2 u/ o6 k0 Z' ]8 f$ G' \/ [
if (remainder who 5 = 4) [set g who- \( b( E4 h1 O& X
                          set x Wid / 2
9 S$ `0 B/ z9 D: u# R5 ^) H                          set y  Dep / 2 ]9 ^; \0 G* B) ?+ e1 e- @1 J2 \
                          set h  int (g / 5) * 5. x  b$ m& J( W/ o. G
  setxy   ( xcor-of turtle h + x )
; n% B6 j% f9 Y" I, @, f: v* O           (ycor-of turtle h + y )
& g; X# W( m* u                          
! D2 K% q- }0 I7 O0 d; |& j                          
1 w6 ?- K( U$ E( J7 k. F+ X0 e) g& s                          ]
' @. G% M- b' ?% ~/ ?6 Rend
8 o; U# G3 Z2 M( u
3 h1 I1 y0 N- D( I- u[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
* P7 S! ~- Y+ Y; p9 [应该是
4 W5 w. I9 L# l5 A* uask turtles [7 _  I3 R0 U+ z, S; ^( q: v- @. G
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
; G. A' X% x1 e1 H  ~                          set y  Dep / 2 0 a5 X# i$ t, @" E( |
           set b  int (who / 5) * 5
! _- _4 \, X% q; P9 t- ?    setxy ( xcor-of turtle b + x )
1 C; y, Y9 _$ t( |7 y. L% \          ( ycor-of turtle b + y )]]
+ O8 M' U9 A# `  m3 h. b3 Lend8 i$ N2 O( c0 P$ E6 }+ u5 i
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-13 00:16 , Processed in 0.015978 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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