设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7653|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 O( m7 e1 B8 P- I

, R) M+ k2 _/ p) E但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* [- G  M/ w9 K, u; q

' d5 M7 Y$ D# Lturtles-own [a b c d k f g h
" w; J3 }  D& ~& F, b# `  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 H0 h6 T& R9 a1 Y( i8 ^0 F/ ^/ z1 V
]  M# C2 H+ k5 @. w& a+ G4 k5 g
to new
5 z" |, u  [% P  Q( ?6 ?2 Y  ca
$ W" n! w8 \) j- \0 T  Y$ G5 k  crt 5 * num_of_building' V" J/ J# B; c  n
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" t5 R# l9 \9 `& x7 _' Q, s' u5 d: L
  scatter     ;;keep center-turtle random positions ( N7 _2 A" T: {* [6 m
  unit_plan   ;;make up the building plan
3 j0 a: v, I+ Cend
, t' d: V+ ?, l$ X+ q( {/ Jto scatter1 I4 Z% z1 B5 ^4 Z2 j, D
ask turtles with [remainder who 5 = 0]" e. Q- j' `( E- [# b+ j
[
, C  y* i1 F9 q8 b& Zset xcor xcor - 6 + random-float 15% T8 a% y2 Q, u3 Q
set ycor ycor - 6 + random-float 159 C5 o9 z6 s" B, }
]( e9 k# v  @) I3 A1 ]% `# G) S
end, _4 A( r! [% {/ p2 |" [7 S
to unit_plan & V- ]1 t/ [( d$ K+ k4 s7 g
ask turtles [8 I. ?1 B1 k* `5 S
if (remainder who 5 = 1) [set a who & C3 s8 P7 r) I! P4 n' u. E/ t
                          set x ( 0 - Wid / 2 )
5 r2 v' A- q2 A; b! ^; E- I6 A# i% O                          set y  Dep / 2 ]- O- v  @+ G" P
           set b  int (a / 5) * 52 b% `& L$ K& B3 T7 E
    setxy ( xcor-of turtle b + x )3 X" I3 P; Z; t) i- Y
          ( ycor-of turtle b + y )
' n9 ?- H/ u. Xif (remainder who 5 = 2) [set c who
' i' p2 r% O3 G. `$ v* h                          set x ( 0 - Wid / 2 )
8 c8 B( _# T% f# y+ B( q                          set y (0 - Dep / 2 )  ]
6 T% A1 E* z( A& ?1 G! N$ L                          set d int (c / 5) * 5( W0 }" N5 f+ \( k/ S, }, R
   setxy   ( xcor-of turtle d + x )$ P4 I9 h7 P4 n* s
           (ycor-of turtle d + y ) ( l; q' |) _# ~& A, l
         
2 }6 K$ x8 v5 \3 N; ^. _) _            
6 c' j2 K. J1 `if (remainder who 5 = 3) [set k who: a7 G' E4 I* v+ T) ^0 k
                          set x( Wid / 2)  7 M' V) C' |3 x9 O
                          set y (0 - Dep / 2 ) ]
4 q/ X! w" n- f                          set f int (k / 5) * 58 C4 r- Y+ N8 j7 E- o: g. o
  setxy   ( xcor-of turtle f + x )$ x$ g3 t) H9 C" b, [1 t# S% E
           (ycor-of turtle f + y ) 7 S' S% `' ]9 N
           
9 A, v% Y9 i) ^0 G           + y8 L- L+ _* K+ R- e" q
if (remainder who 5 = 4) [set g who
5 D' q1 ~  Y4 j4 W& [  p+ a( ?; ]                          set x Wid / 2
% i0 R* U7 `/ W& g3 B                          set y  Dep / 2 ]
/ M2 k$ c( A* j                          set h  int (g / 5) * 5
/ }, l8 T9 e# I2 C/ y9 a. E  setxy   ( xcor-of turtle h + x )
3 ~0 x# t7 A1 }* F4 ?           (ycor-of turtle h + y )
4 _$ Z, V2 w7 k6 k" k                          
+ U) _; w0 R4 Q" x- ~                          ) }) ^9 o- e( [1 j: T: h* A
                          ]9 H0 i  B) r# k* @* F
end
( Q/ E" D$ K1 v' G
4 y0 g) P" v3 H$ ?6 Y6 ~+ M[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 h8 m" N6 t; s. G9 J
应该是
' n# C- Z4 m6 w) g- f' xask turtles [
! o; M- v; @# V) V" Iif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
" A# {1 {4 M7 [6 O* ^                          set y  Dep / 2 : ]) Y) r+ s) o  r; }0 a
           set b  int (who / 5) * 5% L4 |7 e. U5 O" F$ x9 ^
    setxy ( xcor-of turtle b + x )8 S. _- _$ w% D. P" m# |
          ( ycor-of turtle b + y )]]/ U- f4 ^: j0 b! D3 @& b
end
4 Y1 `8 @( {4 F9 e+ ?之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-11 22:39 , Processed in 0.014827 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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