设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6594|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 D9 [0 s6 _- j2 r1 v0 m+ X/ v9 c  w- X$ q; A: Z- [
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 Y& }! C' D6 ]7 J
% f) t* ^1 f* M
turtles-own [a b c d k f g h
; m/ U8 K$ z0 F! A. Q2 v3 |; B+ `  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! X1 y/ j  w3 T& x& X+ V1 J]- V# w) L' O5 ]6 @
to new- q, G0 i* _: }, q# x
  ca
! [) U% b0 E' H0 \2 S  crt 5 * num_of_building
: B& L! @* ?( t5 f' N  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
3 o: n) y/ d, W4 F5 E& \  scatter     ;;keep center-turtle random positions 0 M% y6 D/ I! s" T( S
  unit_plan   ;;make up the building plan4 ]$ D0 ]: @2 H. M" P. `$ y
end# g! o# E, `& U" p# B
to scatter: i% T+ n  J5 x! U
ask turtles with [remainder who 5 = 0]% S9 `( \# ?% K. n, d
[
; s9 W! B: u5 F% m! \3 Iset xcor xcor - 6 + random-float 15" _5 J. V3 z( k4 n' ^. f
set ycor ycor - 6 + random-float 15
8 \; u, b" L5 b0 J0 ?& d1 @]3 c2 Q) [8 |* d4 L7 \0 c
end5 E  N8 \7 I5 T. d
to unit_plan
: _, R+ q- W# h# o2 v2 \! c0 vask turtles [. {& E! y' s% C& z6 X
if (remainder who 5 = 1) [set a who
$ t  W' v# @! O. s& L                          set x ( 0 - Wid / 2 ) 8 B( f3 t! U8 R& E7 y2 N0 v8 v
                          set y  Dep / 2 ]
3 t! h9 P$ |# Y' O/ _+ c           set b  int (a / 5) * 5  @/ ?2 B# K2 z: ^7 n1 h+ p
    setxy ( xcor-of turtle b + x ); b: B2 G+ b9 n
          ( ycor-of turtle b + y )
$ H8 r& i1 L1 c* xif (remainder who 5 = 2) [set c who8 \0 m5 H' w2 F6 `# c9 Q, }+ j; a% y; t
                          set x ( 0 - Wid / 2 ) ( P3 x2 g9 G& \3 c" P
                          set y (0 - Dep / 2 )  ]3 Z) V+ H8 v2 \9 q% _2 y- _
                          set d int (c / 5) * 5
1 {/ e' n; h1 n6 q) P   setxy   ( xcor-of turtle d + x )
: `+ \" i' ^6 c8 P3 V           (ycor-of turtle d + y ) $ ?9 A' ]: ^' i+ `
            y* z) C' E% o9 K$ f2 _
            
' O# `$ i% B* A$ S* }) c! lif (remainder who 5 = 3) [set k who
0 X  @2 y3 N: Y$ x" j" u- ]) m6 g                          set x( Wid / 2)  
8 a5 V0 p$ Q1 D& ~2 R) @- t                          set y (0 - Dep / 2 ) ]
1 T6 Q, q( x8 w6 ?% o  ^                          set f int (k / 5) * 5
; U; T7 `9 G; r# N5 w' S  setxy   ( xcor-of turtle f + x )
2 Q; U( s) w1 W* `5 D           (ycor-of turtle f + y ) , |" C; ?/ j2 F; B
           
) E- ?/ Q: _9 A           
/ H" h1 U( P$ j# s: iif (remainder who 5 = 4) [set g who
, q! c( M$ G; d# b. l                          set x Wid / 2
  A. K$ I/ h8 O3 D5 b                          set y  Dep / 2 ]
, G* |1 `, F5 x9 T+ k# X8 _                          set h  int (g / 5) * 5( ^2 v: p+ L$ R+ z
  setxy   ( xcor-of turtle h + x )
/ D: L/ f; T& t' {           (ycor-of turtle h + y )
5 W+ O5 r6 q. Z# j. R* h) c3 k9 s* g% }                          
% i3 J- L+ T7 f( y! l; i" b                          / z( l( \( `; M4 S% Y# o% F0 D
                          ]
: H/ r# ~$ q( P. V# F# Q8 eend" p1 `9 W5 J$ y3 |. s8 e/ P
) _" t0 z7 L# k1 B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,; y' a5 c4 Z8 t1 ^9 V0 |% _  J5 u$ o
应该是
% ], u. t9 A2 [& `7 K( ?- \; R; Oask turtles [" g0 e3 o) \* i: \
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ ?/ P% j9 _! @9 e                          set y  Dep / 2 ( X+ b4 Y0 C' R( S9 r) K
           set b  int (who / 5) * 53 Q$ l( o, ^% C" @$ A
    setxy ( xcor-of turtle b + x )
% N6 V) R1 K8 W6 o- k          ( ycor-of turtle b + y )]]
8 M& o" s5 d0 u/ i# n/ [end
* ?- v+ g! C3 ^+ ?8 _之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-1 23:09 , Processed in 0.015376 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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