设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7127|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。7 `7 i$ g2 Q0 ]1 A- Y* i

) K& p* }' L9 r+ q3 f- q& D0 k但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 @) U. u9 K9 N3 \, U9 d" c! o" O5 e) }- _. c4 F
turtles-own [a b c d k f g h6 e4 u/ F- H2 Y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; ~7 W! m6 ^0 Y# s- _
]
2 J3 w8 |. W/ R. Y# U5 nto new( b; }) _% x; Y# r! B  m
  ca& |  j/ n/ k3 Q2 m6 E
  crt 5 * num_of_building6 T, `5 X2 P8 O% ^
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]3 p- O" Q' t, S5 _3 g5 }( S
  scatter     ;;keep center-turtle random positions , c- ~" V; u& Y1 K% s" R& j& F
  unit_plan   ;;make up the building plan. h( [# X# T8 r
end2 S3 X3 {. k6 ~
to scatter
  \2 g9 Y, L* i# L" {ask turtles with [remainder who 5 = 0]$ @& o0 E5 g/ J7 c
[; O, t  _6 N2 R$ @; w
set xcor xcor - 6 + random-float 15
# p9 I/ f. s) P# yset ycor ycor - 6 + random-float 15
) x0 Y- H% o* ^* {]
. d% {6 \0 W/ y6 A8 v2 [$ pend" f# l' ?/ U0 Q4 e* n8 _- h
to unit_plan
% d. c" a& N2 g' C8 A9 R: mask turtles [. k( T: [" L" h9 g* b- m
if (remainder who 5 = 1) [set a who
$ m* x6 a9 l  y0 R. K* {0 L( Y2 r                          set x ( 0 - Wid / 2 )
/ s. p% ^. a. ~3 D4 l( z                          set y  Dep / 2 ]4 i: @& u) ?" I
           set b  int (a / 5) * 5' m" F  l9 y9 k! G! A
    setxy ( xcor-of turtle b + x )% |$ |  v9 D3 I: K: e
          ( ycor-of turtle b + y )6 q  v& b( v( X" N- A9 f
if (remainder who 5 = 2) [set c who
* C6 c% I9 f1 {9 m                          set x ( 0 - Wid / 2 )
, B- U) k6 ], c# |& d9 g" {                          set y (0 - Dep / 2 )  ]
$ g9 ~# m# [, }# Q0 l) p) z6 r                          set d int (c / 5) * 55 [9 E; n+ w8 ~
   setxy   ( xcor-of turtle d + x )" ^( K! @- r! s! a9 \! f
           (ycor-of turtle d + y ) 4 u: b* c; o( r* ]* k' n; Q' k! p
         
2 E% J9 G/ p4 m% X/ z( ~            3 ]$ V6 k& a' _
if (remainder who 5 = 3) [set k who+ B. j6 b1 U. t$ e
                          set x( Wid / 2)  
3 {9 M% R  S% O                          set y (0 - Dep / 2 ) ]
8 ]* r) i' r5 A/ m& h9 Q                          set f int (k / 5) * 5
* C5 d# E  Z! h' I" N& p  setxy   ( xcor-of turtle f + x )  y. u7 d% J" A4 a8 ^& m
           (ycor-of turtle f + y )
5 }, M- ~. Q% `+ ~6 C4 T           
) ]& h6 U( x& U7 F/ S           
* j2 H6 c! s7 Q2 f. F$ U3 Hif (remainder who 5 = 4) [set g who
# k: `" I  q' X1 n$ `                          set x Wid / 2
7 q8 h! M' ~3 T- R. ?                          set y  Dep / 2 ]) R" z, k/ R7 Y; t3 Q
                          set h  int (g / 5) * 57 o; j; r+ Y; o" X; f/ ]
  setxy   ( xcor-of turtle h + x )
$ X& [) y! m3 g           (ycor-of turtle h + y )
  @( \& B2 l  B$ ]                          
$ H* N6 J+ z: J. Z( C4 M                          
% V3 L) f) t  r' G# x                          ]5 Y" u) c" @. o$ y4 M
end
7 ?% H; a1 W- M, a( N- ]
  q# @7 U6 h: H+ b' v: k% a! C[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
( l$ M, }2 i5 W: M应该是
% U/ C$ W$ ~: z9 ^) K& mask turtles [. \. x8 T" Y& H5 \) c# g: ^& |+ P& F
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ z% U7 t$ `; u8 \8 Q# W! O1 J                          set y  Dep / 2 ' b: d6 I) s$ `1 [# N& p
           set b  int (who / 5) * 5
2 e1 O) w; D6 R: I    setxy ( xcor-of turtle b + x )
1 l9 Z# d, |3 O          ( ycor-of turtle b + y )]]
7 h/ h0 X# n6 Y$ X, d$ Jend0 a& B) o3 {2 k! c& v# h& q7 X% w
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-2 23:55 , Processed in 0.016131 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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