设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7338|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 R% Q$ x5 v! S1 X" i2 n- m
# S0 T, ?' T6 {- j
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 @& I8 t- G, D$ |7 t3 u

7 Z& h& F& S+ x. P, zturtles-own [a b c d k f g h$ L- f1 R' R) |0 t$ |8 L$ ?
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 5 n. B3 R- V, ^3 u4 _
]
0 G+ D2 f9 i# `2 J( m. j2 ^to new0 E+ ]+ ~) v4 O! w
  ca
! C  [9 g) Q* Z  crt 5 * num_of_building  H. [5 c3 J/ v! a3 b7 y" E
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
' _9 I+ v9 m+ V7 j3 A$ q  scatter     ;;keep center-turtle random positions
3 |, a; |9 v- b  J& O  unit_plan   ;;make up the building plan& \; i* A8 D$ n* B  y
end
+ k8 Y1 ]; R9 z8 k' Gto scatter5 A  r* X! I! |4 Y# E
ask turtles with [remainder who 5 = 0], z. E: f6 A" W, K5 h
[$ W( c& m, P( c+ i" }0 `
set xcor xcor - 6 + random-float 15! h/ l6 k2 J4 H9 K( F  l
set ycor ycor - 6 + random-float 15
; S  u% V! m- T], ^* `7 `9 b  Q" |! o3 q
end% C, ~& u1 B: R7 L4 {9 w
to unit_plan 9 T1 A0 F! C+ B
ask turtles [/ Y3 O4 N  H, G  Y4 S: k
if (remainder who 5 = 1) [set a who
7 S$ T/ N# c! y& U! a                          set x ( 0 - Wid / 2 )
5 f# ~' ^3 t- k5 j/ W                          set y  Dep / 2 ]
7 T3 ]' W' G! P5 E$ g: D( M           set b  int (a / 5) * 56 O3 ]- S! l% y
    setxy ( xcor-of turtle b + x )
$ M1 Z9 z0 w+ M% \+ T; F! L+ D          ( ycor-of turtle b + y )9 R7 c& A" V6 Z& a6 s# K
if (remainder who 5 = 2) [set c who
9 v. Y! |8 S; \/ L6 D                          set x ( 0 - Wid / 2 ) 5 N  ]+ {/ [5 J1 J- q& y1 v4 S
                          set y (0 - Dep / 2 )  ]) K! u5 j( b/ ^2 c2 H0 q+ V  F5 W
                          set d int (c / 5) * 5
6 Y% m; t, O- |1 ^& v* d   setxy   ( xcor-of turtle d + x )8 J* W# M; e% K' m% d6 O
           (ycor-of turtle d + y ) 9 W, C  A8 u# R8 G
          * I2 h3 n8 d5 N2 c' p9 n
            # e4 w8 A# i1 @# D2 J
if (remainder who 5 = 3) [set k who4 N. D7 P) X0 Q3 s  o) r
                          set x( Wid / 2)  ' K& o! m0 ^' j7 X
                          set y (0 - Dep / 2 ) ]8 I$ n* v- \5 ~5 O* ]
                          set f int (k / 5) * 5. T& m2 B: Y" v4 ?7 z
  setxy   ( xcor-of turtle f + x )
0 @& w/ O2 k8 K8 A3 u1 M           (ycor-of turtle f + y ) 1 j2 v: g. v' F0 M
           
/ ?  E  Z! a3 e9 {" J! A           
$ |9 t5 Z2 M& T9 Fif (remainder who 5 = 4) [set g who
- Y. h4 r, r7 ?1 A$ u0 q5 [                          set x Wid / 2
3 f1 T6 G* B2 P( K) T% u                          set y  Dep / 2 ]
& y% |. b% t* m3 }4 m                          set h  int (g / 5) * 5
( J6 F2 Q3 E" I& c% U$ Y+ [, x  setxy   ( xcor-of turtle h + x )! ~6 h) O% V0 o; H( B
           (ycor-of turtle h + y ) * S8 C- R$ x$ g0 E
                          
0 j7 N- i5 ?0 [$ [                          
  G& s6 I5 R! Y0 _. }8 V* O6 P                          ]& X0 a2 _7 A( Z2 w% @2 b( H4 B* ]* _
end
* B: I" b% A1 O8 z+ W
* a! G0 I1 K* c4 W  \[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
, f* C5 Z8 z5 G6 Q; s6 }8 |; O应该是
# N' P+ v) s$ Dask turtles [
/ K4 _5 H* g; ?9 A1 kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) \6 |4 Q1 `; _/ J/ t" G
                          set y  Dep / 2
& L0 T9 r3 B! e3 ~" N+ ^           set b  int (who / 5) * 5
0 S4 O9 A7 }# }4 F6 H3 b    setxy ( xcor-of turtle b + x )
& \, [7 t1 O) W" J9 C* m) e          ( ycor-of turtle b + y )]]* b+ J% p2 f2 z3 Y- D5 t7 x
end
3 f* ^/ s3 q/ G$ r之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-31 02:44 , Processed in 0.013403 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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