设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7234|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- s& g/ F# G6 W! J  h! W( J4 B- }& e: J
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ s( P/ p5 t- Y' o0 h: Y7 E
, z5 G3 B$ x8 B& dturtles-own [a b c d k f g h
, G2 a; q( P7 b& k- }4 F5 W  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 t* V! {! h$ l) @" r& |
]
5 q+ }/ I) j# ]3 nto new9 ?+ e5 e2 ~" |: s# i# |7 J! t& E
  ca
$ D: j1 S. b1 V; {9 s% Q  crt 5 * num_of_building9 h% q1 e: d  J2 n4 `
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]% S: S$ |3 q& g
  scatter     ;;keep center-turtle random positions
; E1 @' S( `& P/ t2 W% Z  unit_plan   ;;make up the building plan; c$ s9 Y1 p  u% G% T5 |0 t, I
end) r! l3 ?) n7 k" m0 h
to scatter
) i( O1 d  @8 K, Sask turtles with [remainder who 5 = 0]0 B5 G6 _6 H" t
[
7 u7 Z( K7 x( W7 ~) g0 Tset xcor xcor - 6 + random-float 15
0 P3 G7 }) a' ^) e; I# \. Jset ycor ycor - 6 + random-float 154 N& Q: ^9 K7 K3 j4 h9 A
]
+ A! a9 X5 W3 S, Uend2 Q5 a8 z* Q2 m" k
to unit_plan
  h5 y* M+ b' Mask turtles [
6 x# r( m% t& [% ^$ U  |if (remainder who 5 = 1) [set a who
; K: j, C9 j3 Y7 R+ ?+ d# v( i                          set x ( 0 - Wid / 2 )
1 u& |: R6 ~1 p7 E6 t% ^0 P: `                          set y  Dep / 2 ]
' [  M9 V" x4 w3 d# @           set b  int (a / 5) * 5
& T1 O+ u; v4 Z4 A( \    setxy ( xcor-of turtle b + x )
( ?$ L/ p9 z. O          ( ycor-of turtle b + y )
# u  ]! P+ D. U/ z) Iif (remainder who 5 = 2) [set c who# X# V, @( H: Z5 M9 X# B2 D
                          set x ( 0 - Wid / 2 ) , }7 }$ M+ j! g$ W$ U" H* x& r
                          set y (0 - Dep / 2 )  ]
4 O; p; ~* U0 J; p/ O  ^- H- e7 x; v                          set d int (c / 5) * 5
7 M7 |: y$ d+ _- p   setxy   ( xcor-of turtle d + x )
5 I: @+ h% Y( ^6 j  j# I  N" G5 W& W           (ycor-of turtle d + y )
4 g0 e" v+ m$ a) [& F0 R# q4 {         
5 F" ^  c( x% \4 z" }              O% r- c# Z# o% u' b
if (remainder who 5 = 3) [set k who
( y/ X, r1 W  c! w  k1 g* L, [                          set x( Wid / 2)  
- D! Q5 V% g2 M6 @                          set y (0 - Dep / 2 ) ]
3 h# \) G; m& b" L7 f8 p, X                          set f int (k / 5) * 5+ l1 x" H0 }+ {% N* T
  setxy   ( xcor-of turtle f + x )0 Z, T: `- l$ }! P& E
           (ycor-of turtle f + y ) * b, W' i& t# i) H; L/ Q
           ! y, C# Y- d) N; J6 ~( ^6 N
           
$ ~3 a# z9 a6 ~0 ~) Jif (remainder who 5 = 4) [set g who4 O$ q( q  Q0 O/ `! [; }3 T6 ?0 V
                          set x Wid / 2 0 B5 i# }# E* t+ g% p
                          set y  Dep / 2 ]+ M/ C# R: p' q: M2 V6 `0 E
                          set h  int (g / 5) * 5
" J1 K# T4 G4 y0 l" F  setxy   ( xcor-of turtle h + x )
# L6 l) b) w9 {( d           (ycor-of turtle h + y )
" T" K& y( n6 E) ~8 Z8 L                          
/ p: o; r4 K8 n% T: U! G' b# ?" I                          : B" [( f9 |# Q5 i. {
                          ]
9 @9 u# H/ @! v: _% v/ Cend, K5 i" x7 O: `7 W2 r

0 E+ y, f. e1 ]4 J) |" E, ][ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,6 `% _# _* P6 N+ d) h1 v
应该是% n+ g" Q0 m! S3 r, G
ask turtles [
" T* D* K* V6 Zif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) , r% d2 H3 [: K! F. Y  t& [$ P& }
                          set y  Dep / 2
% w1 a7 d; \) \8 S           set b  int (who / 5) * 5/ p& |7 Y8 z$ K2 S7 @
    setxy ( xcor-of turtle b + x )3 d$ v. O% Y( z+ p/ H& ?
          ( ycor-of turtle b + y )]]8 I# @- O0 R, ~) E4 t$ K! c6 y7 ^
end
; B1 f& h$ H/ b- ~) @9 z2 C$ b. j之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-20 01:22 , Processed in 0.017809 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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