设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8439|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 {: J& v' n( a+ R0 d" _8 R

2 G+ e4 S6 v$ v& U7 R* ]# w但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。" I0 y8 O7 ^2 H! j! E9 [5 _
9 u% i/ r- Q; X: r
turtles-own [a b c d k f g h- H' Q4 o" u5 v$ H: M
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle   e1 b# J2 b0 R
]
# f. @. j1 l' [# Z- l3 W& wto new! s* z5 G$ b0 Q
  ca
; p+ T$ T! F3 v% b, b6 r  crt 5 * num_of_building- `9 n' d) w: C0 ^
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
$ {; t! ^  E8 e! V) E  scatter     ;;keep center-turtle random positions % X: v8 u! S! H+ E  J) o6 g
  unit_plan   ;;make up the building plan  e1 `! o2 d% L9 v: @$ B  \  R
end6 m( F. M  o3 o$ }
to scatter+ v& a% |( w  \  I7 \% z
ask turtles with [remainder who 5 = 0]0 n; K* V* {* X) @: H+ D
[9 {& s3 e- v6 u! F, A
set xcor xcor - 6 + random-float 156 \% ]3 J5 F2 U2 d6 h
set ycor ycor - 6 + random-float 15
: X/ `3 `. k! @8 F]
4 }' Z% p3 o2 O4 vend9 o7 M% [# \: y6 n; q
to unit_plan . v! y0 a" Y* w; c' @4 S
ask turtles [5 N6 g' W' q; W) _
if (remainder who 5 = 1) [set a who
  Z: f" C7 Q9 G, M- z2 f                          set x ( 0 - Wid / 2 ) 9 Q0 m% Z& p, N- S
                          set y  Dep / 2 ]1 a, M# a" U) t3 n
           set b  int (a / 5) * 5/ [" @+ N& t( j: X* Z) }' x! \
    setxy ( xcor-of turtle b + x )
8 f4 {, Z4 F9 T% _7 A. L/ n4 o  {          ( ycor-of turtle b + y )4 F' }2 }. G9 Z* P+ `6 b$ a& c
if (remainder who 5 = 2) [set c who& m% f& A; s/ `7 E4 c- k
                          set x ( 0 - Wid / 2 )
$ A4 ^' Y  \& _4 W                          set y (0 - Dep / 2 )  ]
1 N3 f) R) H9 u. y/ y$ `6 c# u                          set d int (c / 5) * 52 q) `0 t7 s0 V6 R, n
   setxy   ( xcor-of turtle d + x )
1 ^6 ?' y7 w- h; O* Y, Z           (ycor-of turtle d + y )
4 Z0 l0 o' Z, N% [4 |         
% _( R; S% V! @( q8 R! B  a0 x  G            
7 Y2 P7 i" E, f) b8 X! `if (remainder who 5 = 3) [set k who
& L% x# J1 X0 Q2 d1 v                          set x( Wid / 2)  1 C4 [  g9 j7 a+ j
                          set y (0 - Dep / 2 ) ]3 p5 ]6 b1 v. d* n, Z1 P! y2 H
                          set f int (k / 5) * 5
( n( o2 D2 ?$ K1 O( K" v8 k  setxy   ( xcor-of turtle f + x )
4 e& l" i; s. c! _0 H2 p/ ]  `           (ycor-of turtle f + y ) 1 ?  j5 d6 Y$ {# o. D3 W, g8 D5 ^( M
           
3 s, L2 Y* |$ j( E1 d: ]           
5 a+ Y' o8 i3 a0 `4 \if (remainder who 5 = 4) [set g who
4 O7 K; Q+ p1 Q                          set x Wid / 2
( `) Q4 B- R/ f# [                          set y  Dep / 2 ]
9 j6 x3 b- p2 N                          set h  int (g / 5) * 5- g3 n5 J- [; @
  setxy   ( xcor-of turtle h + x )
$ I& B  d% c2 F( x* l           (ycor-of turtle h + y )
) \" J9 F( ~9 }* I2 d                          
! `! y6 G1 a6 O9 G# f/ {                          
7 `. m; y6 N5 ^$ d' n( O" V# h* _                          ]* ]0 ]2 E. @2 Y2 O  q: R
end5 T9 J6 i0 O7 d7 }

7 a# R2 `) a2 f( H[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 b( \# s- \* g$ N
应该是" o0 E1 ]$ x6 Z5 W
ask turtles [
4 Q/ m3 ^" D: k9 i  Aif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 H: u. S" W* F% t                          set y  Dep / 2
+ \! J: E3 P' n           set b  int (who / 5) * 5
5 }: ?6 ?. P' \' v    setxy ( xcor-of turtle b + x ), z, }0 k; T; b/ ^4 w
          ( ycor-of turtle b + y )]]* T5 X* T* _9 P8 H7 `* ]
end# ^& Q" a4 k* p  I1 }. t  L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-26 15:35 , Processed in 0.017199 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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