设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6794|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。! L0 W' b; g) }8 k# }, p# E
$ c. D6 i( N- @7 G2 h
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* x8 A, A. j' k" z3 U; x  a
8 C5 q" U( T9 R8 x* g% ?  l5 _. M
turtles-own [a b c d k f g h2 w& {% V+ B2 e1 u/ z5 ^
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 G- f: P' C2 g( k" R]3 c( D/ [7 E  C) b7 X
to new2 H1 [7 |3 |. T) F1 \- d
  ca
' O4 d# q1 L# x% D  crt 5 * num_of_building
  i# u, t: s8 }4 O* |  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
& I% j+ }) ~( g7 H' r* l5 p  scatter     ;;keep center-turtle random positions " }4 l- v; ?7 P# R, t
  unit_plan   ;;make up the building plan! M2 @) |9 v1 y
end' C+ u: D( u8 X
to scatter
& X" P. K2 B9 l0 Oask turtles with [remainder who 5 = 0]  k, I! x) i  q  I3 J, u6 J
[
) Z2 O: _7 d+ o( `$ ]set xcor xcor - 6 + random-float 15
- P6 u, c; P# d2 `2 n3 v- sset ycor ycor - 6 + random-float 154 c3 N& r2 P5 a& p  o/ {
]5 v4 F9 p3 S3 B" D+ g/ x
end* K; B/ `1 ^+ z! ^) @
to unit_plan
( j) e! N7 j2 ^5 V( n$ {ask turtles [
$ s  x9 `& Q5 H* u2 v( @if (remainder who 5 = 1) [set a who
" O- Q, K* x5 t* T" E  G4 T1 L6 R                          set x ( 0 - Wid / 2 ) ( C7 D4 }! _, S0 P- M# F
                          set y  Dep / 2 ]
4 v/ Z2 L9 m% |           set b  int (a / 5) * 5. c3 s% X( Y8 e' H( Q2 ?: M
    setxy ( xcor-of turtle b + x )7 t3 L! b1 I, S& G2 {; A8 o, b& h
          ( ycor-of turtle b + y )
6 S0 u# y0 H  w4 M4 Hif (remainder who 5 = 2) [set c who2 [  K+ J" H2 k, `- K
                          set x ( 0 - Wid / 2 )
- p; l2 ~" s) R- I1 p                          set y (0 - Dep / 2 )  ]
; }/ k& y! b8 Y- T4 x) ]                          set d int (c / 5) * 5
# B0 ?9 l) ^% Z5 L% p   setxy   ( xcor-of turtle d + x )
) G/ ?2 S" C( C  F( X           (ycor-of turtle d + y ) , g3 ]( I) j& u2 J, Z9 _' o) C6 d
          : `6 M' P8 c$ d7 C# C
            
! D5 j: t4 v5 B4 k) O5 fif (remainder who 5 = 3) [set k who
. U& M& e$ a2 r0 V7 g+ c, C' A: P( p! Y                          set x( Wid / 2)  ! U# n5 i* ]' D
                          set y (0 - Dep / 2 ) ]6 M& r) h! _5 c) M% D) B- |5 H
                          set f int (k / 5) * 5
1 u9 W+ Y+ A7 u  N0 Q" ]7 I. A  setxy   ( xcor-of turtle f + x )
- @- m6 G0 d. }; ]' U           (ycor-of turtle f + y ) . g* U2 |7 h! U; x; G/ H
           
4 u7 U6 Z! E& G1 c- v, A7 ^; m2 k           % Z1 \% D! V4 x! o# o' m1 M* f
if (remainder who 5 = 4) [set g who  |7 p$ g0 b: g# E7 |8 E
                          set x Wid / 2 & y, F/ W& w$ \5 f- P% w' ]
                          set y  Dep / 2 ]
& _. X# [3 C) V1 I8 ~                          set h  int (g / 5) * 5
. T) _+ ]: V- W# Y& [  setxy   ( xcor-of turtle h + x )
( `0 g$ S& `! _5 g6 D' Y0 }0 o           (ycor-of turtle h + y ) , J4 e- f; [& Y
                          $ ^2 C" w: }/ ?9 ]5 I# @
                          
8 n. g+ Z- \: I5 v. s                          ]
2 J3 Q# O, W- J8 a& Q9 Oend2 d3 T1 y+ K0 U" R% k; G# g  a
. X2 I" V9 |! b
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* u1 U  Q8 O1 J; q+ ^
应该是
. B4 }! \0 E: e3 v7 @ask turtles [
; D( x/ p+ T3 `: K* r, x5 y9 u) ^/ Sif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
7 L9 c! V) D" N# `6 `/ Z9 V5 t                          set y  Dep / 2
9 u4 ~: ~$ Z& W! G. W           set b  int (who / 5) * 5& c+ s1 O* d" S; a8 G
    setxy ( xcor-of turtle b + x )
' ]6 t7 H3 }) D  X          ( ycor-of turtle b + y )]]  {' x' Q, B' k2 H, G4 D
end
3 j, ?! g  M0 r! @" Q& M& N8 D$ H/ m之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-23 22:49 , Processed in 0.015316 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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