设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4130|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。9 d9 B& x7 p# |6 o0 X! t

1 V! _" U5 ^0 k8 r但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) f! `$ ]7 L- C" V0 ?

/ J% x% J8 S" p1 e" fturtles-own [a b c d k f g h6 @* a# v! n. Z9 l# R
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; m. U. ]6 L) i) L5 G]
  S; z, g! V$ R$ H  sto new
) C; z/ u2 Z' u( A! a0 Y6 Z* Q  ca( a# [! n& j& X0 }) Q7 v- N
  crt 5 * num_of_building
2 B7 @; D; F/ _' U( j  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ g7 z! o6 W: M7 }
  scatter     ;;keep center-turtle random positions $ Q# l/ `( ]3 f3 [9 K
  unit_plan   ;;make up the building plan
  H6 y. ]! e. i2 m8 Y% Qend
7 C3 C" x; m  R% r5 E& ?( `0 C5 i. yto scatter
  _5 B6 g7 a1 J' qask turtles with [remainder who 5 = 0]
: h  u! S( C' J: T' g[# R. z2 b1 d$ v# {4 B6 s0 k. l/ g
set xcor xcor - 6 + random-float 15: ^& f" j* a# d& i* u- J
set ycor ycor - 6 + random-float 15
/ ?: p$ Y! V, y- h. S2 ?]7 ?1 R# a/ O% A6 A
end% u) V; ~. a. m0 y* ]
to unit_plan + n5 B8 I' _: A  Y. q% m  |8 b
ask turtles [
& K& `% _1 O& g% z  dif (remainder who 5 = 1) [set a who
9 ]& `' D! ?6 j$ y                          set x ( 0 - Wid / 2 ) * M  W/ U! N9 X: M
                          set y  Dep / 2 ]
  A2 T3 A7 e+ y+ c$ w           set b  int (a / 5) * 5
3 K! V/ O7 ?9 [3 J    setxy ( xcor-of turtle b + x )
6 d  j/ x( L5 f3 ?          ( ycor-of turtle b + y )  B- R$ d7 k! ~4 I, G5 `
if (remainder who 5 = 2) [set c who
7 y, A) T3 |1 E$ m                          set x ( 0 - Wid / 2 ) 5 I" q* U: w8 u" Q1 [
                          set y (0 - Dep / 2 )  ]) M6 e$ m! \* V# {! K
                          set d int (c / 5) * 5" U& G. D7 J% U7 m  R! D
   setxy   ( xcor-of turtle d + x )6 P/ W! X5 Z: u0 ]2 e4 c" m
           (ycor-of turtle d + y )
+ _3 \# u0 J! ?: l; |$ a         
* i( D: Q8 n4 d# y/ l            
+ X$ i. P4 B- C& qif (remainder who 5 = 3) [set k who& I( s4 H, u8 }; z( z: c: ?$ C/ B  T+ p
                          set x( Wid / 2)  ! C7 y3 S3 W& u4 c7 H9 f( @
                          set y (0 - Dep / 2 ) ]9 b. {% C1 v+ b  w# K4 _+ a
                          set f int (k / 5) * 5( \, S: ^3 Z6 W$ y" s
  setxy   ( xcor-of turtle f + x )
7 O) H  w. f0 r5 C           (ycor-of turtle f + y )
) K5 r& i6 b, t9 h1 J4 K9 k' m           4 u& N6 O: C4 l; i
           & {! Q- e# R/ u9 c9 d  ^
if (remainder who 5 = 4) [set g who2 v, c% z* s( e+ V8 U$ j
                          set x Wid / 2 $ `+ q0 r, _, e/ j( k; {) @
                          set y  Dep / 2 ]9 B4 C- K  L* ^( a
                          set h  int (g / 5) * 5
! n3 f7 |# o: ~$ p+ G  setxy   ( xcor-of turtle h + x )- _5 [( [/ O! {  f( W) o
           (ycor-of turtle h + y ) $ W% }' c) H1 k5 P
                          
+ [6 v4 N. A* B# m$ i3 S+ N                          
& l& Q- @# Y0 q, T1 d                          ]* j) T. a! K) `) O; q
end
% j6 Y4 m- l' o' ]$ O  c
3 n. T- [# `: p5 V5 n# w[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# T9 L: B  \! P; I7 {
应该是
- Z1 Q/ Q1 K1 e! X! u, j" Jask turtles [
+ p0 |% n% W" g3 z. Cif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 \4 w2 |3 S! X0 t  I7 d1 ]! L& ]                          set y  Dep / 2
) q7 f, q& |6 U$ u/ M           set b  int (who / 5) * 5
0 J; m7 _  v: v5 K  q, k) w$ t2 V    setxy ( xcor-of turtle b + x )
; Q. s5 {% |: O+ M& R          ( ycor-of turtle b + y )]]/ Y9 b/ X; M! _+ R+ a- I) s
end! j. ?) z- \* F" Y* K  B+ P, v8 o
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 21:49 , Processed in 0.014283 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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