设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7311|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
) X& K. B5 r2 R5 f* }6 g2 z( B+ L$ q# P+ m' G. g, p4 @& a  Y
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% H! d: ^) u- a* h4 \# t- z- f" J4 L* P# |
turtles-own [a b c d k f g h
' p* F  x3 ]3 ?  U4 P  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 a2 L2 |/ ]8 E! v  J
]
% }3 p4 W  x( M% G% }2 u3 Tto new4 j9 N; k) O9 k, B7 v9 L! f
  ca% v# E4 S) q4 K+ l
  crt 5 * num_of_building
4 Q; ]1 c! v0 @- E0 w% g5 v  K) g7 Z  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]& s3 Q9 T8 o* P- y& P" k- \
  scatter     ;;keep center-turtle random positions
$ i9 J( p9 c0 ~7 i  unit_plan   ;;make up the building plan
! Q3 p% Q% M# d5 k0 E1 i6 |end' M- M) q* e( Y# S$ A
to scatter
5 i/ x  T/ ?# Z7 H. L3 {$ lask turtles with [remainder who 5 = 0]  `5 C5 D/ i( v$ \+ h  \
[$ G7 Q* I6 P9 M9 b0 ^# t" ?
set xcor xcor - 6 + random-float 15. \5 O- P8 L7 t- P  t
set ycor ycor - 6 + random-float 15
/ X  K% ~2 a' X+ O0 b9 ^- ^4 k]; s+ {- W5 B5 N7 j3 ?
end
( R( e) X7 H# P, S" K4 Dto unit_plan
: a. P* m% {6 F% q" x( Qask turtles [8 M! [5 g2 f/ a& _6 O
if (remainder who 5 = 1) [set a who
1 b: V- _  M+ C5 ]# u" K- v                          set x ( 0 - Wid / 2 )
! F7 s1 c& U8 B, X7 `                          set y  Dep / 2 ]) K9 I4 i2 h" }
           set b  int (a / 5) * 5
8 s: q3 ^5 J5 p( k    setxy ( xcor-of turtle b + x )5 ^& M- i$ i7 N; |6 x/ ?. F1 U4 }
          ( ycor-of turtle b + y )
; x- b: u8 O9 Z! L$ s- i& |if (remainder who 5 = 2) [set c who+ t: A, `" X# A) e: i# ]9 O7 D
                          set x ( 0 - Wid / 2 ) 8 L" o; @. j9 K+ W: p# [1 ]0 o7 T
                          set y (0 - Dep / 2 )  ]
" ]7 F- a  _& E6 E! ~; U                          set d int (c / 5) * 57 t: z/ c* L, L
   setxy   ( xcor-of turtle d + x )
& K, x5 z! f% Y$ \           (ycor-of turtle d + y ) ' s; l) I' Z/ n0 N
         
2 d0 `2 t- I' a' J            
% Z2 x. D4 W  |" c, H4 y% w5 Z9 E+ Rif (remainder who 5 = 3) [set k who
+ j4 v0 M6 Y$ L! E7 O8 b  K- z  h                          set x( Wid / 2)  9 W# R; f) C* N% X0 x
                          set y (0 - Dep / 2 ) ]
+ G  \: G& ^1 j: C, o! P/ Z                          set f int (k / 5) * 5$ i) J* j( Q& S& R5 f4 {! \
  setxy   ( xcor-of turtle f + x )& S9 U! ]0 f9 m9 G, Z! T- }; O& `
           (ycor-of turtle f + y )
% i" q# ?: @" ?, C% x           
" Y7 m9 ?+ |/ o/ a6 g: V+ Z           * K4 x, d# i: l6 C# @
if (remainder who 5 = 4) [set g who% F6 h$ {; ]3 ]( g! r( y
                          set x Wid / 2
% y9 F3 i. E% Y& n/ g                          set y  Dep / 2 ]* k2 J6 p  k& @* [$ i% V8 E
                          set h  int (g / 5) * 5
' r: q& O# J, y. }( P  setxy   ( xcor-of turtle h + x )
1 x. d" p% h4 K+ E           (ycor-of turtle h + y ) 5 ~: k, U$ l- L9 t; p- X6 l7 t! s+ [& a
                          * J5 O0 U) U; Q" f: ~0 r
                          8 E& C+ k2 b6 S5 O6 h
                          ]& N' U7 s' p/ B. f1 F7 t- G* V; g
end
& C2 O! v% k; A) R$ e6 X, o; V7 N' i% [7 M0 S% u
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,5 A4 @  j  N' z
应该是
- \* l0 F$ A$ z& A5 ], T2 z9 v. mask turtles [" J/ |$ C/ s: x' W6 c
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
" ?! i0 h8 @2 x  l; `1 _                          set y  Dep / 2
- o2 k* @; ~/ p! u           set b  int (who / 5) * 57 B+ F4 H6 T! A: P9 }
    setxy ( xcor-of turtle b + x )
1 B% s8 I# ?3 D          ( ycor-of turtle b + y )]]; a4 a# z3 x/ \. I& Q
end
6 G  N6 k) V* J之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-28 03:49 , Processed in 0.016154 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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