设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8106|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' ^/ I1 p% g2 `
4 c. Z2 R$ j# |# @" M' `$ n% K
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 U& a% y) Z6 N
0 s) N" A& G4 l) \% U- W# g
turtles-own [a b c d k f g h( @5 x( K9 `; c8 x5 l& k
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) Z0 ]0 ~: z& `, _4 O
]
5 g& x) ~* l% P/ c" W( Y  pto new
# O) g' p+ ?/ ~! S  ca: e$ h) m8 F3 B  W) Q
  crt 5 * num_of_building
/ q5 U3 h% q# s  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]6 ~8 w: x: c: w; G
  scatter     ;;keep center-turtle random positions ; C4 C8 T. i. ~$ D- x
  unit_plan   ;;make up the building plan/ ~  F( a, H  _2 K! m
end
" q$ o$ Z# B4 L) W  I( D& ]' nto scatter
9 r5 R& z9 G9 }9 P. R9 j8 S% Rask turtles with [remainder who 5 = 0]
6 ~4 H$ G8 B$ H7 `) m7 w[
2 e# d: i( |" n' a& e- k( Qset xcor xcor - 6 + random-float 159 z) O) I& B! q
set ycor ycor - 6 + random-float 15
' L. s* _$ Z6 s/ I' `]
0 Q; K% [6 t" B% b. s8 Z7 aend
; G0 K) j- B5 \1 Z3 uto unit_plan ; G( Q( d# j, B' H+ X1 q
ask turtles [3 e- a; O7 w3 i9 n# A; N: X
if (remainder who 5 = 1) [set a who
" N- m! I7 b9 O0 Q$ _9 N( `0 \                          set x ( 0 - Wid / 2 )
& M; Y) U7 g* K7 N( L7 z                          set y  Dep / 2 ]0 e, ^% @+ s  t: a% D8 X
           set b  int (a / 5) * 5
5 F2 N8 l8 ?* ]7 z( n$ W3 d    setxy ( xcor-of turtle b + x )2 k! W4 ^6 N1 l. D! c
          ( ycor-of turtle b + y )1 k- ?# z; ~2 W4 Z4 p; I
if (remainder who 5 = 2) [set c who$ K7 Z  l) K. V6 |% J  m
                          set x ( 0 - Wid / 2 ) - G8 x: i1 P% L. H/ w, a  C$ Y2 y
                          set y (0 - Dep / 2 )  ]$ q7 j0 E. i; J) @, e& v' U
                          set d int (c / 5) * 5
* Q) K1 w+ e6 p  [) ]7 Y/ u   setxy   ( xcor-of turtle d + x )
- q; h/ f( e9 Y1 E: U           (ycor-of turtle d + y ) ( N0 \" G8 @5 d! A! N& t4 V
         
7 ~: P; q; u$ [  n7 z, Y* w! [# w            $ F3 T7 ^' y  a# [$ h# e+ U
if (remainder who 5 = 3) [set k who, M& w- L9 \& ]4 ?! X- G8 ~# L
                          set x( Wid / 2)  1 g( A- t3 K+ F8 |# n% W! A- d- f$ t
                          set y (0 - Dep / 2 ) ]
& Q) r3 ?/ i9 X4 @                          set f int (k / 5) * 5( I+ c( \1 f4 b2 ]7 P5 U& o( ]
  setxy   ( xcor-of turtle f + x )2 b: a6 b6 [& h
           (ycor-of turtle f + y ) 3 h, h4 b: J8 e. E  Y6 f" C# K
           . o7 ]5 c4 P: Z- {8 ]# J' y
           
+ ~' s* O1 p2 d. a+ \* uif (remainder who 5 = 4) [set g who
( Z! a/ M4 Z" k! P8 z                          set x Wid / 2
# h8 P4 ]# S4 S" o+ `                          set y  Dep / 2 ]
% w0 _7 b  E* k" E2 w5 ^( ^                          set h  int (g / 5) * 5$ _7 G% n7 S, Q# p% t
  setxy   ( xcor-of turtle h + x )
4 W5 N! i+ Q' M& n           (ycor-of turtle h + y )
& P0 p) a. ]* A5 R$ o                          5 p% S5 o$ k- J- J3 q$ Z2 i4 \
                          
% ~1 C3 G5 Q- L5 ~  J                          ]
, H  p# M; ^9 i/ ^- o0 dend
, H. S" K% q4 D! ~: g4 p) R* ~$ V8 P1 X) k* U; l8 S1 X) Y% F
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 P6 e. `% w& |0 H应该是% {% i; I3 b1 d5 v! D( G
ask turtles [1 j$ |( _) D' g  e0 W# w
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 B* V( q. W" u/ d                          set y  Dep / 2 ! `! S1 L7 U6 q- r# ^% S
           set b  int (who / 5) * 5% a# [( E" f$ ^! n3 Y/ A+ U+ N
    setxy ( xcor-of turtle b + x )
- t* p) e8 }+ c2 g3 D6 V6 U( [. V/ O          ( ycor-of turtle b + y )]]' R- n( \, E+ I6 c7 |" F" B0 Y
end
& e- R2 X1 \; A; x5 {, C+ S之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-8 07:42 , Processed in 0.018312 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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