设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5871|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。7 x, }9 Q/ A" S: d# z$ v; x3 K; t

0 [8 y( F2 c# g7 y4 O5 D2 O" @+ n但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。- @' ^9 s4 ]: L7 g0 Q1 o

" ^* I- k. U3 |* h- h) hturtles-own [a b c d k f g h6 w5 h9 E, e3 H1 v
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 L* |* ]% E$ a$ R' |: Q
]0 l( P) \" Q5 {" Q. e, W
to new9 l. x5 r3 S! y" J+ K
  ca1 g  W0 Y& Z4 t" a; h
  crt 5 * num_of_building
8 Y! s) T7 ]  E' p+ \7 l  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
* ^( k1 o* `; b! C; o% ?  scatter     ;;keep center-turtle random positions 8 J+ v' f) t2 E+ o6 R" I
  unit_plan   ;;make up the building plan
4 K/ n2 K  A3 ?( j' h: Nend
+ @/ k: x5 Q8 y3 F- Q1 wto scatter2 G2 o# Z  d. |& _) I) K* \0 H
ask turtles with [remainder who 5 = 0]2 R2 N& m2 `' B6 x3 n0 `! ^4 ]6 U- `
[
5 v$ x+ M+ F+ eset xcor xcor - 6 + random-float 15
7 V% @, ^2 J- N: Q/ L1 c& t. h7 ~1 {set ycor ycor - 6 + random-float 159 A: D; y- @# @1 [' v7 _
]
% j+ z7 E+ i& l  z* O- zend* N. W& A+ N+ r+ d- f
to unit_plan
6 t, e- ^2 j) s0 s/ aask turtles [  [  x9 @6 l1 h4 M% l, `
if (remainder who 5 = 1) [set a who , W4 x- e+ A% {1 `% Z0 X1 f
                          set x ( 0 - Wid / 2 ) 9 h" R. D$ M! |  G/ ^
                          set y  Dep / 2 ]
( N4 s/ W+ I2 `0 S5 x0 P           set b  int (a / 5) * 5
" B' \; _0 e1 o( R    setxy ( xcor-of turtle b + x )% o5 L! C- [# s
          ( ycor-of turtle b + y )
. l- \/ t3 K: ^1 Y' x! Z$ eif (remainder who 5 = 2) [set c who
9 q, O$ w" E2 C) x8 X* ?0 X+ u                          set x ( 0 - Wid / 2 )
0 r2 ~. R" J% c, f9 o8 M( o9 x8 @                          set y (0 - Dep / 2 )  ]
! c/ `2 k! T! F2 U0 n' U4 S                          set d int (c / 5) * 5
* w6 c8 e4 h% F* V, w2 ?" t   setxy   ( xcor-of turtle d + x )/ N; J( l  K# T  B+ W/ o/ S/ Q" N
           (ycor-of turtle d + y )
: E* K4 s6 D1 k          5 ^" l1 w( R, _/ I4 G& p: n
            
+ q2 [* U7 U$ [% P8 Xif (remainder who 5 = 3) [set k who+ [. U" H3 b1 [& [# y) W! A
                          set x( Wid / 2)  % u. ~3 X7 d: V
                          set y (0 - Dep / 2 ) ]
* A& s) z: ]- @7 ^                          set f int (k / 5) * 5
4 T, ^$ i3 Y( H4 p  j1 c8 R  R2 A& f  setxy   ( xcor-of turtle f + x )
: }8 u. q: a; j1 H% D           (ycor-of turtle f + y )
. [6 W+ W# V- Y           ! H8 L" X/ U. ?7 q+ k
           
8 z& _& h. J; t0 i& K8 tif (remainder who 5 = 4) [set g who# l  z+ Y7 ?5 K% r) ^- S5 i7 E
                          set x Wid / 2
( y, j; x+ H0 V. `6 }                          set y  Dep / 2 ]
: L, i- t1 F/ A! ~                          set h  int (g / 5) * 58 A4 E/ @$ T! t6 k) H6 e
  setxy   ( xcor-of turtle h + x )
* W# r  Z$ G- f; q% {           (ycor-of turtle h + y )
/ M: w, i+ Q1 W                          
; E* C! P- ]1 K4 P& H- U- Y+ o2 A                          
2 n9 Y, E3 t. k- L# C: ?$ F6 J0 K                          ]
  I; M( e5 L) A$ Y9 t+ send
5 g( i, G- Y) o( l8 e* w" G) k  z4 V  O. R% ~3 B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 O# i$ P# I% u  k2 t应该是
5 Z$ A5 u' D0 t1 d1 W0 M9 n) T% f4 Pask turtles [& K  }# G! X$ u& J
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 3 B- c4 c3 V+ {, a; w- @! y5 N6 A
                          set y  Dep / 2
  K$ z* {# D! S5 u: U( |  Q           set b  int (who / 5) * 5
/ ^4 T2 p5 x. g, b2 y    setxy ( xcor-of turtle b + x )% R. Y7 U. T1 a- {+ n- A
          ( ycor-of turtle b + y )]]! s( [& C& {& g
end
1 Q0 l7 s9 h9 q: N0 v之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-26 06:17 , Processed in 0.013903 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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