设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8240|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
+ t5 h' Z% m& T3 m
! ^9 b3 Y) J' r+ a3 D但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 h. C, W! r' l4 H; F/ l& `. O4 d, H2 ?0 V
turtles-own [a b c d k f g h
: A3 U. o( E. v" T4 a3 z  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # d/ L* y+ @; }; [0 E+ p$ Z6 z
]
3 {8 k2 _0 c$ g/ f8 q( u4 v% {- Yto new5 h6 Y! T7 o% A( ~
  ca% ~1 R  X4 A2 _# j3 f
  crt 5 * num_of_building2 v! q9 f; A5 q. `% a1 I
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! h& n. f3 z; @  W9 T; G  scatter     ;;keep center-turtle random positions
8 E0 z, J# k$ [  z% e. j1 B- a  unit_plan   ;;make up the building plan+ i4 N% p4 d0 m4 m' z& S0 M
end
' C3 w9 y: d3 n  z' pto scatter* i# Q% {' a( J
ask turtles with [remainder who 5 = 0]; I6 Z! E3 g/ _5 n  ]/ w" h/ T
[
7 S0 Y$ z; S! V' _4 \: r/ L' [$ I9 |set xcor xcor - 6 + random-float 15  q/ |/ U' J9 ?$ C
set ycor ycor - 6 + random-float 15
3 n& C* `! W! M6 O]
4 w7 K5 ~) b: F% r# r. |0 iend
- ]; v( ~1 m2 tto unit_plan
, K9 A- F3 l: L7 ]9 oask turtles [$ Z4 m! g' @2 o1 i. I8 P2 o
if (remainder who 5 = 1) [set a who
9 O' g1 a: l5 @% u- ~4 m' L6 @8 w                          set x ( 0 - Wid / 2 )
" P( L7 Z' r* J9 `4 L, G9 A                          set y  Dep / 2 ]* D& O2 @3 H/ l  X. B2 P9 ~
           set b  int (a / 5) * 52 T. k/ O3 s) }2 F3 W7 u
    setxy ( xcor-of turtle b + x )) S7 t1 Y4 O2 S
          ( ycor-of turtle b + y )7 i) P" G7 m/ S+ _% E0 D
if (remainder who 5 = 2) [set c who" p+ R7 b6 q6 l& m9 W  y) c/ T
                          set x ( 0 - Wid / 2 )
" g% e: l0 v" l                          set y (0 - Dep / 2 )  ]
) w$ e/ J; Q2 \4 k6 I" i                          set d int (c / 5) * 5, I7 d% T/ p+ C* L* I( C
   setxy   ( xcor-of turtle d + x )
/ d+ q1 X# q& w9 q$ |* S           (ycor-of turtle d + y )
# C0 P/ I# K0 n5 p" l          ) X+ P) V" A. b: D9 B
            ' C$ a) Y; Q6 N! o: B) o9 [- w0 H
if (remainder who 5 = 3) [set k who1 `# w$ k) z: `0 q
                          set x( Wid / 2)  
; M4 D5 M" O  T. N7 M                          set y (0 - Dep / 2 ) ]+ m, f, s0 B1 o1 L% L3 r
                          set f int (k / 5) * 5
+ c' {, ~7 @1 C6 R2 X, X& R  setxy   ( xcor-of turtle f + x )
: ^# j5 X# Q$ [% y6 {3 u           (ycor-of turtle f + y )
" h$ ]+ a+ U/ f           9 l3 p  D8 ^3 ~
           
  I; ?6 M5 P, ^0 Qif (remainder who 5 = 4) [set g who! g3 J( U2 P+ k, ^9 g- s8 N
                          set x Wid / 2 % j7 F+ V6 l( x0 L& `/ z6 {7 c
                          set y  Dep / 2 ]- N. z* k' J0 c1 V4 O7 H
                          set h  int (g / 5) * 5
# J" b6 \: H' T' B' k3 B  setxy   ( xcor-of turtle h + x )
% a) t: f1 t/ T- _           (ycor-of turtle h + y ) 4 a4 x+ n" B* M) \
                          
6 f" z! V( e# L/ S# t+ {                          9 \8 j5 ]0 G; q
                          ]7 q$ D, l4 h! g& P
end% C, Y, P+ U, A8 l4 u2 O) o
% C$ d  L9 y. \: `( u5 D# S
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,9 @& s6 ^/ c, |. }. n" g
应该是. c2 ?) M1 a% k. d1 s6 F
ask turtles [
8 h: I  C1 Q( Gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 X( \# |& d4 l/ |7 m                          set y  Dep / 2 5 n; V/ v& ?2 Z
           set b  int (who / 5) * 5
3 j7 E8 F& D+ c9 ^* S% \/ t    setxy ( xcor-of turtle b + x )- W7 J- }7 k3 {, j: T  Q7 B; N1 C2 u; ^$ x
          ( ycor-of turtle b + y )]]
0 N5 c) ?3 c1 T7 B) ^! I0 tend" x) j4 [& ?+ ?; R& q4 O. h9 T
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-23 08:00 , Processed in 0.021687 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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