设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6907|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。$ I2 v5 U3 v+ Y( ~  ]) ?1 {! B

( X8 ?1 x6 P/ F但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。0 w# [6 k/ ?. J0 x0 l

) k, n6 ?$ j3 n( x7 }6 Dturtles-own [a b c d k f g h0 h% w) n& H" ~% @, a2 i$ B7 e9 q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
- q& q- |* V; {]. {/ ^7 ~% _, l" d7 A8 J
to new
/ S; @3 A9 q9 T3 {, m4 a3 ~  ca
6 X4 u7 Z% T' T0 D) M  crt 5 * num_of_building
: ~/ X6 [' n) P1 q* S  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ _( ^+ b0 f) X: e
  scatter     ;;keep center-turtle random positions
6 F$ w' Y2 S5 I% N  unit_plan   ;;make up the building plan
' U; n! F# }8 @6 _" |end
& K) @5 L2 d/ N5 @to scatter
! p& G" g$ C( ?. Uask turtles with [remainder who 5 = 0]' I2 w; G4 @7 `
[
3 ?0 j" ]9 J* f. u* X2 S- B# }# uset xcor xcor - 6 + random-float 15
  `3 S5 u: z/ ~! ^: a1 ?, N+ |7 V1 ?set ycor ycor - 6 + random-float 15
5 |( z( l1 B3 s]
3 }+ F; W/ T) O: @end0 A4 k) R/ L* }4 }  E9 p3 {
to unit_plan / }( i( _8 x2 q1 ]5 |0 u- [6 ]
ask turtles [
* z+ d$ D1 {' i5 U/ L- Q* eif (remainder who 5 = 1) [set a who
% E+ _, O, |, G/ G  a; P+ c8 O% Z0 X                          set x ( 0 - Wid / 2 ) * B0 i. Q1 w% _+ ?
                          set y  Dep / 2 ]
( ~6 \: k5 [  k0 n' i           set b  int (a / 5) * 5
* n+ E3 e; ]  @2 @/ ^8 G    setxy ( xcor-of turtle b + x )5 G3 B. w% ^# g, A" c# Z0 A% y
          ( ycor-of turtle b + y )( W' U; C; Q- r' L: g* V. w
if (remainder who 5 = 2) [set c who' q+ v+ r+ \4 I" {, h: k7 t  Z) u
                          set x ( 0 - Wid / 2 )
7 r  b5 J) }+ z9 `1 S                          set y (0 - Dep / 2 )  ]% x  V: q  |5 T+ ?" q
                          set d int (c / 5) * 5' G; f# |4 U4 t4 h
   setxy   ( xcor-of turtle d + x )
& k, Y- F, {. [/ N* d% N           (ycor-of turtle d + y ) 3 X. }  P6 y$ Z9 h) a4 ?
          - A3 q5 B6 I4 V- A( ?) O
            
6 m# P2 T3 y9 d* L+ wif (remainder who 5 = 3) [set k who
5 F; q( G: }$ e. m; H                          set x( Wid / 2)  
! N2 U+ _( o. l, e8 z  i                          set y (0 - Dep / 2 ) ]0 Z; X( O* o6 n  @% V
                          set f int (k / 5) * 5  A2 [9 w5 |7 Q, z2 t3 _/ ?
  setxy   ( xcor-of turtle f + x )
* }7 G/ P. W$ c# G0 g4 {3 x           (ycor-of turtle f + y )
0 X6 V1 Z, B1 r0 C$ d             V- }& E6 ^3 v& R7 m9 \  e
           
- X$ I. n$ C% k5 y3 a( E) Dif (remainder who 5 = 4) [set g who" X* P% T# U- k+ \2 F5 p/ Z
                          set x Wid / 2 - Y7 |1 n6 U$ A" u
                          set y  Dep / 2 ]
. q0 r5 `; m: r  v$ T                          set h  int (g / 5) * 5# u1 _  x; G4 D2 ?( K8 X
  setxy   ( xcor-of turtle h + x )
; N% L2 k7 g, ?; p4 t           (ycor-of turtle h + y ) ) Q; b9 c/ J  S% T. c/ x" G0 H
                          7 F+ b' s2 H1 w9 P; V
                          ! Y  d# t0 L! V+ Y
                          ]: C( \. U- N* a
end
8 h! z3 {6 S* U& B, \% W
' T8 Y. H; w9 A1 R/ a' a[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
* K4 T$ ^0 F/ {% s应该是
3 f& e" G* ^* K; g, R1 Bask turtles [
9 n6 t# w' l0 y. F/ ]! Kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) : o0 F/ ?. B1 e& ?
                          set y  Dep / 2 + j8 Z% Y! H% B' `
           set b  int (who / 5) * 5
& |4 z% K; [& Y# R8 M    setxy ( xcor-of turtle b + x )% N' R# c  B, D
          ( ycor-of turtle b + y )]]
5 m) x9 u1 z5 ?6 g( xend4 d. r. z& j4 {% a! q( F
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-8 23:19 , Processed in 0.016726 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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