设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9140|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 l: U" O5 D" Z! I. E% j$ Z9 o! d4 u1 t1 |# ]& o0 D
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 U& d, v, }& E

% @0 I% W& c6 F2 Hturtles-own [a b c d k f g h% _% k0 z- o. _
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
8 O5 U; u8 p3 U3 Z' Z" q]- w+ i0 m. U$ T: k% V
to new7 {. x. j( P' K) P3 p+ Q9 v( i# ~
  ca
& L, D( I, x; |4 k  crt 5 * num_of_building2 l: R1 j6 w5 \! I) l" @, t
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ |$ N" _; ^+ R4 F& e& `9 C2 g
  scatter     ;;keep center-turtle random positions & g% B; P2 t' P- V% Q
  unit_plan   ;;make up the building plan
8 Z; c, o4 I0 [9 s* D2 c/ X  _3 C6 Q3 cend7 r% m7 I( b0 z( M
to scatter
. _# d) Y/ F. lask turtles with [remainder who 5 = 0]7 ?" I" |: X! J1 X* g8 d6 g
[
, E0 M! @9 c& l( d6 A( B" iset xcor xcor - 6 + random-float 157 N1 m. p4 s6 T3 U) y7 h
set ycor ycor - 6 + random-float 15
$ M, [1 U# \! E, E8 P& ~]
$ b1 V& z  a% M  ~end
' s& A5 O% w$ S. \5 j# w, Y* |) d3 wto unit_plan # t& X' {5 g8 J$ w5 q
ask turtles [
1 |2 @- J$ F( Z6 u" Y, ?, Pif (remainder who 5 = 1) [set a who 3 o- Z* a8 r; m% u; U
                          set x ( 0 - Wid / 2 ) ; m7 ^! z$ r2 B. _
                          set y  Dep / 2 ]$ u' u. O$ O% A+ _# y; c
           set b  int (a / 5) * 5" U* M$ Z5 i  q( O6 O0 N
    setxy ( xcor-of turtle b + x )
$ S) b  `3 o1 U, f# [6 e- C  v          ( ycor-of turtle b + y )+ l9 [) x/ u  t* t
if (remainder who 5 = 2) [set c who7 N0 ]8 d2 R* Y* {! D; D
                          set x ( 0 - Wid / 2 ) : q4 X# p) e! m, N
                          set y (0 - Dep / 2 )  ]! a: _/ t% q9 L, s
                          set d int (c / 5) * 5
; I8 V* Z+ K4 r$ V   setxy   ( xcor-of turtle d + x )" V7 U, h; \  h, F- t+ `
           (ycor-of turtle d + y )
" o, }- c! ~  q: o          # v* b+ j" |; a9 Q4 e
            * b5 p4 w2 @' K0 R' R- ]/ e
if (remainder who 5 = 3) [set k who
) u; g  ]1 x! E) x/ V% m0 @8 r                          set x( Wid / 2)  
. d: w6 F1 ]# s/ s- h! W                          set y (0 - Dep / 2 ) ]
6 i  v" s5 N  ?- C: S# ^                          set f int (k / 5) * 58 ~% T3 O9 j7 N. b( [$ u
  setxy   ( xcor-of turtle f + x )
$ `. U/ F" A7 d3 [           (ycor-of turtle f + y )
( x! M+ }2 p$ D, L8 M$ q  ~2 n           
9 {2 i! v; M+ m0 @           
5 v; o+ T# ^/ j- Z& q, @9 K4 eif (remainder who 5 = 4) [set g who! i1 h/ K* B7 l& A: a) S2 R
                          set x Wid / 2 0 B- a$ g6 H5 L% K; k  s- B+ P
                          set y  Dep / 2 ]  T! {8 A* p' F6 a6 M7 w% F
                          set h  int (g / 5) * 57 ^* I6 f9 n3 C2 g& S/ N/ R; A' {
  setxy   ( xcor-of turtle h + x )6 g! d! G1 R1 ~  q
           (ycor-of turtle h + y )
6 L& i* N: [$ k+ f                          - T# s! M5 e+ e- C* E
                          
- G" d$ }: @1 b/ O# q5 _7 [, |6 y                          ]) I2 i: @& n+ K
end
) K3 V7 j" ]' [, ]5 ^5 F: q0 k0 v6 J3 x1 j" f
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 F( U4 q+ B6 m; n$ c7 x应该是
3 X! a0 v& z8 o% }) iask turtles [
9 g# Z( D3 R* [if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " \3 k* q& R; W" R
                          set y  Dep / 2
; i8 o6 Y- Q9 h- O4 j" G6 e           set b  int (who / 5) * 54 Y# \9 Y5 n5 S- g# h
    setxy ( xcor-of turtle b + x ), d: d3 W# L' {
          ( ycor-of turtle b + y )]]7 F, a, y2 H" a8 A! p7 `
end) a2 W/ M$ r* e0 R- U- Q8 X
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-22 01:30 , Processed in 0.016038 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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