设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8914|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
, y+ s9 M, C8 N6 ?6 U: V' D
3 Z8 N1 ?, k7 c* t: n但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
6 H" U0 x7 }3 }! u0 b& W5 h
( b+ Y8 M+ |( P! oturtles-own [a b c d k f g h+ }# a. |) F# F- C  ^8 L6 @& B8 s
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 G  G4 W1 _  n6 {
]: R) q7 _# K/ u
to new
7 t. S9 t. _' o/ J, [- Q  ca
6 ]' l6 F+ c; K; ]  crt 5 * num_of_building; T0 {! e/ o8 d% r
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ o* Y' Z* B- k
  scatter     ;;keep center-turtle random positions
) M1 C, h, J/ B3 z1 O  unit_plan   ;;make up the building plan$ {( t8 p0 d* T( L/ z9 t; B, f( C
end
: k* f3 x6 ]6 ~4 Tto scatter
; ?* b" `1 K6 ]ask turtles with [remainder who 5 = 0]
- M5 U+ }! ~4 Z& m+ b! Y[; c+ \$ p2 e  ]9 _7 _+ D6 B
set xcor xcor - 6 + random-float 15
+ g, E) Z$ [% J8 E6 [0 ?/ Sset ycor ycor - 6 + random-float 15
) c( c8 Z6 c% [; Z2 F]
' p1 h. \; P; m9 M. {- o! k* ]end
( H0 [/ g3 x! gto unit_plan & h. V. l: M) p7 @. F8 Z
ask turtles [) w' v& x- e6 Z8 U6 N( K
if (remainder who 5 = 1) [set a who 8 v+ T8 Q; a" N2 ?: m) ~) Y
                          set x ( 0 - Wid / 2 )
# t7 V/ \8 N3 w4 c/ O                          set y  Dep / 2 ]
4 b' g9 O0 S7 u3 D           set b  int (a / 5) * 5
) e$ C: n/ {4 [4 J& [2 u1 ~    setxy ( xcor-of turtle b + x ): a( l* `; Q* Z  e
          ( ycor-of turtle b + y )
6 e5 z. C# h8 n9 o0 hif (remainder who 5 = 2) [set c who- P( `( p4 k( _9 l: {2 Z
                          set x ( 0 - Wid / 2 ) ' f$ X; H- A. T5 [0 j; D2 F, x0 ]
                          set y (0 - Dep / 2 )  ]
1 F; w1 V4 E  L# ]2 E3 X                          set d int (c / 5) * 5+ E. ?) `3 k: P
   setxy   ( xcor-of turtle d + x )# U# M7 d9 O3 w/ F1 v
           (ycor-of turtle d + y )
% \% K4 W2 \+ y! |6 v$ C% m" J         
' J6 C1 y2 d+ U0 s; e- n2 j5 A            
1 F1 ?7 d# \, fif (remainder who 5 = 3) [set k who5 b, E9 N/ Z9 N: [- [: \
                          set x( Wid / 2)  
$ n$ m1 S1 H% W$ b  ~                          set y (0 - Dep / 2 ) ]
2 ^1 a9 B4 N2 H" |1 n1 k                          set f int (k / 5) * 50 I4 S0 N# j# l7 C  M0 f! l
  setxy   ( xcor-of turtle f + x )
; t! N; [. o1 P' R7 o( ]           (ycor-of turtle f + y )
7 d+ X3 u7 T# P0 o1 `1 v           
1 w* B; O2 O+ p2 F8 P& ~           
4 Y4 R! }) B. ^8 V0 n0 w0 b+ |if (remainder who 5 = 4) [set g who/ P) O8 q4 S$ d: w+ k; D) O" ?% y- k
                          set x Wid / 2
" F# M; K+ M0 d( t- P                          set y  Dep / 2 ]
3 v, G1 T% n% ]3 E9 n/ d                          set h  int (g / 5) * 5
7 f! K4 ^: L2 f- x  setxy   ( xcor-of turtle h + x ). ?8 n( ]0 x6 R( q# c
           (ycor-of turtle h + y )   l0 W0 W* y$ |( g) S$ g8 I
                          ( @/ B% U9 ^% g; d( [
                          
/ A% G: k) z: t* M* ]3 z  r                          ]7 [( o9 _* |  K  e" j
end6 o' n2 x8 }8 ?4 P4 c

/ f/ t" Q, h  ~[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
: v8 ?- a+ |$ I- n9 c4 z9 S应该是" Q+ Q, a; F1 B! T7 r' w
ask turtles [
9 a3 w( X* u  I" }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
- z" R$ X5 \  R3 d                          set y  Dep / 2   S+ |: w. H- y- N' d: Y# @) ~
           set b  int (who / 5) * 5
$ m+ K* v+ G3 J+ d) s1 A# j    setxy ( xcor-of turtle b + x )
# }: m" Z/ m) R  T) t8 i; _% {, k          ( ycor-of turtle b + y )]]' O1 O9 G4 r1 \
end
0 ^: h% j: T3 Y9 T) b之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-23 04:30 , Processed in 0.020383 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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