设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8445|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% {$ f1 E: F0 ]5 B$ s. ]: F* p' D) o! t+ e6 D
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 I  W9 G: a8 o
/ u3 a3 c4 Y! N) {+ Q( a
turtles-own [a b c d k f g h* B  z) o, Y( o$ S9 U5 W1 R) I
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ I) H& d0 v/ P& x: b! E
]
9 D/ j2 j0 P' yto new1 k5 s2 n) S+ S1 g& w
  ca
" s1 s! S9 \; j  crt 5 * num_of_building
0 t( l1 R5 j9 k  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ [& \" d# z& K( H7 B2 K( Y
  scatter     ;;keep center-turtle random positions : S3 C7 I, p+ ^, N
  unit_plan   ;;make up the building plan
8 |. H' V1 o! @$ N4 i% y$ J& aend" H+ \. U- x# @' Z
to scatter
( O7 `  h3 u5 @  E% J7 [ask turtles with [remainder who 5 = 0]
! X; n. j: I) R0 ^[1 [' a) j! L- b+ \5 t5 J. p' A
set xcor xcor - 6 + random-float 15/ W) a( @4 p! B
set ycor ycor - 6 + random-float 15
/ y& u, e1 k! w+ J" o2 }6 B6 ^]# Y% ^. p6 q4 `+ \4 X2 \+ J; u2 f) R7 |
end& R$ ^8 g" U$ M+ ]) c8 a
to unit_plan
6 p6 F. h/ B' q8 M, w$ f; U, a( K, oask turtles [
4 c- w$ R" z5 f* @  X( eif (remainder who 5 = 1) [set a who
0 H. s8 ?8 ^2 K  f9 B                          set x ( 0 - Wid / 2 )
9 b3 X$ D" ?) G8 ^( x% M                          set y  Dep / 2 ]+ U: q1 i' `% h1 p+ J  ?, y" d$ T
           set b  int (a / 5) * 5
- E; M' |/ h4 v    setxy ( xcor-of turtle b + x )
) m1 g# ^5 A( a          ( ycor-of turtle b + y )
7 _: E- r! s" n5 j4 s% H2 K) bif (remainder who 5 = 2) [set c who
3 ?- ]/ e: u7 j% ?7 r0 u3 Y                          set x ( 0 - Wid / 2 ) 6 ^* ?5 k" t$ ^( x* l) X
                          set y (0 - Dep / 2 )  ]
9 t4 {. M- @7 ]3 e3 o) q+ b8 D4 o                          set d int (c / 5) * 54 {* t  F2 A. B0 i
   setxy   ( xcor-of turtle d + x )* ]9 ~( f$ \6 m  s7 G3 k4 T
           (ycor-of turtle d + y ) . h6 V0 o  a% {& A
         
2 S% @4 t0 i% P: R' Z! |+ h, y            
, j1 ]$ K4 \) _if (remainder who 5 = 3) [set k who
3 E6 Y+ X7 Y2 g5 ]5 \                          set x( Wid / 2)  / h- j1 g# a+ w2 x0 ]
                          set y (0 - Dep / 2 ) ]
  n+ m6 t8 L, {7 `" F" m                          set f int (k / 5) * 51 F6 U* ?, C, w$ R/ k6 V
  setxy   ( xcor-of turtle f + x ), m( W* W& W1 h8 C; |4 G2 Z1 l
           (ycor-of turtle f + y )
/ S/ y: k4 t# W- @9 V           . d2 _% W9 z9 p
           $ o# b, ]5 r( e! M6 n- C7 x8 B
if (remainder who 5 = 4) [set g who
0 a6 D" e$ K- n) {, ?+ Q9 t                          set x Wid / 2
7 j. h. O  q/ `5 ?; q                          set y  Dep / 2 ], J. f4 Y2 @: V1 G. D, b
                          set h  int (g / 5) * 57 h. E0 l" }# F* M
  setxy   ( xcor-of turtle h + x )6 p. f0 A% w" L7 F' ^
           (ycor-of turtle h + y )
) o  A8 Z- w8 T, d                          5 I% ^0 _+ c2 d# \- v. B- z# w7 N% @
                          0 k# W6 k/ ]# [0 W0 W
                          ]# {! L! B* r2 p
end& z; B  C; X6 t
: M2 n# m$ B3 {/ M
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
& B* Y( Y5 B, V) D应该是; M6 l. J0 H$ s3 _2 j. y: c( |
ask turtles [
% z. y; u' g% _5 `6 Cif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 U# Y' t) k! u/ {                          set y  Dep / 2
/ q. [8 M2 d) z" O; k! \) |# k) r2 }           set b  int (who / 5) * 5+ N8 r9 Z- a' ~
    setxy ( xcor-of turtle b + x )
2 w: J- a' M: L) z4 B9 A7 l          ( ycor-of turtle b + y )]]1 y3 l) E) Q; Q3 q9 M9 E/ K  X  X6 c
end
& C/ l1 x8 Z) N% P之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-26 22:48 , Processed in 0.015373 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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