设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8749|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( Y. P2 q( A) s- _* U9 o$ C0 q7 B% Q
* P$ s8 k0 a/ R1 S! Y$ p
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
6 R) ^% N, g* F! [0 Y2 C) s; z/ Y8 u) U
turtles-own [a b c d k f g h1 Z) ~, W0 d& R, y/ V
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # D1 C- i5 f8 i3 i0 ^( b
]
6 D, v9 s0 A: l0 E! O9 w8 {to new) S# Z6 Y, o( p" S
  ca
$ {1 w- O" t& Z0 P; [/ E  crt 5 * num_of_building4 P: `; M; z  s8 I/ z0 y% x8 I  I5 ?
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) ~: T, j. S% n+ d+ w* K
  scatter     ;;keep center-turtle random positions
) M7 ]3 E/ W9 _# I8 G7 v  unit_plan   ;;make up the building plan! m" Z: \+ R# I$ o3 S, Z/ F
end
# S) K- l8 z% @2 Y3 dto scatter
. c% F- I; D3 \% D* a, r3 Oask turtles with [remainder who 5 = 0]6 E2 M" a# e+ X7 d% S8 o
[
0 I5 ]' ?  C$ o" ?! [9 jset xcor xcor - 6 + random-float 15. G5 L' F8 D9 I9 ~' _2 P: |3 K; T
set ycor ycor - 6 + random-float 15
6 P+ E  a4 g. \$ X$ b]5 ~* s  y& O( M
end
* M9 [$ X6 u, r" f. s- |$ K! lto unit_plan
! M# o+ A* L6 J. gask turtles [
+ L4 E. l& {2 A3 [$ i( ], S& xif (remainder who 5 = 1) [set a who + e, k9 [1 u4 [+ @/ t
                          set x ( 0 - Wid / 2 ) / M; O( w* K& s7 c: }  K; Y
                          set y  Dep / 2 ]
+ p$ ^# I! o( ~0 ?- s           set b  int (a / 5) * 5
  s5 p3 V0 R8 \7 a. w    setxy ( xcor-of turtle b + x )8 W( K4 t0 {0 u3 L$ M: v- G1 @0 D
          ( ycor-of turtle b + y )
+ X3 ]# K% Y* k5 w( q7 n6 pif (remainder who 5 = 2) [set c who" o" @+ w, q- f) F
                          set x ( 0 - Wid / 2 ) 3 Q2 k8 @. D8 P4 L6 W4 j
                          set y (0 - Dep / 2 )  ]
7 w+ W$ q6 @6 f                          set d int (c / 5) * 5" t  G  H% [& T% r, C4 |. D; q" N
   setxy   ( xcor-of turtle d + x )
% q% t; l# @( a           (ycor-of turtle d + y )
7 g! q8 ^+ m7 l1 f# A          $ L# t* n  j: N/ t$ }( M: B
              u* t4 J- F8 b. E/ k
if (remainder who 5 = 3) [set k who
0 U3 M2 t0 E1 q1 ?  U9 c) s, @: D                          set x( Wid / 2)  
1 ~1 ?# ^! N( [. Z                          set y (0 - Dep / 2 ) ]+ T4 d5 I) y# B# c
                          set f int (k / 5) * 5+ X' r- \: {* g# f
  setxy   ( xcor-of turtle f + x ): S8 D1 `' V) _. `1 f
           (ycor-of turtle f + y ) / {. a9 _8 w, J2 ~
           
6 P( d9 h" J' z7 m# f' r) z           " a) n+ B: J7 W
if (remainder who 5 = 4) [set g who4 q& p! G" n2 y0 @: E
                          set x Wid / 2 - G$ f4 u1 m2 U( G1 X# m8 y
                          set y  Dep / 2 ]
/ r) Z. V( Q5 w                          set h  int (g / 5) * 5
5 }% T1 h; u4 T6 P/ m* p( X' S  setxy   ( xcor-of turtle h + x )
. }3 a: J* ]# V6 m+ ~9 k4 J9 x           (ycor-of turtle h + y ) ! L( ]. Z7 s9 W, J! _/ V
                          
8 W& _- w" q% J                          
( Y7 g& i, g. E7 r# o7 L! n9 }                          ]! z, v1 h( `; b0 a
end/ j; F. W0 H' \/ f) ~
6 t* `* m$ Z( E7 b% u" l, a: c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' H) U$ q0 f0 z/ M  f8 E
应该是
" ~9 `, x6 P9 I& j, s9 zask turtles [2 O3 D% g3 |; e9 M& T+ W
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 O7 j: D9 L6 X3 [; z
                          set y  Dep / 2 / P  I+ Z& I6 n6 N( x
           set b  int (who / 5) * 5
/ I& e5 V7 P! j4 G7 N    setxy ( xcor-of turtle b + x )* n1 x1 l* Q6 Q6 K0 E
          ( ycor-of turtle b + y )]]
* {3 y0 t  S: Pend+ B1 A& \% y) A9 J1 e
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-1 01:37 , Processed in 0.021377 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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