设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6916|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。: L" d4 E1 {# L; _3 W
- y- q6 m, Z1 `  @2 I* a
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ U( Y& A! Z. G4 [. S. ^* V- J3 \

" `- N+ x2 N) z) u0 mturtles-own [a b c d k f g h/ s6 n* Z* ?4 L, v, K
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
. i3 M6 J1 e6 o0 c  v]
9 \& t$ C1 \+ L- Hto new, V" Z1 ]  p/ ?* T6 z
  ca  T' A: K/ Y, _! ?
  crt 5 * num_of_building3 C: ~, Z( {' T7 a8 q* X: t% x
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! P& \1 @9 B& B  scatter     ;;keep center-turtle random positions
6 r! u2 Q  a- @  unit_plan   ;;make up the building plan
5 ]4 T. O' n' [, `' {# Fend
0 Y+ f1 t9 H+ Y- z8 K: dto scatter
% r8 i* v9 h/ I( h! \/ Dask turtles with [remainder who 5 = 0]
' j' G; C" P- o; D3 D4 L[
& R7 X6 J) P, ^3 Q! hset xcor xcor - 6 + random-float 15% v, F& D4 p6 ^8 `* Y
set ycor ycor - 6 + random-float 154 n. K0 A3 h8 n% N- P
]2 ?9 [* i, v$ h
end
- n6 r/ v* ^1 d: oto unit_plan
) U. E1 ~8 p0 l! R  u! ^: h9 xask turtles [9 Z# {6 e. c) t' w: B' o
if (remainder who 5 = 1) [set a who
/ T: ?6 Z4 r: |, R3 I1 q8 \8 Z                          set x ( 0 - Wid / 2 )
0 d* k. i3 K) B2 C/ ]                          set y  Dep / 2 ]" O) i. ]" G9 b0 F& X' ~6 e2 {$ N
           set b  int (a / 5) * 5
& e* R5 t0 c) E* N9 N- w$ I    setxy ( xcor-of turtle b + x )
- `, X6 x3 K2 O) [7 J+ d) `          ( ycor-of turtle b + y )( x! s1 A" P0 S2 M! S
if (remainder who 5 = 2) [set c who
7 w' Z9 O! m3 C                          set x ( 0 - Wid / 2 ) 3 ~8 k- D  Y8 h- E% t
                          set y (0 - Dep / 2 )  ]
% z4 h8 U( N% ~! ^, O                          set d int (c / 5) * 5% N+ l9 X8 o) `
   setxy   ( xcor-of turtle d + x )
; A$ n. o- S1 p4 n8 S6 Z" n           (ycor-of turtle d + y )
0 H! r4 N/ u* G1 B         
+ J# v& L# e- {: C1 j  \8 ~: y8 G+ S            ; T  I( e' Q$ D' Y
if (remainder who 5 = 3) [set k who1 D! R# B6 t1 R- y$ v# k5 @
                          set x( Wid / 2)  
8 V2 }* D: C' a: ~8 C9 i4 S2 a4 ?' e  U                          set y (0 - Dep / 2 ) ]
4 Z- m) I" c* w  O( U3 q) O/ o- ~                          set f int (k / 5) * 58 J* R5 O4 |: A$ H4 T  V* C
  setxy   ( xcor-of turtle f + x ): A1 L7 g4 |. j# ^
           (ycor-of turtle f + y )
' Q1 g8 q& Z+ B  U4 V# Q           
( `* m+ A: I+ P. o7 R2 {           ( v1 P0 r, g- v/ T$ ]
if (remainder who 5 = 4) [set g who
; W2 y2 n6 a( C$ n* N                          set x Wid / 2
$ Z, R" P# f* u7 |5 K                          set y  Dep / 2 ]" {+ q2 a! l5 r
                          set h  int (g / 5) * 59 f4 ?8 C) o5 U- a
  setxy   ( xcor-of turtle h + x )
: _; C* m, a! b- H           (ycor-of turtle h + y )
3 [9 l1 S+ O+ U  B; ~; ^                          2 r% l; k$ H  ~; g5 `7 L1 m7 H% `
                          
9 l5 x- D; C4 I* j                          ]4 m; A( a" q6 B9 E) t
end
& U6 o7 h" C4 t5 i9 T" `$ r; ~
" _1 S4 I& D3 F# q# W[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% n( Z# N3 ~8 q, S9 R( O: o
应该是
( B+ U5 V3 D0 c6 k% Cask turtles [% U% J5 U2 w: @0 y  K
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
0 o1 s- Z; z! r                          set y  Dep / 2
1 @  K. v( |; L6 [4 h           set b  int (who / 5) * 5$ c4 q& h# L0 o* }) ?" S& Z0 `( Z
    setxy ( xcor-of turtle b + x ). V% o3 e6 d" C  H
          ( ycor-of turtle b + y )]]
' r: v1 F( c; N5 E/ P3 ~end/ `  @  c# a; j$ y! \7 i! ~
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-9 19:15 , Processed in 0.016427 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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