设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7744|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" j  S" ]5 Z4 G, M5 \" L8 S
( z3 `) u2 l( g- e% i  u/ o
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。: R; r4 m, M; |# C: g
9 \8 B/ x0 h  w3 L5 e
turtles-own [a b c d k f g h
" c( r" j: e7 v  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! R; I, }9 k$ K  y9 ^  O/ z* o]
( E6 ]: x, p6 W/ _to new
5 l# H: N8 r9 p6 _0 y  m  ca
5 n' Z5 u" p3 v( P5 Y/ T( H  crt 5 * num_of_building
6 _! k, v1 r. h/ ^  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 L- c& }5 n5 Z, B  scatter     ;;keep center-turtle random positions
4 G9 L8 \5 d  l7 z  unit_plan   ;;make up the building plan
+ G7 ]" n* R' A: q' wend
5 T; R4 B$ {, o0 y( jto scatter- k+ ?+ h/ h# e' F: U
ask turtles with [remainder who 5 = 0]7 d" K8 U4 e9 H7 s
[
& P7 E/ H$ f  {5 d/ U* B' F- W) ^set xcor xcor - 6 + random-float 15
9 Y6 J: N" B; x6 i3 z7 t, m9 bset ycor ycor - 6 + random-float 151 a0 X+ F3 n$ z' N& C
]$ P1 v! |0 {7 p$ ]) o& }2 q
end
! U+ W5 b2 a1 e% z4 g! Oto unit_plan 7 U7 q; C( S( _7 G8 \& y( P# d
ask turtles [
4 Z" d/ a6 u8 x/ `' |if (remainder who 5 = 1) [set a who
+ G" C3 M/ z' N9 J. `                          set x ( 0 - Wid / 2 )
1 d) N/ Q/ F: D% V; Y8 Y                          set y  Dep / 2 ]
2 F% J3 q, U# }$ b" ?+ D: W           set b  int (a / 5) * 5
: C% q6 v" G+ W, f    setxy ( xcor-of turtle b + x )) r0 l; W3 h1 n6 B% {4 `
          ( ycor-of turtle b + y )
6 j- u2 H5 i; T6 z+ G  D. bif (remainder who 5 = 2) [set c who8 p' X" @: b# m7 P1 @7 Z
                          set x ( 0 - Wid / 2 ) & R8 q- r% P  u7 Q; H* [; u/ |
                          set y (0 - Dep / 2 )  ]
2 |5 Z& N6 |- l# n' u, h                          set d int (c / 5) * 5
  P1 p* ]- N8 M7 c% S; w# V: z   setxy   ( xcor-of turtle d + x )+ N3 X; N7 S$ \- P- o% U. x+ N/ ^
           (ycor-of turtle d + y ) ) V2 D1 W6 [/ y4 _. [! F7 }
          $ W3 m+ \1 U% z2 ?* g8 W& U
            
: e1 c, P2 f4 i8 _1 Wif (remainder who 5 = 3) [set k who0 N: r9 v, _' O" ]/ [
                          set x( Wid / 2)  
( |+ H9 Z: b8 I4 C. c* }                          set y (0 - Dep / 2 ) ]$ \/ Q7 b& u: o$ m0 O: @/ V
                          set f int (k / 5) * 54 f0 {( b! V7 l  q! L! N/ s/ m
  setxy   ( xcor-of turtle f + x )
' @- _* j' y) f$ X- f0 D           (ycor-of turtle f + y )
/ y$ A, q$ T  w5 s& t* g* D           , a% b, e' \. r. k1 Y3 L
           
7 y( G3 w$ |' N/ A. ^$ l* Hif (remainder who 5 = 4) [set g who
: r; T$ L! C1 `: H! @- M* D                          set x Wid / 2
' C/ \9 D, {4 D/ N$ H) F                          set y  Dep / 2 ]
  a4 @* j9 }0 N9 S, P2 h- f                          set h  int (g / 5) * 5  ?, L$ F# w2 {) a
  setxy   ( xcor-of turtle h + x )
# p3 I- ^3 g8 @8 @8 A           (ycor-of turtle h + y )
) S& _- M$ }6 M  H) y                          ) U* v. |% D/ t
                          
; }: C* t4 p/ e/ r2 U                          ]) t  [$ M. K, @( y# C
end& e; a7 p& B1 [
" k- d  u$ j9 a+ r
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 X! h% ~0 W) [
应该是
: k1 y2 f, D9 xask turtles [' _9 [+ S# @7 Z2 F0 J* l
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ' n# d, S0 g) ?9 S! D  T
                          set y  Dep / 2 2 p: G2 A1 _0 n, L/ D, t2 v+ n
           set b  int (who / 5) * 5
8 a2 i) o  D5 c    setxy ( xcor-of turtle b + x )
( w; K/ h/ J) Y5 L% q" [9 B          ( ycor-of turtle b + y )]]
* B5 U% I5 u' ^/ R6 Send
" ?$ s- A4 G- w. v# E之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-23 03:48 , Processed in 0.016121 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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