设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8263|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。- S7 W' X  o5 ?; v6 C
# V: u) V$ ^7 A) W4 w; |
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
3 a' t- _3 H8 g/ x
/ L& o& N5 C; E( R4 R* O! B5 a7 @turtles-own [a b c d k f g h
; n# t6 b- A. T" `/ K  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 s" V( v% E8 `3 X3 s0 \! ~]
5 x4 D7 J0 _( H+ Xto new
" ?; E$ d4 o3 e; U% a* E  ca
% N. `  s. G0 g  h7 u  crt 5 * num_of_building
, E  H3 h* |6 z  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' y- ]4 u. p$ K: G* f6 b: X5 L
  scatter     ;;keep center-turtle random positions ) }( }% W+ b& [+ x
  unit_plan   ;;make up the building plan
" F$ s; p1 p% ^7 q' f& ^) s4 bend0 B& F0 V; r0 b- e6 [
to scatter6 i! a% t$ C* a
ask turtles with [remainder who 5 = 0]9 ^/ o# v# o- ]2 `) k
[* p7 V+ u1 b) R4 w1 ?3 I9 I3 m- N
set xcor xcor - 6 + random-float 158 |- l1 T$ [5 V! s" ?9 D! v
set ycor ycor - 6 + random-float 15
$ N8 L% A* E$ {' `! a  b]
2 j6 A& d7 |. Jend# y* ^1 @+ ]3 X/ Y& q, b" Q) t
to unit_plan
" }1 }: f5 S, G5 Aask turtles [0 H; Y/ j7 ^! x
if (remainder who 5 = 1) [set a who / K) j1 g' r7 O: b9 m2 G1 M
                          set x ( 0 - Wid / 2 )
+ _" P1 D( K; Q% y9 v% ^                          set y  Dep / 2 ]/ f6 ?3 ^3 w$ S8 K
           set b  int (a / 5) * 5
1 N: a: K) {, {4 a% n4 D    setxy ( xcor-of turtle b + x )
4 M. v* d; z3 }3 c% k" K- i# Q          ( ycor-of turtle b + y )' B# Q& X+ b2 W- C
if (remainder who 5 = 2) [set c who9 d! M' y8 t/ N" F1 a  {6 ]3 E- I
                          set x ( 0 - Wid / 2 )
) R7 ]3 g5 }1 [) w3 ^. g                          set y (0 - Dep / 2 )  ]
) \) n: \, O, y                          set d int (c / 5) * 5
( y( E: |+ D0 D4 o3 x& F8 \   setxy   ( xcor-of turtle d + x )
, I/ N, f! e- e9 j# k, I           (ycor-of turtle d + y )
* {: F; z$ i* M7 ]  g- ?) q( s         
3 H" M8 ?( U' d# a+ H+ l1 ?/ a            ! E$ `' r* b8 L6 ]' G5 s
if (remainder who 5 = 3) [set k who% t$ H1 [- Q8 A7 v+ O* k
                          set x( Wid / 2)  
& l3 r/ w" [' [3 B" \" f; j: W% i  S& [                          set y (0 - Dep / 2 ) ]
9 A, X" b6 Y5 I3 S4 e' Y. f- x                          set f int (k / 5) * 5# M0 Q# u$ V# `( T' s
  setxy   ( xcor-of turtle f + x )* o9 J! d4 U1 w; @/ e6 K
           (ycor-of turtle f + y )
' i: v0 h( \% Q" U8 V           7 x+ A# b+ l+ D5 ]$ C: j
           
) ^* L( P3 s& ]# J! j  N7 F! lif (remainder who 5 = 4) [set g who
9 ^+ K# T3 B. i# b. t) Y2 l                          set x Wid / 2
# |5 X7 D: R, K) k% a                          set y  Dep / 2 ]
7 L) z# u; e9 s                          set h  int (g / 5) * 55 d2 W0 I8 H% r
  setxy   ( xcor-of turtle h + x )
* r& E; L3 ?4 s- K2 z           (ycor-of turtle h + y ) # t/ [9 \9 p. f& \; b; Z
                          
& ]0 h) x' X! E) b7 S3 A. N% r9 ~                          
9 p4 y% J" a4 r1 O6 D1 {' p                          ]- Q* ~& ^0 L5 j0 e# N! ]5 {; w0 H
end
# y5 l% s5 B4 W1 A- e$ q1 n; z1 F/ [- b: c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# h5 f. I8 Q' P( O+ M- T/ F$ Z) M
应该是
' r+ \9 N* \# T* }. B# H- Kask turtles [
# d3 r* ]# k( O% uif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) U! f1 j( }1 m6 x, H* J
                          set y  Dep / 2
# v, v* k: b1 O" M8 o           set b  int (who / 5) * 5
8 I) U1 ?7 y$ t9 S) B9 t7 y    setxy ( xcor-of turtle b + x )
/ f) w, F+ h: ^: X          ( ycor-of turtle b + y )]]: x7 }# d# Z( B' Q6 M3 r, Y
end
" `$ S, x- S, o' z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-27 01:55 , Processed in 0.026545 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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