设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9094|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. b; ?& ], a, t- W& p4 |- H3 p* W, [
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。7 S/ ]$ o7 G# s1 v) s5 W/ l/ `

  O/ a5 G, d$ u- M6 w- yturtles-own [a b c d k f g h
. D0 m% I; ]# r, c  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
8 j6 Z3 Q1 a2 u6 C]
2 {' F3 ^7 N. g9 C7 k5 ^% |; {to new
4 n4 J2 S6 U$ p  [2 U4 R7 ]  M0 Q  ca
4 [3 R1 J% j  y/ F: d7 t+ ]8 w  \2 Y  crt 5 * num_of_building6 I' W- a7 ]' Q9 P- T8 ?
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. z' z$ U5 M3 v' \6 |2 D
  scatter     ;;keep center-turtle random positions
( f; D  b" z( o# q  unit_plan   ;;make up the building plan% K* `  I# _0 ]. M. n
end
$ N2 q4 D& V0 A) M7 Y, Y" P; v5 \to scatter
; a, v  s/ g4 d! E8 C- \6 b! }ask turtles with [remainder who 5 = 0]
' O0 f0 R: d: N# |[" R* W- d" r/ M" r/ t! g
set xcor xcor - 6 + random-float 15
1 J! ]- [2 `. H, J3 Q1 c2 s  pset ycor ycor - 6 + random-float 15' P1 b* U6 g! U, Q# u: V, S
]
( ^: ^- q: m) T# N0 r' e0 l3 Tend" D) c0 Q' P1 [3 c  d4 r
to unit_plan ' A# `/ o4 |% m/ l
ask turtles [4 F1 v) k0 r+ w0 f  b
if (remainder who 5 = 1) [set a who
- I' \5 q- o  z, _! [                          set x ( 0 - Wid / 2 )
% d# [2 K  t, i/ I( K: w                          set y  Dep / 2 ]
# D8 o/ Y( j% k  j           set b  int (a / 5) * 5
2 X: q$ t( m3 L5 i3 L* O    setxy ( xcor-of turtle b + x )
8 L$ D0 v6 V9 ^; U/ R$ C          ( ycor-of turtle b + y )- c2 b" @& V0 T& f: w! i. {; x: A1 V
if (remainder who 5 = 2) [set c who
; X$ [0 t8 y- h9 \9 ^                          set x ( 0 - Wid / 2 ) + R% f* b  b& v3 ^4 x: x
                          set y (0 - Dep / 2 )  ]
- I4 m5 O; a: q" Y. y                          set d int (c / 5) * 5
: ~. f+ E$ c$ I   setxy   ( xcor-of turtle d + x )% x- d' i: U% T) P& y4 g
           (ycor-of turtle d + y ) / g2 {% _2 e) J1 p! c# j
         
' @/ L# C8 J3 m1 @  @; C2 a5 w7 _            
8 \) v0 L) v7 \$ T/ W; ^# w' Wif (remainder who 5 = 3) [set k who
: R8 \, A$ w- {% ~6 w                          set x( Wid / 2)  
7 x: h+ V  q  `8 O: L                          set y (0 - Dep / 2 ) ]
" p# U. V) b0 E: k: t+ x                          set f int (k / 5) * 5
. U2 }8 w9 Y7 L* ^  n/ h+ c5 g- `& w  setxy   ( xcor-of turtle f + x )! x3 \7 p( x( i. d7 i% h
           (ycor-of turtle f + y )
( S/ }3 D$ X3 G+ N           9 Y4 M8 e& m$ G- R* p9 h0 D
           4 s& y4 T2 E) x7 t& z( q
if (remainder who 5 = 4) [set g who5 r$ ?  ]9 J0 b
                          set x Wid / 2
$ r8 ~. i' P. `                          set y  Dep / 2 ]
: q+ m: n2 u- M# D, D) a" s8 R) W                          set h  int (g / 5) * 5; Z, @1 f+ o8 |- J5 J* n) |
  setxy   ( xcor-of turtle h + x )
( S+ U& G( o2 \5 }: A           (ycor-of turtle h + y )
& @) y& Q6 n; S1 F2 |  @1 D) S                          ; N/ F1 C* R) k- O
                          
( I7 Z3 c+ ~$ ~, \  B5 X                          ]' w/ R! a! y6 c; h- ~
end7 @' x9 I, E+ T: f

4 x6 u" {9 m2 r$ @7 B) O+ e+ N[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- x( o" m  T4 Z) i8 _" _( D# g
应该是/ V4 a/ O1 j5 I
ask turtles [
4 b* U3 d9 R$ g" ]- C% m/ Wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) - B2 ]" g" |$ t( J
                          set y  Dep / 2 ' t7 @4 n( |. ~1 h  P8 W' x
           set b  int (who / 5) * 5
/ a3 P4 V% g% v8 A. r    setxy ( xcor-of turtle b + x )& e3 o, o5 `( F& y' a% J
          ( ycor-of turtle b + y )]]3 D5 G8 N2 g$ a+ w
end
1 @1 E* y5 @, K; j' \之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-17 02:52 , Processed in 0.018008 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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