设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6329|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 v' U. d1 I7 F* y% L( j+ |* P, j2 D" A! I& s1 B" ]* |6 _0 w+ M, i/ @
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! {, l; [; v4 R/ g8 A
) z# V( j( i$ O6 C( s1 J+ _8 vturtles-own [a b c d k f g h. Q: x% U. Y2 }# ^" _3 y$ Y0 O5 I% o
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
# e: S/ L$ e0 e]
7 v" U) T/ c' p8 a- H7 Pto new4 z& D5 C( F! |! b4 d6 @& ]
  ca
9 G& v9 ]) {) R; V( X0 z9 K" ?  crt 5 * num_of_building! A! x2 D, y6 E
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 A: R* N1 \! b' B& j0 Y  scatter     ;;keep center-turtle random positions
/ k. r. Y  u  Q0 b; D% A  unit_plan   ;;make up the building plan' G% Q+ b7 A  q% Z8 [4 m
end
  r- ^% i' Y6 |) z; Ato scatter
. T7 t* V( O; g* z1 g) Eask turtles with [remainder who 5 = 0]
3 R2 ]! f$ D7 i* E  p6 q9 R[
) U4 L$ ?" G/ s( Tset xcor xcor - 6 + random-float 15. h0 u9 O' X; P0 F; q
set ycor ycor - 6 + random-float 15; d) O8 W* I' L$ B
], n0 F1 d: ^2 s" X% K. \4 d
end/ `; b- i( y8 D$ ^
to unit_plan
" k) w; X  o! `, F9 Y( {; e, B7 I0 uask turtles [
6 ^0 k7 c( \, Jif (remainder who 5 = 1) [set a who
+ m8 A: P) f: s5 U: ]# d2 S/ Y# E6 k                          set x ( 0 - Wid / 2 )
$ J( o0 i5 i7 z                          set y  Dep / 2 ]
& |3 m0 k9 w8 a           set b  int (a / 5) * 56 @7 F% q. Q+ G& I3 p6 A9 r: p% \
    setxy ( xcor-of turtle b + x )
' }; j- Q6 b# b' E; @0 D          ( ycor-of turtle b + y )* F# B2 r3 X! ^) r3 D! y
if (remainder who 5 = 2) [set c who
( l* a2 Z! d' u1 `1 P                          set x ( 0 - Wid / 2 ) 3 E. o7 U9 r/ o# F0 R6 Y+ ]+ ~6 n/ V
                          set y (0 - Dep / 2 )  ]
) Z8 E7 K' j! v                          set d int (c / 5) * 5
7 H8 x3 b, @& |   setxy   ( xcor-of turtle d + x )- p8 Z; ~2 u3 Q/ U
           (ycor-of turtle d + y )
. T2 r5 `6 g/ x9 M         
. t! j) X5 Z% e2 U: A            
/ O! U# v; x' c' ~if (remainder who 5 = 3) [set k who/ {" X5 o& T2 s
                          set x( Wid / 2)  
, ?2 l9 i7 c/ N, k2 |% I# S                          set y (0 - Dep / 2 ) ]
. W; m0 r' p- q# D, c                          set f int (k / 5) * 5' ^" ^3 o0 w1 l8 \' O" y4 Q
  setxy   ( xcor-of turtle f + x )" S( Z8 U: C4 q+ T! A
           (ycor-of turtle f + y )
* [, N: P0 E( m7 s           ) @/ }1 i* v6 E& d$ q
           + E" k2 r! l0 A5 m% |6 e* g" n
if (remainder who 5 = 4) [set g who+ g# X; ]2 f0 M0 K! b
                          set x Wid / 2 2 `5 }0 P/ T0 G) X" n/ B
                          set y  Dep / 2 ]8 C1 d0 }$ m2 E4 A5 B4 {4 g# j
                          set h  int (g / 5) * 5! [/ d' N+ ]; q- ~' n, g  R7 a
  setxy   ( xcor-of turtle h + x )3 C4 ^, n5 L1 q
           (ycor-of turtle h + y )
( q/ M, z# h* m5 ^7 o8 m: d% I; u                          
1 i9 J: E9 f' e) M" e& J                          ( J. k0 G5 O# F7 \: y
                          ]: p1 K7 w% L+ o4 I6 b
end
  T" L& Z3 m9 G5 l- m
% [2 c9 a8 y2 N% T$ e" m[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
9 d+ X; p, V/ ]) z) `应该是# [) c1 Y8 n+ [4 G/ h; t
ask turtles [
, o9 A' v! t$ ]8 @5 C* v7 n$ l% x: Gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
- I" ?' e8 T- ^( b" _2 I' @+ T                          set y  Dep / 2
& y* h& d  b' A9 U: i           set b  int (who / 5) * 55 Z* a+ X0 `9 b# _9 m( |; ?
    setxy ( xcor-of turtle b + x )
- P% g3 x4 D# ~          ( ycor-of turtle b + y )]]
. \- p+ O3 q8 d( P6 Rend
- E8 b, ~8 y' H/ v8 q+ k0 J7 a之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-14 12:31 , Processed in 0.015562 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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