设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7657|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- Y/ Z4 @5 W4 ]1 u6 x( u1 U8 `5 D; [- G  P
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ w; A  i# k6 B4 I6 F" h! C
; |1 R& ]; j: \( Y, ^
turtles-own [a b c d k f g h
4 k* G. y$ h3 x4 r5 D9 n  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , q% @& \! S1 R6 Y
]
( G! w: u! m. c$ a$ vto new
; {9 T6 s) W4 v- R0 E2 R+ R) f& j& r  ca
5 x2 z$ c9 S) r1 S4 `3 b) N  crt 5 * num_of_building7 }: i+ D9 Y, Z. [9 W1 c
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 D" o2 u3 J  @, o& X( d' y: Y  scatter     ;;keep center-turtle random positions 3 n5 u+ x9 O3 I4 i
  unit_plan   ;;make up the building plan/ @# |4 x$ k) O, G% L, f
end6 [* {0 j8 U% ^9 V  O
to scatter& y& e6 A. |7 f6 e# g# ?/ b
ask turtles with [remainder who 5 = 0]1 }0 i# j# S- p. N8 `
[
5 x8 ?+ h' H% E5 b  T+ Dset xcor xcor - 6 + random-float 15( z; v$ U; p* [3 S, }3 ~/ x
set ycor ycor - 6 + random-float 15' E* p- |# c/ ]# @+ R0 b; m
]5 h# @" E0 v. e; V7 T
end+ V; V2 B4 {: {: X; W' M
to unit_plan
! N, C+ h+ V6 k7 R& Hask turtles [
/ U6 K% w0 g  Cif (remainder who 5 = 1) [set a who
7 S- B; Z, R, K5 p# U                          set x ( 0 - Wid / 2 )
( Q2 H& x+ A8 z9 p6 x/ K- F/ p) g7 C                          set y  Dep / 2 ]
% m" Z' y* o( y, ^5 J3 a+ z6 _           set b  int (a / 5) * 5
' Z: w. [* e! G3 l- k% u, C7 u* i  Y    setxy ( xcor-of turtle b + x )
; J  w# h3 g8 w          ( ycor-of turtle b + y )
- {7 j' d; L; p& ^if (remainder who 5 = 2) [set c who
* l7 t- [8 Y) |  x& ]# C+ s                          set x ( 0 - Wid / 2 ) ; l4 R8 P" @) {) T" u5 b
                          set y (0 - Dep / 2 )  ]
% g& J# K) O" l8 U( |                          set d int (c / 5) * 5: U) e* y6 p. S
   setxy   ( xcor-of turtle d + x )
  d3 n0 a8 C4 o           (ycor-of turtle d + y ) 4 M7 D" x, c; i
          , r5 ?$ l! ?  f/ G+ R
            
- {2 H& b' n' R8 c; h1 V% ]- \if (remainder who 5 = 3) [set k who4 `" i3 P+ G+ G' ?5 Z' R9 U6 W
                          set x( Wid / 2)  
4 p2 U% D7 K! S0 k) G/ O                          set y (0 - Dep / 2 ) ]
& p5 n4 k0 S! ~2 y, h3 [                          set f int (k / 5) * 5. N% Z! O0 ]1 v$ |, ]" X% Y& H+ L
  setxy   ( xcor-of turtle f + x )
/ a7 z' ]. J) F; x. J; K3 W           (ycor-of turtle f + y )
- {( }' B# _" q' e           
0 Y" t! l5 G8 x0 U1 {+ n# K# Q           
. B; X" B  G' Nif (remainder who 5 = 4) [set g who5 Q+ L6 a) ^4 e
                          set x Wid / 2
  W; ?+ s; e8 g9 ^" x                          set y  Dep / 2 ]  b  \% f& u- ]9 a# l( d
                          set h  int (g / 5) * 5: {3 Z/ X- Z% M! z2 f5 p
  setxy   ( xcor-of turtle h + x )
/ W% P1 X' M5 X           (ycor-of turtle h + y )
! f' y# n! n  F" s$ J1 ^8 \                          5 a# B5 ^1 D% M& {; S" z" K
                          * U& i% s) K3 }; L) D
                          ]3 o4 J0 l" l% p1 q/ ~9 C5 V
end
: O  \& j+ s" L" l( n  A9 a5 {8 ]! I
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
& U7 e* O) E6 ]# @应该是1 b0 p1 I- H5 n
ask turtles [
6 g, a; I4 S* n" p. H* y+ x# ^if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
. l! D* b) D4 Z3 ]7 N, q+ I                          set y  Dep / 2 9 d# z: u. Y3 U( c- G, v# Y
           set b  int (who / 5) * 5
/ {5 E9 t1 ~# N8 ^    setxy ( xcor-of turtle b + x )
. ~' K) x9 z6 e- I$ `2 W          ( ycor-of turtle b + y )]]5 N7 q6 x3 e$ Y4 t
end& _4 f+ ?/ w" V2 S/ b
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-12 11:57 , Processed in 0.020921 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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