设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7033|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
$ g5 n# x! W& N% A5 K* x% _6 z& B! t1 [; O( u7 ~( s
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
; |$ h9 N8 r/ E' _% p5 }
8 @" h2 M% N* S7 n7 ^! Uturtles-own [a b c d k f g h
* A+ R  C- @; b1 m  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 W+ Z) p: {+ K3 n6 M4 b& m9 [" A* []
# b& b, p4 {+ o' U9 G! N" I$ oto new* g. l: Y# `3 O* \
  ca5 ]- Y, I8 `4 ^
  crt 5 * num_of_building4 y7 h7 O7 G, Y: S6 Y' h  u1 a! [# O1 A
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]# P- l0 `5 m: g: v# _# R
  scatter     ;;keep center-turtle random positions
4 L* H2 }! u% ?. K$ a  unit_plan   ;;make up the building plan4 S& f; Q( {) q" r% R6 M, G
end
. U8 i; Z8 C* Nto scatter
  e0 r, a# l& }ask turtles with [remainder who 5 = 0]
/ H6 ^" [  o( _' r* \[
, j7 G" P- R* \set xcor xcor - 6 + random-float 15' B/ @: {3 g$ `8 m0 Z5 E
set ycor ycor - 6 + random-float 15' ]6 O& p& n) X. [  s; K
]
0 s& V# a# p1 A' r$ [% a, Oend# H: ^" @9 B0 p+ y
to unit_plan
1 |/ N) d6 |8 T" mask turtles [5 @  F8 L8 E& |  A2 [
if (remainder who 5 = 1) [set a who & j" w& ~* l- _
                          set x ( 0 - Wid / 2 )
! ]8 h. o& K% ^# k/ c                          set y  Dep / 2 ]7 X; \! ]% {. j+ O. O& `
           set b  int (a / 5) * 54 X* F3 O; D+ Y; H4 a
    setxy ( xcor-of turtle b + x )
& L: b' Z- o. F3 J! h! I4 T          ( ycor-of turtle b + y )
: l8 z! r7 |, J$ d3 N. C( n. Hif (remainder who 5 = 2) [set c who
% c- F) k5 }/ }                          set x ( 0 - Wid / 2 )
0 O5 Y4 W6 U( i7 X  L( B& W, w! ?                          set y (0 - Dep / 2 )  ]
4 x( j; b. }2 Y& k1 ^. ?* j                          set d int (c / 5) * 5& m2 P7 x$ @  s
   setxy   ( xcor-of turtle d + x )
* p* r3 @4 {" c( p           (ycor-of turtle d + y ) ; \* n2 V$ u) i% s) y- J+ R6 n* A
          3 q& f- ^- {/ u$ G/ v+ F5 i3 q9 Z
            
, V8 g& ?" N7 [$ D/ X8 c' Nif (remainder who 5 = 3) [set k who  D$ n- t0 j- U2 I. i1 I) ^8 E
                          set x( Wid / 2)  
7 }  w5 U% j5 ^0 a5 j9 k; @                          set y (0 - Dep / 2 ) ]0 @: Z1 L- k% {$ f7 h( I
                          set f int (k / 5) * 5
2 U. c- `: [+ p8 |  setxy   ( xcor-of turtle f + x )+ F0 u( I: x- t% K/ l. H$ M
           (ycor-of turtle f + y ) ; c/ R- y% k& j0 Y7 g9 k
           * |# p6 f$ B9 j. U, n& `4 I
           
# F# l2 }* x& K% k/ r# q3 zif (remainder who 5 = 4) [set g who: Y1 J8 f, q: u" }2 |* _/ b0 ?
                          set x Wid / 2
9 ~+ w' z; |3 A9 \' m                          set y  Dep / 2 ]: P' W% M7 a- `! c7 A' f9 x
                          set h  int (g / 5) * 57 P. |- Q1 E! F" z
  setxy   ( xcor-of turtle h + x )
1 J& O; h0 O/ |+ C; L% a  [- Q  v           (ycor-of turtle h + y )
7 b+ N6 H" L* L3 L' P  B                          . i/ _0 G* [' _$ M. ?+ f1 m: A
                          
' I& |7 ^) f5 ]+ H! \) v                          ]" j) r/ F0 R# ~# |
end
& R* {/ P- b& o; w. N0 q( T9 e
& V; ~6 ~3 i& E$ j( [) n, d[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,0 `$ Z3 z( K! ?3 n' X
应该是
3 E) w% N4 Q" v8 R0 x6 i4 R4 b+ mask turtles [* A% i  X% @. G/ P5 ?$ ?% [( }' i
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 `& O+ G" F0 c6 l
                          set y  Dep / 2 : Z; S8 Q8 A" c2 v
           set b  int (who / 5) * 5
/ u( |! u0 J- `/ u1 Q- Q* i    setxy ( xcor-of turtle b + x )
4 P8 Q+ k, c! m6 u          ( ycor-of turtle b + y )]]3 b) p/ R! I( {- v6 n9 c6 w
end  R0 a- P" X( U. I2 }0 c# J0 g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-19 11:22 , Processed in 0.014288 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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