设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6942|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。4 J# @9 r1 o, f+ T8 z

7 e" ~. F. d8 h# E但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
& G3 a, E" ]7 u/ n5 w
  J( ], N, d2 Eturtles-own [a b c d k f g h
/ c& O3 a: e6 z% V  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 N2 O- A6 Z, X
]
% x* D8 w" a1 [; j/ ~1 W* J! nto new: @# [" Q4 F1 v2 a2 H* ?
  ca
4 M$ B, T0 Z* K3 z" s  crt 5 * num_of_building
4 {7 j2 a/ k* B  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! u# k9 O) _1 b; L% L' f
  scatter     ;;keep center-turtle random positions
1 [- A+ h) @( @8 {  unit_plan   ;;make up the building plan
4 K1 v% e; `! ~* I: B" B" Yend5 T* N! s) l. o3 w4 k
to scatter9 Z" E& y. n9 P  H$ ~7 s1 k
ask turtles with [remainder who 5 = 0]( C) G' L2 e2 |7 w6 o
[+ [3 Q- D9 @' M! m6 a1 S" y
set xcor xcor - 6 + random-float 15
! s8 P) j" ^- o& {+ gset ycor ycor - 6 + random-float 15# M) l! r% w; E7 r. A
]3 [9 t( Q7 W/ E; V4 x
end
1 f8 Z! s$ G; O) G8 t) E& }1 Fto unit_plan $ f6 g7 e  s) w& g4 w- v# F
ask turtles [
  M/ g1 H; v# }$ {4 h# P7 Eif (remainder who 5 = 1) [set a who
% h' o" N) Y, ?                          set x ( 0 - Wid / 2 )
  q" V5 x; g4 J4 T1 V" i/ S) X# w                          set y  Dep / 2 ]- T3 A1 O# B( r) H! I8 q) b
           set b  int (a / 5) * 5  G0 |$ G4 m8 k* r" k
    setxy ( xcor-of turtle b + x )# I" C9 r) h, b
          ( ycor-of turtle b + y )
. l; b6 {% @' D. n4 wif (remainder who 5 = 2) [set c who3 [$ S+ k2 n2 O+ p
                          set x ( 0 - Wid / 2 )
6 d! X9 j2 W7 N: D                          set y (0 - Dep / 2 )  ]. X" N, q" Y1 i. W# l
                          set d int (c / 5) * 5
4 ?( p' a3 b; ~: b  ]! _   setxy   ( xcor-of turtle d + x )" B1 r7 |$ T( }  ~) C# H1 U
           (ycor-of turtle d + y )
3 K! j: g& L! J& z          5 l; t! b1 s0 b: E. ~  I
            # _9 @6 h- T) a. x% w$ e& {
if (remainder who 5 = 3) [set k who
6 p4 x7 Y! F4 u* y& Y0 S" v8 ?                          set x( Wid / 2)  # h* w: @' [& w6 y* {
                          set y (0 - Dep / 2 ) ]
2 h. R' N* q: D9 m& y                          set f int (k / 5) * 5
# A# r2 U( e4 U* t. S9 f  setxy   ( xcor-of turtle f + x )
# l* v# w: X3 U$ e7 _. O+ o3 y           (ycor-of turtle f + y ) ) m5 H8 E! q  o3 r! `
           * U* S! Q" S: g9 ]1 d6 L1 ]. J& D, B
           % N% Y- Y5 @0 y& K
if (remainder who 5 = 4) [set g who
. ^4 V/ {8 ]- Y6 X7 v2 r                          set x Wid / 2
2 o/ X; _) g# c) D& T                          set y  Dep / 2 ]" d0 u% O# o! x/ q, s% S$ N$ q  s7 ^7 A
                          set h  int (g / 5) * 52 H% b' j  Y0 L# t# R
  setxy   ( xcor-of turtle h + x )
  k4 r$ F* H2 u5 p0 i           (ycor-of turtle h + y )
/ h7 [( b0 N' I6 m6 x  |; P. V* A                          
1 P' J' W# g3 P: z" S                          
3 P3 I, p$ a' e& L                          ]
2 A, k5 X% r/ e" n) Q2 }/ \$ Send
6 l8 H0 o5 I3 k7 B8 {  r- J* ]( q( \# C/ O$ j5 o9 h
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 z' d2 M& L4 n$ H4 l* i
应该是' m0 ~1 E) {. V& E5 m& |
ask turtles [
( G* `. r! a0 `5 ?if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 e/ h+ p% f5 F. V- H6 z                          set y  Dep / 2
7 W0 v( {4 ?/ r           set b  int (who / 5) * 52 Y  x3 U9 f9 z2 @5 G$ z& p
    setxy ( xcor-of turtle b + x )
& L$ A, P* O( u% g9 p5 X( @4 m          ( ycor-of turtle b + y )]]! G! t  [. l, Q* z$ j& l, Q! w# J
end
% i. J. g4 B, U之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-12 18:02 , Processed in 0.018362 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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