设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8357|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
" O! C3 a, ~! W% V& o# F& F0 A  z/ f3 D
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ h, K% n% O3 D( @3 x/ P, R$ e
  \. ]3 I/ L( t) P: Y
turtles-own [a b c d k f g h& X! A/ b! \2 K0 Z
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # ]* r3 ~7 x% b6 Y7 a# O6 }' S
]& j: U" ^( I+ E+ C7 @7 `7 u+ P
to new
: D) K0 `, Z9 X5 P, x8 j1 V  ca
- a2 W# [& Q8 N  crt 5 * num_of_building
/ @# N  q  r1 h# _" [0 a0 N( x8 O  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, l7 [. S. ]; Z$ W) z$ l9 t  scatter     ;;keep center-turtle random positions $ f1 ]6 `6 @7 C# |- b/ G
  unit_plan   ;;make up the building plan
. Y* ]4 r) N- Y$ J$ N, Q8 Xend
; C' t& G2 R& w# ]- F1 b5 x$ A0 o) bto scatter
4 ?; u' g2 c: q' D' O9 {: zask turtles with [remainder who 5 = 0]6 D; E% y2 B; Q3 {6 `) e: l  z- ^6 Q
[
! x, D4 M# i+ t) m& \set xcor xcor - 6 + random-float 15
( @; X& L& z4 z& n! `  Rset ycor ycor - 6 + random-float 15# f) G1 y+ f9 c8 Q$ x6 n. j
], e' m) ]* X0 N0 N4 b0 H" W
end
+ a! r6 I  E- V8 N( |/ L) Oto unit_plan
  t) R) {7 k' x0 z( G6 \ask turtles [9 ]5 r3 D& H( j+ S0 g' O2 B3 f" h
if (remainder who 5 = 1) [set a who
7 [7 ?& Y- s/ s: f& K* d                          set x ( 0 - Wid / 2 ) 5 ~: p5 B+ u( y# l7 |- o( J4 K5 z& z
                          set y  Dep / 2 ]; g/ j$ c" [2 z1 b! I
           set b  int (a / 5) * 5
: `5 d& v4 A, Q; g; I/ B    setxy ( xcor-of turtle b + x ). W0 {4 F" d6 E2 W4 w( O
          ( ycor-of turtle b + y )
' @4 R" n, H3 @if (remainder who 5 = 2) [set c who7 F; O) n$ r4 V- O
                          set x ( 0 - Wid / 2 )
% }' k' W7 }' J0 r                          set y (0 - Dep / 2 )  ]& j/ `( A: d: ]5 C! z! p
                          set d int (c / 5) * 5' U' Z" F! t4 w. g
   setxy   ( xcor-of turtle d + x )
9 g9 u) ?4 ^! K           (ycor-of turtle d + y )
2 [9 c4 X7 p) t( J! ~2 i5 N         
0 V, b+ S4 h3 H4 Q            
3 o* z+ g% v9 V/ Pif (remainder who 5 = 3) [set k who
7 I/ ]( B8 |* Q! _; w" I                          set x( Wid / 2)  
4 S: i/ _8 J6 g0 n                          set y (0 - Dep / 2 ) ]
  ^: e9 B$ N# M" }                          set f int (k / 5) * 5
( M! f3 y" }$ t. k, h5 @  setxy   ( xcor-of turtle f + x )% U- ]" H5 n4 X% F( |
           (ycor-of turtle f + y )
7 v& Q' g0 z7 Q% b" E           
# O  F, ]$ o" }( @           
, U2 Y: B7 B; ^  I/ G8 [if (remainder who 5 = 4) [set g who2 G/ K" m* V; n+ x0 a  @
                          set x Wid / 2
6 y$ B3 ?) q2 y                          set y  Dep / 2 ]
+ q) E0 Y: S' k" s9 q, |' l: p9 H                          set h  int (g / 5) * 5
/ E- n5 Y) m6 @( g+ d  setxy   ( xcor-of turtle h + x )
9 ]9 `" v% a# I( t% Q. _9 M$ k. |' X           (ycor-of turtle h + y )
3 g/ V: J: q/ M7 I% L2 {                          $ u0 t* Z: {4 Y! a- y+ D8 k) |% T
                          
. a0 @5 D; _, l+ {1 O- T                          ]5 L! u" C! H" A8 X0 s7 L
end' {) C- M4 g( W& u$ d+ D
9 i2 g2 U' K1 ]" @8 J9 A6 g2 w
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
% T) X" ~9 z4 J3 }: u  C6 M3 I, n应该是) a' E' V8 A& g8 F; J4 k2 E/ [
ask turtles [5 s) B, }$ I) j# b
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " S8 z* ]! @+ m+ A
                          set y  Dep / 2
0 X$ Y6 `3 Q" r, `  p- `9 x* P( S9 S           set b  int (who / 5) * 5  e7 B" H6 X( k
    setxy ( xcor-of turtle b + x )
+ j5 n0 G2 d1 V) r4 z; l6 j0 c          ( ycor-of turtle b + y )]]
- x: g9 i+ `9 Z5 A$ D" uend5 J5 N& y: e. s: v
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-14 17:42 , Processed in 0.013834 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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