设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7333|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& e9 h. {' |' V1 k' T7 f8 U3 Z
% W& m0 _, z* J8 m+ [4 w! k  H0 E% V9 H
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' d0 O6 `& B2 e$ K+ ~! j
4 H4 Y, k8 f& ?/ u9 v) Dturtles-own [a b c d k f g h
/ j/ O8 y& K& Y7 R  x y     ;; these are the leaf-turtle's offsets relative to center-turtle & V0 K5 s( C" P1 n
]4 H+ j! G4 {8 ~4 @% p- R" d/ ^
to new
5 G% o' }, Z! m3 Y3 G6 j  ca
( u9 K4 _. ^" |3 @  crt 5 * num_of_building
0 m+ ^) |% L: f+ E2 ^6 Y( w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 D: u. A5 X, E+ W- R& F" X
  scatter     ;;keep center-turtle random positions
3 {8 G. m; [( t4 _! B  unit_plan   ;;make up the building plan
7 h+ W2 f+ }9 V; ~: ^$ |5 D; e! Qend5 \# Q/ d5 N- ^
to scatter
- x8 M7 f5 z# U4 s( S' `ask turtles with [remainder who 5 = 0]6 f/ X9 s" p6 N; Y! |
[
5 f9 A4 |( M5 q6 |- F" |" `set xcor xcor - 6 + random-float 152 a* N) n( d1 S& e, z8 L+ g* ^% r
set ycor ycor - 6 + random-float 15, U$ q) `' @1 i( s  x) ]& e! @8 g  [
]
! h  j1 U0 W8 V' j, |! V, @% p: R- d4 ?0 `end
& a0 l" n4 M, T* _$ `to unit_plan
0 \8 U8 F, e; eask turtles [) ^' _7 t2 t2 Y
if (remainder who 5 = 1) [set a who
4 [- l; m$ ^4 j9 _3 Q) \                          set x ( 0 - Wid / 2 )
: Q; u9 ]0 l3 G1 Q; Z! g1 @" e                          set y  Dep / 2 ]1 s, E, M* J( u% B& F1 e3 b
           set b  int (a / 5) * 5
: r; ^6 {! u- y! ~+ I: H7 [    setxy ( xcor-of turtle b + x )
$ u" c& _( K( ?+ m          ( ycor-of turtle b + y )# E8 [! A2 u2 d7 L6 p' \
if (remainder who 5 = 2) [set c who
8 l3 q2 u9 h9 e% C                          set x ( 0 - Wid / 2 )
0 N' j+ h! m$ X9 B3 a' V3 U* t9 N, _                          set y (0 - Dep / 2 )  ]
  s& L! s  k9 D& @6 A9 r1 s                          set d int (c / 5) * 5  t/ s8 K& F" T" N- E3 e! u4 t
   setxy   ( xcor-of turtle d + x )
5 U" Q% P/ ]6 s7 A           (ycor-of turtle d + y ) 5 l- v) j" I7 r- _7 Y1 Z9 X, o
         
6 K: S# B( G3 v4 o            
6 v& J* A7 E" b$ G" u0 n! p* B  `) w: Hif (remainder who 5 = 3) [set k who
) q; k6 z. D: P                          set x( Wid / 2)  9 B/ ?: Q) Q6 g
                          set y (0 - Dep / 2 ) ]
9 a8 N! Q4 o0 A. s$ I                          set f int (k / 5) * 5& Y9 P! E  v( J; a) C9 ?
  setxy   ( xcor-of turtle f + x )$ i+ p+ ?8 x8 k+ J! r+ o  V  Z
           (ycor-of turtle f + y ) ; j3 P: O2 N$ L1 J
           9 a% E& @5 G# p- v4 l1 R
           
4 ^$ C+ b$ Z# |4 Qif (remainder who 5 = 4) [set g who) K, {9 t0 X! R0 E' I8 X
                          set x Wid / 2 " N( `0 l( L: V1 a( i+ Y" x
                          set y  Dep / 2 ]! `* C; ?0 D1 \# W
                          set h  int (g / 5) * 5
1 [6 h1 z3 H: j2 a+ |  setxy   ( xcor-of turtle h + x )
9 x, W" P& {  `) U) j9 t  _- t           (ycor-of turtle h + y ) 9 C2 u& ?* J9 {2 o3 g
                          
# D8 m1 q. ~( L: H% n                          : N5 H- i2 w9 [7 v7 @
                          ]: _3 A0 S% G  Q, k
end1 U) j( H9 s' @% j# ]7 x" F$ G

9 T2 ]: J9 G- d[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% P1 A& S5 v7 v7 e
应该是
/ J9 J% w/ H5 h6 ^ask turtles [
" n& }; f+ {/ o8 Tif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   K: L$ A8 |4 s* p1 }% E1 r( t
                          set y  Dep / 2 8 S1 N" l2 ^* m# s4 `
           set b  int (who / 5) * 5
8 o2 i( O7 c7 Z+ I2 @" ?* r- s) C5 |& b    setxy ( xcor-of turtle b + x )
0 p) x7 G8 F; Y( w          ( ycor-of turtle b + y )]]
" b, f' X- ^: M  q) e; V5 yend6 x; D. }; F4 p7 I# h# n% W% i
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-30 13:43 , Processed in 0.013850 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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