设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8003|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。; @8 ^/ L( D8 G7 V% V
2 D3 \3 l  Q. Y
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 I: T3 M" h/ ]7 {. ]; ^& _* F1 f
+ i* S* d) Q2 ?' S
turtles-own [a b c d k f g h; L$ a) t/ e( ~2 l# s
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! V: }6 B( v! h; y1 x]
5 u$ }4 r9 ^( _% U3 ?  y* N/ A. j# Zto new
' g  P- K2 N' n% I3 q9 K  ca
3 C: X2 }, @3 _# o  crt 5 * num_of_building
( `& g0 f. i# e+ H  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
0 ?% _- g- F* A* t+ P  scatter     ;;keep center-turtle random positions
% M2 ?& Y" p0 Q9 ~" d: [5 b  unit_plan   ;;make up the building plan
2 V# t/ L: D% j, W+ Fend* u8 U) y; ~( z' _
to scatter
( ]% c* o" s% V  ?. u8 @3 mask turtles with [remainder who 5 = 0]9 E0 y. M: o1 I! y' c5 d5 K2 s! B% s
[' V% @! p' ~. P. v/ i" p+ I# r
set xcor xcor - 6 + random-float 15
- a: `: j8 A+ _7 uset ycor ycor - 6 + random-float 15
( r& n+ q2 V7 F& _# z0 p]) J, d$ x& W8 @  j8 q
end
7 ^9 W$ T( I$ Z3 [4 Sto unit_plan
% x2 X# z+ s) G; i) k' {8 Q& M9 gask turtles [
9 _6 S% G7 G+ m& N8 Pif (remainder who 5 = 1) [set a who " J4 y" P+ [, a: Q+ ~* u1 v
                          set x ( 0 - Wid / 2 )
6 ^" P+ g6 [# \8 b) j                          set y  Dep / 2 ]
  K- X9 V+ D% a; J! _           set b  int (a / 5) * 55 t, `, q; y0 f
    setxy ( xcor-of turtle b + x )" @- r" T* ]$ k- J8 R5 v
          ( ycor-of turtle b + y )
( T3 N9 s# k0 m! q% y5 X. fif (remainder who 5 = 2) [set c who, ~& a' ~+ y  \
                          set x ( 0 - Wid / 2 ) - @7 m( L$ ~. d# v9 g
                          set y (0 - Dep / 2 )  ]
5 s$ I  `% y5 i* [                          set d int (c / 5) * 5
3 H+ i8 b* P3 w) X' V1 ~4 i% g& h   setxy   ( xcor-of turtle d + x )
% J! l% N5 |7 }" X  q# t           (ycor-of turtle d + y )
) x0 _: y7 {  q2 {$ m* l         
; p4 `/ ^! ^0 t            
# n2 T- c6 S' H( Xif (remainder who 5 = 3) [set k who& U: c- _& q3 p# e% f
                          set x( Wid / 2)  
3 }6 e- H  L/ f/ U+ J4 @                          set y (0 - Dep / 2 ) ]) A5 J" e$ m, e, a% e
                          set f int (k / 5) * 5
+ t0 E9 v7 \$ g1 k; G0 x4 c  setxy   ( xcor-of turtle f + x )
/ `# z+ ]2 L; k8 L           (ycor-of turtle f + y ) 7 c7 r" F1 \% q! n1 X; }: R( s+ c
           
' b! L% @, b9 R           6 g, c% A! f  m% }) T3 r7 p
if (remainder who 5 = 4) [set g who
: E; R* {# j" A6 N3 U                          set x Wid / 2 2 b! k8 Y  F$ t! a9 b
                          set y  Dep / 2 ]5 P1 F0 H: r$ Y) z
                          set h  int (g / 5) * 5' `( ~( \- t3 S" }' K5 i
  setxy   ( xcor-of turtle h + x )( K1 k2 C& Q  Z9 i* Z
           (ycor-of turtle h + y ) . ^+ i3 R  l# l& C
                          
8 A  H  d2 C) V$ w: C  D3 z                          , K$ g8 Z" q: j( t5 x) A
                          ]
& f5 ]4 A1 ^5 ?3 N! `, K  Oend+ L7 p8 D1 v$ c( v& W6 N  F
1 d( ]% f+ _/ R4 R
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 P, `1 R& ?. q! V0 m应该是
* ?" Q2 O; B* z1 ?# }ask turtles [
0 M7 n+ K3 [4 [if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 {  O# J7 R  M+ r
                          set y  Dep / 2 ; ~' S8 r: y1 h& r3 c3 ?
           set b  int (who / 5) * 5
% n9 @: z, i5 W  d/ [  V    setxy ( xcor-of turtle b + x )2 ^$ w% W6 ?/ F; r+ ^& _
          ( ycor-of turtle b + y )]]7 M7 ]5 z# l8 N
end! W! n- f0 _1 M2 t" J; B
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-27 18:24 , Processed in 0.015800 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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