设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7583|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 H7 _" D9 r7 U! V+ ?! F0 R
. f0 W9 B5 J- l# E但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。. L% [1 F0 D, v- [8 ]& a
5 v: N' y( _6 ^! G; w: P
turtles-own [a b c d k f g h
2 k3 h: T- p, K  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 ]! V7 k; \8 v/ V2 x2 L4 A]
  q7 s; r3 ^8 rto new
0 _) o2 K5 U* m  l" n  ca8 |/ m+ _* G0 F% C+ [" P
  crt 5 * num_of_building
" H" q" e- X: }  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 M/ ?+ Z4 [/ z9 U* n
  scatter     ;;keep center-turtle random positions
, ~4 z) g8 d* K: o. P7 M  unit_plan   ;;make up the building plan
5 u/ y- `( ]6 a* i4 Wend
6 M9 K" Y( V2 |, i! Tto scatter" x+ a, P: ?: @2 a; m- y
ask turtles with [remainder who 5 = 0]$ n7 l! q1 m$ d8 y2 n8 F) I
[
7 D8 ^0 ~$ k& {; i5 bset xcor xcor - 6 + random-float 15
" K, j) q+ a7 zset ycor ycor - 6 + random-float 15( T+ A9 N# b/ i3 F
]6 {+ _2 x+ q  ^- x
end, y# F: T& ?: o. Q! x
to unit_plan 0 V7 j1 P0 C1 l
ask turtles [) B( Q4 E, e; ?
if (remainder who 5 = 1) [set a who $ u: i9 e4 C2 |
                          set x ( 0 - Wid / 2 )
1 T! s- @9 b* b, ^                          set y  Dep / 2 ]
( `% v% O4 W  |: E1 O           set b  int (a / 5) * 5! u: O' V2 E; N8 M3 T+ C  b0 d
    setxy ( xcor-of turtle b + x )
+ Y$ p2 l/ Z- k& t          ( ycor-of turtle b + y )& o# p1 F/ [* _) j% C' ?
if (remainder who 5 = 2) [set c who6 y5 Y1 r: ]3 T
                          set x ( 0 - Wid / 2 )
6 K. r: I  ~8 G+ u; r$ h                          set y (0 - Dep / 2 )  ]
- d( ?6 e( {9 J5 o7 X/ b* A% v) d                          set d int (c / 5) * 5
' s" v  l3 b- j+ v( ^& s. @4 {* B   setxy   ( xcor-of turtle d + x )  A9 E7 }8 a* T5 o  m% K
           (ycor-of turtle d + y ) 4 |; s) C4 S: z! _
         
. ~1 y* U! s; N# O            
  P0 ^3 q3 F( l7 Q+ P% Iif (remainder who 5 = 3) [set k who
  n+ ~8 J; w8 Z2 z$ u5 {1 X                          set x( Wid / 2)  5 L* F. p7 ]; X' q3 a, w# i
                          set y (0 - Dep / 2 ) ]7 b8 B' i- m5 F& B/ I: m
                          set f int (k / 5) * 5
3 a& T! x9 _: h, Z  setxy   ( xcor-of turtle f + x )
' g! Z% j. a' \/ |0 [           (ycor-of turtle f + y )
0 W" U* k4 @  _7 ]9 T# y           2 @3 I$ W! H) }" f
           
( f' E9 |: Z' r6 D" n$ W: p- D2 Dif (remainder who 5 = 4) [set g who. P$ b0 }, }" u. E: p; Y. L! {
                          set x Wid / 2 ! N  T  p7 I7 ^
                          set y  Dep / 2 ]1 w/ {# `( ^3 M- Z8 y1 F) A! K
                          set h  int (g / 5) * 5
) O1 i% s6 l* `  setxy   ( xcor-of turtle h + x )
* u2 E" Q8 }7 O6 o/ S3 U. D0 b           (ycor-of turtle h + y )
, F: K9 B% U8 Q4 {                          
4 D( {8 M% |$ Z                          
4 O& r$ Y  V) B+ z( ~5 Q2 {9 p                          ]0 O) |$ _* }9 K: M% ~* D
end
/ u7 z! M6 c2 o) T' u. H, \) t7 q  ?: Y3 v; S
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
, g& f3 @/ W8 s- @1 @应该是4 Z/ d$ F- J& M
ask turtles [
' r, O( L) e6 _0 A) @9 ]if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ; [, [+ S1 u" X" h) S& \' O
                          set y  Dep / 2
& `  C* ]! b& V' a0 t           set b  int (who / 5) * 5( E- H; d  A! r, @+ B; x1 ]/ N3 G6 }$ P# ^
    setxy ( xcor-of turtle b + x )
" s, O, K* c9 f( z          ( ycor-of turtle b + y )]]
+ T- z4 D6 O4 p, [$ N6 m9 l# X6 aend& `- s) E' b* }' K
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-2 06:41 , Processed in 0.021200 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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