设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7294|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! b9 y: V+ K1 a& z; ~
, y8 m9 ?0 v+ H( [& _7 W9 B但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# R8 \6 j* v, p  k) c6 ^0 l

  _, {9 J7 _1 Y4 P3 qturtles-own [a b c d k f g h
: d) P* T3 e( @% R  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 @, {& ?3 _* n4 Q+ L8 s9 i$ c]
( Y1 ]% [) I( `to new4 S9 F) ^, n- l0 H" r2 A* u- q
  ca
- }! r) x: i! H" W  crt 5 * num_of_building5 X. l: c0 G1 w8 V2 y: b' z0 i$ @8 x
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ H7 O3 ?/ l0 ?5 ^' b0 A
  scatter     ;;keep center-turtle random positions 6 v$ X2 ~2 s9 `5 c
  unit_plan   ;;make up the building plan7 a5 ^5 x* P- [" r1 t, @
end
+ q: x4 X2 l* B( mto scatter0 r2 l9 a2 \0 T8 X
ask turtles with [remainder who 5 = 0], W% ]1 Q( T, `% W! p2 W
[
) ^2 V3 h% S$ S6 J! Z/ I- Wset xcor xcor - 6 + random-float 15
! E, y; _# K: n* \/ a" }set ycor ycor - 6 + random-float 156 B& R9 |$ v1 x4 H. Z! L
]' b* G7 q6 b1 |: T; j: M
end
- H& B! u- h1 U! `6 H0 z5 d/ ?to unit_plan
* N3 u8 Y; F1 ?  ?  U1 ~ask turtles [$ i( U. g, @1 _" A2 X8 x# F
if (remainder who 5 = 1) [set a who
1 M% _8 S! Y0 B% j                          set x ( 0 - Wid / 2 ) 4 K# z! O) n. C' A% x4 y
                          set y  Dep / 2 ]/ Y7 O7 L2 `. S# P  L: W9 A. C9 w
           set b  int (a / 5) * 5
2 @. j: e6 b/ N8 G! ~    setxy ( xcor-of turtle b + x )
5 A- U6 `4 Y$ [% B9 y6 A& ^/ B          ( ycor-of turtle b + y )
6 ?0 a- Q, `/ fif (remainder who 5 = 2) [set c who
0 u( \7 g0 A( c+ [7 H1 T2 A6 I' i                          set x ( 0 - Wid / 2 ) + B3 K5 d) p/ j- r. ]1 D: m0 u0 d6 _
                          set y (0 - Dep / 2 )  ]4 B4 p' R8 _; D2 O1 ]+ a
                          set d int (c / 5) * 5
* a: Y6 \4 b8 L2 d   setxy   ( xcor-of turtle d + x )7 s0 X" Z9 Y+ A3 F# t
           (ycor-of turtle d + y )
" g4 e8 H9 O! V9 i# C6 P         
' h% i, z1 M2 S6 ^  t            
# F& K8 F$ g$ N* Z# J) Kif (remainder who 5 = 3) [set k who
' Z9 S: P% }. Z7 c                          set x( Wid / 2)  " G$ h* H9 W* o- L1 n
                          set y (0 - Dep / 2 ) ]
5 T+ a& O( ?4 e5 w0 {5 m/ p                          set f int (k / 5) * 5+ m8 {$ O1 D! \5 Z9 Z/ l
  setxy   ( xcor-of turtle f + x )
2 C* s  D7 s" B( ~           (ycor-of turtle f + y )
1 V$ @) `! F* w  q: z4 g           
4 I  _9 \; e* s4 c; {           
- Z. V! S3 c2 Q6 X! `2 Pif (remainder who 5 = 4) [set g who
, q1 y& j1 R; @; o7 L$ `. b3 j                          set x Wid / 2 3 C  W; Y% ~" s! L
                          set y  Dep / 2 ]
2 @4 Q3 I* C  Z. Z  _# s1 R# N                          set h  int (g / 5) * 5: U7 m% J% }$ N) S
  setxy   ( xcor-of turtle h + x )8 b; C5 Z* i9 U( O1 o9 i3 |* ]
           (ycor-of turtle h + y ) " H  S4 O* S8 y  |: J- S+ x
                          
) d9 g3 |  b3 X* i2 ?                          
) i' Q0 }( b6 E. m" X4 N! |4 t  \+ ^                          ]; y/ A- F; c' M% c# ^" x$ S/ f
end2 p8 v/ `9 P) ^) ~/ \8 D
9 Q& x" ^7 Z. f" b# [+ T( z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 v) Z3 `# f7 J! }1 L* u+ K应该是$ X2 V/ T$ u# w3 d. ^) z
ask turtles [
& P$ }; x" G- D7 R$ a" u* }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 6 s; |% c$ ~5 d# R7 y4 {
                          set y  Dep / 2
4 ?; N3 U6 g' _6 Z3 c2 F           set b  int (who / 5) * 5: l5 K1 [- q7 o
    setxy ( xcor-of turtle b + x )
- u  i8 T' @, r( s: {/ g          ( ycor-of turtle b + y )]]) T6 i1 Y8 `9 G1 g. z
end4 Y9 }/ \5 s, |' I' H( q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-26 19:20 , Processed in 0.018525 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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