设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7573|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
  H8 U) j5 P8 b* ^  W1 Q. D9 f$ u: n" Y$ n
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 O9 u. I( N5 K- c# q( E, N/ G" ^2 d# ^0 ^+ \- y( [* ~
turtles-own [a b c d k f g h
5 T( @5 O  Y- ~. z2 ?  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , \- A5 u8 |$ K# j
]) `) y0 P0 l/ w
to new8 G; S2 Q$ y! Q) g
  ca7 J) T! c/ j3 D2 J9 _7 u, s2 X/ Q
  crt 5 * num_of_building; D  C% F2 Z: ]6 z& y, V: ?7 T
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]# Y$ v& E" R4 [4 t  T/ _$ B) s
  scatter     ;;keep center-turtle random positions
- @4 }$ H* a4 r  unit_plan   ;;make up the building plan5 `. i$ h+ R  I2 m! D4 n
end0 }6 V2 i+ ^# f+ O+ D8 }# ^8 ~# O# [
to scatter4 f' O+ C6 e" ~3 X/ `( e# f  Q
ask turtles with [remainder who 5 = 0]
* m$ F4 A: g( ~* g[, N. o8 G9 J  y6 V3 e9 @% j
set xcor xcor - 6 + random-float 15
( O' M/ c; ?* ?* dset ycor ycor - 6 + random-float 15
* a* _5 F, d2 T4 b# ~: Y/ D]
. ^, x3 o( w2 z" u  \4 i" |9 q. ]end
; ?5 E1 T) V& Wto unit_plan
8 h# C9 e' p, s  lask turtles [
2 @  u0 p+ ^3 F- zif (remainder who 5 = 1) [set a who   _) y& l0 O, ?
                          set x ( 0 - Wid / 2 ) ; x/ y2 o" \# N# b# [
                          set y  Dep / 2 ]
! ?* {* {0 |' \- V9 e  t! T8 _$ }           set b  int (a / 5) * 58 c5 C/ Z) B: L2 A
    setxy ( xcor-of turtle b + x )& O' m. ]8 ]) M4 Z
          ( ycor-of turtle b + y ), }4 F" u( e+ K/ Y1 g
if (remainder who 5 = 2) [set c who
$ n" o( `4 |% [! T6 h                          set x ( 0 - Wid / 2 )
1 W! k4 E" L3 V                          set y (0 - Dep / 2 )  ]* C. y. e/ k! I# S5 c0 S- R
                          set d int (c / 5) * 5
" ~. V+ r( @, a5 N/ _7 V   setxy   ( xcor-of turtle d + x )
/ T: }' E/ d5 A6 f/ r( s" A; T           (ycor-of turtle d + y ) ' i2 }" {3 ?2 G- n7 t
         
* H( Q' i$ I+ U+ ]# y# Z            
& t: D5 m5 ?0 o8 lif (remainder who 5 = 3) [set k who
  P1 U2 f# x& k/ I                          set x( Wid / 2)  
) Z3 q4 M3 ]1 f5 N7 S* k                          set y (0 - Dep / 2 ) ]
+ C* [8 z) W4 C" y2 i% B                          set f int (k / 5) * 5
0 f8 G$ N* d, C) V  setxy   ( xcor-of turtle f + x )
# w2 ]3 p2 J. C4 l& N8 D; V. ~; U           (ycor-of turtle f + y )
2 {0 G; p4 Y5 \* j$ R- ]# J' u           
+ T1 ]: a% W6 x' p7 t) h4 A           
! ?5 U# g( h2 G5 H0 U) ~4 Eif (remainder who 5 = 4) [set g who6 }$ {- I' }3 f3 i
                          set x Wid / 2 6 V% L( Z$ @' g
                          set y  Dep / 2 ]
! {" {' v5 v& M$ P                          set h  int (g / 5) * 53 _6 B$ a$ X$ d$ y/ x6 Q
  setxy   ( xcor-of turtle h + x )
0 a9 ?* B6 k7 L           (ycor-of turtle h + y )
( U2 W' l0 A# @8 E; m- E) p- n                          + N$ ^& Y, L! A& z
                          4 i+ ?5 \& J( Y+ k; u* W& Q% O
                          ]0 H- f" F( m7 K, R6 l; p
end- [7 B/ H* h* M% r, t
% z! T. U7 H( v
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! K/ a4 @9 y- w) v0 U
应该是1 @/ X+ h8 v! o% C+ |5 b  k+ i3 F
ask turtles [
$ p: q# W% O/ \. kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ c5 h+ S& k/ M$ f                          set y  Dep / 2
5 V+ [' M" B2 B8 Q" N           set b  int (who / 5) * 59 {3 c/ u! j: r; F: b/ L8 a
    setxy ( xcor-of turtle b + x )+ P; r7 \$ M4 b) `4 J/ q
          ( ycor-of turtle b + y )]]' o, o; h% T  g" B5 ^: @
end6 c6 f8 e6 P$ i0 [, K, \
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-28 09:15 , Processed in 0.019980 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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