设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8799|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。% R1 }3 n& t5 s% e5 y& L, D% A
0 s; _* l9 c5 a2 h! U
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' Y) ~7 [7 q* @" z
* ^4 k) X) _( L. B# W& `! ~
turtles-own [a b c d k f g h. Z! M' H2 g7 Q1 {. c
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 ?# a/ ]) U. p2 U/ i# a]  d, v' q2 v' X" W, |
to new0 C% ], \- I$ G0 d# k' K# h
  ca
. P5 N: E5 u6 Y  crt 5 * num_of_building5 P9 k8 z4 H) O0 [* N: M4 o; w
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  z$ N! l0 z3 w0 L8 {; P/ \( R  scatter     ;;keep center-turtle random positions
: w' Z2 N/ P) X& R  unit_plan   ;;make up the building plan/ q' r& R! B. W8 Z4 L
end, W+ S6 Z. e9 y+ N% X
to scatter
3 t" W9 \+ F7 S& Q. Zask turtles with [remainder who 5 = 0]
- I+ I5 @( b# S4 P[7 ?0 l3 u, Z9 f
set xcor xcor - 6 + random-float 15
3 R4 e4 q9 P6 p* w; b1 Tset ycor ycor - 6 + random-float 15
: F+ [( V$ f' W7 e" Y]+ E1 x9 M$ J3 K4 V
end
' M4 ?/ t, n, D8 m5 W* h4 vto unit_plan ; {2 b- ?2 y- v6 K2 d; I
ask turtles [
2 V3 q2 E4 O* g! eif (remainder who 5 = 1) [set a who 7 ]% w$ p0 L# z$ G
                          set x ( 0 - Wid / 2 )
" D; w4 b4 t: s! S2 A) n. j' O6 s# W                          set y  Dep / 2 ]- i2 A. M4 n9 h
           set b  int (a / 5) * 5) g" ^6 Q: J& l) q; V; K
    setxy ( xcor-of turtle b + x )* V' S- K, h& U+ J8 c/ q+ `4 G
          ( ycor-of turtle b + y )
( \2 A% v4 c; \" W% ?6 Nif (remainder who 5 = 2) [set c who5 t8 Y5 R# k6 a4 j2 i8 M+ t$ v
                          set x ( 0 - Wid / 2 ) 9 B; l. ]6 r0 F( p
                          set y (0 - Dep / 2 )  ]
7 E+ v% Y, T# D, T9 h4 L8 ~6 ?                          set d int (c / 5) * 51 Q/ X& }) N# N! Z1 N; {
   setxy   ( xcor-of turtle d + x )
5 ]  f, [6 k' C           (ycor-of turtle d + y ) * N% p: I, g* X5 R- d
          4 T  @, q2 G5 b$ Z% E: n
            
2 W  A  K1 F4 y; gif (remainder who 5 = 3) [set k who/ g; ^5 a5 k* N8 l; ^
                          set x( Wid / 2)  
2 W, X+ E( _( l                          set y (0 - Dep / 2 ) ]7 Z, t7 v; D: B) g6 q1 C1 f
                          set f int (k / 5) * 5/ X  v; k- Q, u( H3 Z5 [
  setxy   ( xcor-of turtle f + x )
5 {: W0 ?4 g: P* Z3 n           (ycor-of turtle f + y )
4 m. K& ]' C, k3 M0 x           / p/ H3 v  H; Y/ x0 [
           
( @$ |2 |' i3 l4 Pif (remainder who 5 = 4) [set g who
! r) Y: i2 Q+ q4 S! ?, A  n) t                          set x Wid / 2 # e1 S. M* ?% T8 Z, A3 u. S
                          set y  Dep / 2 ]
" J0 Y+ t% r% l$ V3 b- J$ o- x2 w- n" S                          set h  int (g / 5) * 5
. q4 B7 g0 I+ J9 F2 V, D  setxy   ( xcor-of turtle h + x )
2 u& G" k0 X7 Y           (ycor-of turtle h + y )
) V6 I4 B; }: G4 {+ ~7 p- X7 w                          
2 l; A1 Z& d; ^0 [                          
  n9 h4 Y7 t3 D4 G1 I                          ]
3 v8 @, L3 A, L3 T( Z  cend9 }1 J' d& K3 l8 n. X3 f; b3 H
- u5 l8 v5 e8 i8 x. _$ _
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," z4 P1 Z5 P3 u* q& S1 q# Z. j
应该是. P# L3 K; t6 X1 \4 m
ask turtles [7 p+ s4 P8 }9 R: z  G  o
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
7 i" G; R9 a0 Y7 G6 K# r                          set y  Dep / 2
) Q0 r0 ^2 e$ Q3 b. f           set b  int (who / 5) * 5
1 u& O6 [. b8 c8 l% \* Q    setxy ( xcor-of turtle b + x )5 h' W/ f% E. l
          ( ycor-of turtle b + y )]]0 ?/ _$ m3 E( W) i" U( n
end
0 r+ M* G0 e$ @+ U0 J( s之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-5 07:07 , Processed in 0.015214 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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