设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7359|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
" s; E, i' ~$ L9 p8 v" i( e: a# @- S3 m+ l- r$ |3 A0 X/ ~/ A
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  P6 G, @4 v3 W1 ?( t& i1 M2 A9 R9 k
$ B: L. ?1 v6 g, A; z& @turtles-own [a b c d k f g h
/ G  Y" N" n  T  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* H  l8 }$ h# Z0 i4 ?]& e# i: e3 O+ Y
to new
. J0 B# F# E1 ~8 g' W  ca' X8 u* y. i- p9 T. i5 J
  crt 5 * num_of_building
* ^5 d9 k$ j# [# ~( |8 p& x6 Z  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  M% R0 L  n6 Q% A# ]
  scatter     ;;keep center-turtle random positions
+ J' D, }+ O! g  m  z" `  unit_plan   ;;make up the building plan
8 Y9 G3 F9 s8 I8 U2 |2 d' O$ r, nend
; w2 g! a, [8 g; g5 d5 mto scatter
( I7 }  p  P: O+ l) t$ T% t& s' Rask turtles with [remainder who 5 = 0], e2 F& G  P1 R5 R
[, X/ k) @8 @8 \. r' O, ?% u. D
set xcor xcor - 6 + random-float 15
% p9 x8 D; \+ N9 d( wset ycor ycor - 6 + random-float 157 l+ Q$ d. {9 P& S# k6 Z
]! Z5 w& {- \# s2 _1 }
end( M& r- p5 D! |* p4 f6 m& L
to unit_plan ' R6 g  {7 _3 t, V
ask turtles [& Y! f2 q# u; R" z; u! |
if (remainder who 5 = 1) [set a who ' L/ C: u/ ?( P5 x- S3 S7 O$ |
                          set x ( 0 - Wid / 2 )
! O0 g2 n+ M' V" d, A                          set y  Dep / 2 ]) S* T; I7 _+ h. d& w/ Q
           set b  int (a / 5) * 5! z8 u" q, U% @' N' r
    setxy ( xcor-of turtle b + x )# T) ?/ I+ N# U# D( y/ R! }
          ( ycor-of turtle b + y )
6 Z) Y5 I( b$ \if (remainder who 5 = 2) [set c who) T( @7 a7 M( @* _4 q
                          set x ( 0 - Wid / 2 )
$ M4 v$ M' X! s3 ^) K0 p: J                          set y (0 - Dep / 2 )  ]
; _% f$ R8 t5 T" Z; J% b) X$ k                          set d int (c / 5) * 5
1 ]$ w5 V# n' M8 U* O& x0 H   setxy   ( xcor-of turtle d + x )
5 B' L9 S! k5 d5 w: X6 W5 b           (ycor-of turtle d + y ) # T# X2 q5 I) `4 O
          # N! j$ b# b% C8 q' m. F
            
7 {/ A1 L" d1 V$ F( mif (remainder who 5 = 3) [set k who
: G( \; w7 p+ E) W- N3 E                          set x( Wid / 2)  
! \7 {' h. I2 j7 ^/ I; L                          set y (0 - Dep / 2 ) ]
& b, S; F, _  L0 r: b: O- U                          set f int (k / 5) * 5
1 u* A# F5 e9 g  setxy   ( xcor-of turtle f + x )
+ N6 U, E+ Q( c3 [4 M           (ycor-of turtle f + y ) $ W9 u3 K3 d' k# l  v
           8 i( p0 p( O' H$ F* K8 o" L
           
4 ~4 N& o5 v: C* m' \8 Y% M& E: R/ e  Cif (remainder who 5 = 4) [set g who
& X( q# `8 Z% v! X                          set x Wid / 2 1 @2 i4 G' }4 X+ W3 }
                          set y  Dep / 2 ]* M+ E" j  c; M0 o+ v
                          set h  int (g / 5) * 5
# o4 A' o) N0 {/ i" T- e  setxy   ( xcor-of turtle h + x )
* I) B* p: ~* P* z! v% c6 i           (ycor-of turtle h + y )
; y7 A: \8 d; f* M/ i                          
: ?' ]" H+ K& H% e. I+ F                          2 }$ z0 F5 V9 J+ [2 |
                          ]
% [+ Z6 n, C% l$ Pend
" H  f" v  O* l2 n2 @5 v0 V* F* `0 j' c+ n/ ?3 K
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 g- [* H& t2 s  p& O2 \2 z应该是
% w. W! l7 T% z+ g3 Iask turtles [& {9 o8 I( ^( c3 q, J* n
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
  b/ c3 }, m+ N% c) p                          set y  Dep / 2 ; Z; c2 z9 h2 V8 G2 F& e
           set b  int (who / 5) * 5
6 e5 l  G$ K) ?1 g    setxy ( xcor-of turtle b + x )' E+ D: H& c6 ~3 k6 N. Y
          ( ycor-of turtle b + y )]]' j: ?+ b: C- D3 F5 O4 T% R- M
end, w: {. D1 N/ Z7 ]" f9 |+ w) }
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-2 20:06 , Processed in 0.021581 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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