设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7056|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 q0 v( w# Z2 t8 m4 U. n! ^
" B/ L9 |: f6 ]7 {4 c/ }* f3 B
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) f; C2 p0 u+ h/ e4 o9 G% |
4 m- U) {5 C- b% ^: Yturtles-own [a b c d k f g h* ^1 J' B1 \& m+ l6 }/ S: i/ t4 l% x
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) C0 j! u+ K: X% e& P6 j( f6 Y]
" m- k  V6 X$ F! pto new& j4 M- x9 K" x, Q0 f6 B
  ca9 [6 Z8 b1 z+ }1 }+ c0 E% x
  crt 5 * num_of_building
0 K1 e+ _  n4 s! @* o& g* C, Y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 w" p: \' c8 g5 @  scatter     ;;keep center-turtle random positions % ?( ]5 d0 o: R2 {. X
  unit_plan   ;;make up the building plan# t6 s. A6 ^  \" n8 T/ {9 a
end
1 o4 X0 ~3 E" g: Y5 Jto scatter/ A; n$ C, _+ F: Y
ask turtles with [remainder who 5 = 0]6 e) ^; I! S& R  r9 k+ e
[! o; S: e- ?9 j6 c! ?4 Q5 i- ]2 r( D
set xcor xcor - 6 + random-float 15. \1 [) C4 B, n5 U# g
set ycor ycor - 6 + random-float 15
2 i# V" L. [# x% w( @% O  f3 R1 q]
' [3 [, a0 A7 K; dend$ T& w+ q/ E* x$ H
to unit_plan
( t' d1 p! }- m% c( }ask turtles [
# ^6 L# z. k0 W, G* ?& M' i) uif (remainder who 5 = 1) [set a who
! {4 e0 i% V9 U1 B0 _+ x) S                          set x ( 0 - Wid / 2 ) 3 Z9 M- ~6 V6 f# Y3 W
                          set y  Dep / 2 ]% P2 _- ?1 h; i1 n9 v
           set b  int (a / 5) * 5/ ?/ x# C$ k9 y" l4 C0 F. j3 t
    setxy ( xcor-of turtle b + x )
" e' `4 A% D1 @9 i6 C* M, N& Y          ( ycor-of turtle b + y )
0 m) Q- n1 H& U3 |# Tif (remainder who 5 = 2) [set c who1 P( b* N5 n3 ?0 {1 ?) w" p4 N' q- _
                          set x ( 0 - Wid / 2 ) 5 U8 P' q/ l* Q. B/ Z# y. S6 R0 u
                          set y (0 - Dep / 2 )  ]
- U/ \2 t4 A  s4 \5 c                          set d int (c / 5) * 54 z9 }) ~4 K5 p
   setxy   ( xcor-of turtle d + x )
; p" w# r& Q9 z$ \$ j4 w           (ycor-of turtle d + y )
; ^8 S" y9 _. M! q1 }, P# c/ [! G         
, T# H3 e  B: Q4 U; E1 |. E8 h            
# a3 ~# \: W# eif (remainder who 5 = 3) [set k who' n+ \9 z. m4 H$ J2 d
                          set x( Wid / 2)  # B+ q& `3 K1 |$ }  K9 g4 V
                          set y (0 - Dep / 2 ) ]
9 m4 _6 c- C( V6 [                          set f int (k / 5) * 5- x5 m+ Q. H1 [1 D4 X0 z7 ^
  setxy   ( xcor-of turtle f + x )1 V6 o$ U1 @$ i9 |$ \3 `- E& p
           (ycor-of turtle f + y )
; G1 R, m, p! L& ~4 h$ d* r5 Y           0 w( K/ R3 U  H6 e
           
4 [/ {( `, k2 ~/ ^; Y$ U1 [" j( jif (remainder who 5 = 4) [set g who! q1 R/ u% @: s: d2 }( V
                          set x Wid / 2
5 E2 c6 g; a$ ]  ^: y, J                          set y  Dep / 2 ]1 t* r' D4 r) r- C# F' D
                          set h  int (g / 5) * 5
9 H$ \# w4 ~1 D- T  setxy   ( xcor-of turtle h + x )
  D7 F3 }! I6 C2 M+ o( X3 \* O           (ycor-of turtle h + y )
0 `$ a' w9 y7 `5 k                          
. M. l- O+ w# Y0 R: g                          % Q! g2 ?/ c. T% L* i$ W0 K. y
                          ]
" u( |1 j6 `% \$ x+ wend' r  A1 l: C$ q/ Q1 u9 O

  K' u) w4 e" i; T[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
, ^, J" H7 Y1 L应该是
  \; R: b% N/ D5 iask turtles [
$ c% H8 f4 g! [if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
& s  J- c3 H9 p5 ]; w6 ^+ r, s                          set y  Dep / 2 8 P3 F" }7 Y# F* H
           set b  int (who / 5) * 5
( @) c! [9 r9 G    setxy ( xcor-of turtle b + x ); G0 a  q# r6 Y0 k8 F, H
          ( ycor-of turtle b + y )]]
/ V# f& }1 A( vend. C+ v" _5 S' K$ V) Z: V* v: G; K  F
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-22 21:31 , Processed in 0.016861 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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