设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7529|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' L0 T$ @; `& z3 l% ]& K1 C
/ y! F1 C+ z5 h6 G$ {6 [但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 H0 ^4 p4 E# d/ ]5 y- n1 e2 x3 N, B
turtles-own [a b c d k f g h
* H+ \1 f9 T2 ?, B' D, R  w/ g  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ u2 d9 k% ?* x5 F]5 |4 J7 ]' E! C) s
to new7 T+ A  W) o8 a
  ca' A: v/ f7 E9 e  Q, y' ~: U: O( `2 i
  crt 5 * num_of_building! S. k" y: F8 y" M$ n) c8 o+ F3 R/ t
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
' E" W! i0 `/ g  M: T  scatter     ;;keep center-turtle random positions   K# U! I$ Z  ~
  unit_plan   ;;make up the building plan2 m6 v7 A1 y2 r# \
end
$ W* |; g- Q  ^6 G; ~" P. z( nto scatter! B) J9 k0 ~( K# w$ W6 G9 {4 T8 D
ask turtles with [remainder who 5 = 0]
5 F7 r* ^/ y0 r$ m9 ?& u( p; h/ i[8 E5 B$ ~( {5 z+ d$ |; u1 c: [
set xcor xcor - 6 + random-float 15+ a% n) M1 q% i! ^, d
set ycor ycor - 6 + random-float 157 s6 m+ \/ N! x3 m# s
]$ _+ v  n. i* O; o9 k% I
end) U0 I. P% l0 E( R. S/ j) X; \
to unit_plan
" p* R2 v8 K4 L0 J" [# v) e  gask turtles [
6 B9 U/ x# p  ^6 G9 p$ Nif (remainder who 5 = 1) [set a who
6 g, H: F9 C: u, f% q! B( m                          set x ( 0 - Wid / 2 ) $ J7 l  O1 g: v  f/ T! t' s
                          set y  Dep / 2 ]
. a! N6 K5 J! I           set b  int (a / 5) * 5
" Y; D1 [) E( X5 x* m3 f  R. Y7 |3 J    setxy ( xcor-of turtle b + x )
5 |* ~# o* q0 L( ]9 ]: d' Y/ G          ( ycor-of turtle b + y )
7 @5 Z! O: w8 c( t& j. X/ C+ d. Jif (remainder who 5 = 2) [set c who. _& W4 y/ U& I7 m2 j
                          set x ( 0 - Wid / 2 )
  D( a1 P0 p$ g0 m4 V3 J                          set y (0 - Dep / 2 )  ]3 n  l! l$ J0 P, K
                          set d int (c / 5) * 55 y! E8 }, r0 n$ _1 N& L8 {
   setxy   ( xcor-of turtle d + x )0 Z# r, c/ e9 k& D
           (ycor-of turtle d + y )
" j4 g& i1 R' j6 N         
) J. {8 l5 |, P4 C( o" {            
' h8 I4 h9 b/ w# G" E1 p7 xif (remainder who 5 = 3) [set k who9 s6 b/ }" P" Q9 o
                          set x( Wid / 2)  1 H4 \6 b) D% `/ p3 \. g
                          set y (0 - Dep / 2 ) ]
3 v9 \$ Z- E3 ]5 G                          set f int (k / 5) * 5: a9 i5 Y: T" w4 u  m5 `& r
  setxy   ( xcor-of turtle f + x )
  F; ^7 ~2 K$ U/ F1 `$ M/ R           (ycor-of turtle f + y ) 7 V# O5 G$ ^! W& ~5 y
           + l/ a( t) ^# S) I
           4 r+ ^: p1 Q7 y1 u
if (remainder who 5 = 4) [set g who
* H: _+ H5 u$ c1 s7 a0 E+ Y                          set x Wid / 2
% R. ]8 E2 q$ i: g7 y; @                          set y  Dep / 2 ]
' x# ~7 C& V; R6 w7 t, K1 t                          set h  int (g / 5) * 5
4 C2 P" J: ?+ I2 `$ H6 `; E9 _5 f5 I  setxy   ( xcor-of turtle h + x )
* S; T( a1 o3 G3 R8 I8 Z8 S           (ycor-of turtle h + y ) - N/ d) R$ Q8 w
                          0 a- H+ I" ?7 _+ G+ ~/ V
                          & r7 p; Z! d/ B/ I  u. n
                          ]
3 Y4 m' j* U* f# @$ J- send
& p- q. f8 m: B1 k' r
( |& K: B, b% l4 j6 b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,, Z5 g% ?+ ~- N& ]4 K/ ?
应该是2 {8 _) |* b1 V
ask turtles [
# L9 K2 m% x% B8 Nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# o9 ~/ ?; w/ j: m! q* D                          set y  Dep / 2
; \" t" E; n; E0 Q           set b  int (who / 5) * 52 C/ k1 ^: L% R: o# Q- E
    setxy ( xcor-of turtle b + x )  I( Z% c6 F9 g' B
          ( ycor-of turtle b + y )]]
# Z* Y: j; g5 Z& Kend
* O9 z# p) ^# {( }之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-22 10:14 , Processed in 0.015373 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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