设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9004|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。7 S1 B2 n) i% g
! E; r% \9 F% B# v
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 s, j& \$ u$ x7 G# O) Q" S
1 ~3 Z, P, c8 }1 v% K/ lturtles-own [a b c d k f g h
# b* `1 ^4 F1 ]) h3 p, m$ x2 |2 u  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : d) q: @* M7 R
]: A/ t/ J0 g9 Q! l5 S( `
to new% ]7 Z6 \: F# @/ b% y0 d
  ca- V4 D" r6 @6 G7 ^' \# [( N
  crt 5 * num_of_building
+ E8 y7 u- W, R0 K  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]( g  H! M4 u# O4 j  e
  scatter     ;;keep center-turtle random positions
+ _: @2 o. P. d+ [  unit_plan   ;;make up the building plan
; E8 h9 r: J/ W4 ]3 Qend0 B9 y, g5 N& d  s
to scatter
3 u: R2 z3 r- L- B6 {/ xask turtles with [remainder who 5 = 0]
" M# r$ k& y3 @- o[
0 m9 |* B! T2 S* K! fset xcor xcor - 6 + random-float 15
. v9 j( a; Y( C0 V3 E" y$ C1 pset ycor ycor - 6 + random-float 15# J5 U/ K; u! L4 L. t( e* {
], H- Y# {  I. }" Q( b; F
end7 C5 h6 X7 U6 p. L/ z
to unit_plan 1 Q! T$ X+ X- a1 c' E
ask turtles [( k/ D- R9 E- [$ C# [
if (remainder who 5 = 1) [set a who
& S" X+ T6 m& p                          set x ( 0 - Wid / 2 )
: n* ]0 S& r; z                          set y  Dep / 2 ]8 i' A" g! D! ^7 L" e6 @- y8 \
           set b  int (a / 5) * 5  e/ c; H3 P8 t& _3 a
    setxy ( xcor-of turtle b + x )
0 ~- h9 C$ p  p% R          ( ycor-of turtle b + y )
$ c* v5 w/ M8 w) |: fif (remainder who 5 = 2) [set c who* i! ]) I* a9 c$ R1 n& {- z+ k! J
                          set x ( 0 - Wid / 2 ) / W9 |& n1 m* u, I1 ]4 b0 [
                          set y (0 - Dep / 2 )  ]+ }- p6 f) F; Q+ I6 E" X
                          set d int (c / 5) * 5
1 d6 @& j$ g" w. r8 H   setxy   ( xcor-of turtle d + x )/ {4 m1 X0 V5 k* C
           (ycor-of turtle d + y ) " D! q2 u/ k" F2 S. o% n9 e6 c6 a
         
; w6 h& S; T. W            1 M& Y1 l5 z; F0 {" L/ b
if (remainder who 5 = 3) [set k who
: ]$ H% u5 _" Y; K                          set x( Wid / 2)  
! J5 L/ W" L+ U6 K5 x                          set y (0 - Dep / 2 ) ]; r. o  R- j( Q: o* @- S
                          set f int (k / 5) * 5, q. F( ]. l! a# H$ n
  setxy   ( xcor-of turtle f + x )$ T$ C; _1 T; v2 y
           (ycor-of turtle f + y ) & a3 t/ g  X% a6 F( w  f4 e
           
, W& w2 Q' u0 L; I2 x' k* d           8 z& A2 ~* [5 Y* k7 A' e
if (remainder who 5 = 4) [set g who5 |: n( J/ @  t  ?( ]
                          set x Wid / 2 , Y' a( g& d' N, Z8 s, b; d4 _) L
                          set y  Dep / 2 ]( E0 _: Y/ m1 b3 g2 J! ]- h/ f; d" I: B
                          set h  int (g / 5) * 5
% l0 S/ b/ y" Q% `, f  setxy   ( xcor-of turtle h + x )/ ?6 p) p9 w9 @! v4 q7 v
           (ycor-of turtle h + y )
' @4 V! ^6 N2 b' ^1 M                          ' I2 b) u# {2 R( I& I
                          1 Y" ^! H, p( k# {8 h( o7 M3 _% M, A
                          ]% G; I- B# N/ R; q: V
end4 L# R5 P9 u' V, D6 u& J
( o4 n) \. h7 j4 w0 N* w
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,3 v8 k% S# R/ }6 f2 i- U
应该是- q  H# T3 d4 r0 o) R
ask turtles [
: ~6 v. |. R0 S1 z9 u: h; Rif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) / k0 [6 b+ }) s3 ~  X1 K3 s% e* k# K) a
                          set y  Dep / 2 + n1 J4 n+ x+ ^1 c
           set b  int (who / 5) * 5, S0 _1 S, W; x) L
    setxy ( xcor-of turtle b + x )1 c! M' J4 v$ o6 B; k
          ( ycor-of turtle b + y )]]
- e9 g% Z" c7 h: o2 Uend& g% e0 |5 W. G& X9 J6 N# p2 c
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-5 05:11 , Processed in 0.016773 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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