设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4184|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( t4 _- r9 G$ X0 p& I2 V' L2 W

8 r5 p8 n& Y, R6 v' b& W但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 \! k, F3 n2 \- J3 q
& K* U* A9 d5 `5 s. v% @* [
turtles-own [a b c d k f g h
' l' _5 F! m  O( p  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 5 m5 O# ~3 P+ @  C* h
]2 _  v3 n3 `  k2 e
to new
3 _, L5 T6 y# U5 L9 L  ca
( C' A& J+ x( l# j# _0 e6 e2 f  crt 5 * num_of_building* B' M) N5 _3 ]0 s2 q; D* @: N" x
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 ~  n8 A7 \2 D$ e
  scatter     ;;keep center-turtle random positions
4 o2 k, Z/ Q% J0 I/ S  W& J  unit_plan   ;;make up the building plan. x2 L& G9 D) B, F& F
end5 o( S  s: b9 X
to scatter% n* |( D. ^: ?- v% y  s
ask turtles with [remainder who 5 = 0]/ J( a( ^: s& B! ]! @. M7 E
[
; z! y- Y# G, b" }' _1 kset xcor xcor - 6 + random-float 15
) u9 u" d3 G0 Aset ycor ycor - 6 + random-float 15
" R& @" ~/ a3 ~# x% l]5 b- L. N2 o( k/ R4 `, x
end1 \" @' n! F  j% S0 S
to unit_plan ( U- l6 C% U3 ~, y7 n6 ~3 g
ask turtles [
- n3 u* Y5 J# b7 W- R. Y! v7 z8 y! eif (remainder who 5 = 1) [set a who
& k3 F  b5 n5 i( u: v5 v  B& D( H. X                          set x ( 0 - Wid / 2 )   R& e" W$ e& V& E
                          set y  Dep / 2 ]
3 W+ d, B# I) p$ F4 Z           set b  int (a / 5) * 5
# ]8 i8 h  Y% [; G3 C    setxy ( xcor-of turtle b + x )
+ M/ r7 x' r/ L& N6 M          ( ycor-of turtle b + y )
) d" r- K7 ]5 s& x3 k3 `) {if (remainder who 5 = 2) [set c who3 b( k" H& t7 l1 x( x
                          set x ( 0 - Wid / 2 ) , A) y, U! d$ f4 m% a/ w- B
                          set y (0 - Dep / 2 )  ]
: W$ _$ h; W2 Z+ d; I' g                          set d int (c / 5) * 53 `* t# R. Q2 P
   setxy   ( xcor-of turtle d + x )- E2 u% p$ {& ?2 ~8 D1 E! z/ H
           (ycor-of turtle d + y ) 9 f, E5 B# V5 O5 u5 p8 V$ Q9 K
         
, ~0 d$ g/ O9 q& y5 b" c- ~            ) C1 d( S- k8 q7 ~! W' [8 V6 ^
if (remainder who 5 = 3) [set k who7 {1 m' S$ M. @1 ]
                          set x( Wid / 2)  ; V" Q8 m0 S; b
                          set y (0 - Dep / 2 ) ]
/ i2 g* X6 B; ]% l# _. |) T0 y                          set f int (k / 5) * 5
, S/ Y8 G1 C8 S% g" C! j3 B& G  setxy   ( xcor-of turtle f + x )% ^+ X8 a5 p$ r8 J# ~. v9 b1 S
           (ycor-of turtle f + y )
4 x7 x4 g# d4 \: l2 H! `           2 ~# Y+ ~$ r8 \) a0 P" F
           
, f9 k5 ]: I5 m/ ~4 u2 j, q/ m2 vif (remainder who 5 = 4) [set g who9 w" C1 q; o, p) N9 S
                          set x Wid / 2
, P2 Z2 A- \- m6 s                          set y  Dep / 2 ]9 r7 {3 O- A- s$ _) t& F
                          set h  int (g / 5) * 5
: w$ H$ q2 U8 \4 r  setxy   ( xcor-of turtle h + x )
% M3 l2 w1 R' @, b/ e           (ycor-of turtle h + y ) ) s+ P( b9 `' Z' K5 H6 J3 x+ j1 ~
                          ) q- q5 |. ^) i& N7 N7 f& {. K
                          
, M8 C) z1 [( j8 {/ p                          ]
, \; L4 w. A9 z/ m& Fend4 I: C+ e$ U7 E

! v' W9 R1 b/ e4 }9 b6 x: B2 D[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- s- e! I1 B% A5 ~
应该是; w: @1 d2 ]& M( `9 L! |' q' {
ask turtles [2 ]( f- @. Y. P# K* C
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " ?' U% ?; O4 y/ Y
                          set y  Dep / 2
( w) F% `" Q% E( d4 _* J           set b  int (who / 5) * 5
% @1 Q+ ^! F- _9 B( {1 J    setxy ( xcor-of turtle b + x )
$ z1 ], N" K9 E# `& y          ( ycor-of turtle b + y )]]% w( U) |' I; s3 x1 d0 g# E
end' r# W0 V; U6 u! E* b
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-11 21:30 , Processed in 0.013856 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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