设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8034|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。5 Q! H, I$ t9 m

( Z% k) o+ L' F7 ]) t- [但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。" Z) T* C" K, _

/ L( o- H6 t, |0 _% P1 Lturtles-own [a b c d k f g h
6 s9 W2 z/ A2 v' `) |$ V( ?  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 `4 Y1 t+ J4 o! D  G' l]- a7 c3 n; x9 D5 y; a# r7 h
to new
1 U5 J! ^9 s/ _4 o. P: [  ca8 v: c7 q* N" B" s
  crt 5 * num_of_building2 G& X+ G% m: Q1 W8 Q2 f( ?
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 q' u: W3 g; O7 x. n
  scatter     ;;keep center-turtle random positions % b6 L# A3 G& {- z
  unit_plan   ;;make up the building plan
9 T- y6 f6 y/ L$ U/ X" c; x, q% {end0 ^5 L$ i7 _4 S1 Q% R, r# R3 t
to scatter( N8 ]; p8 d+ ~# j
ask turtles with [remainder who 5 = 0]
. \# K) |3 \9 \6 D; ~) |[2 d: W) V8 P9 Z. u& [7 F
set xcor xcor - 6 + random-float 15
: J$ w; g& \* D5 ^/ p8 p5 c. E. E# iset ycor ycor - 6 + random-float 15
+ `$ F5 |8 l7 |]: g& U1 I7 _; u& F! [/ a
end
: P' g) R6 g% X; {to unit_plan
7 h( @: a. B& w5 n) ~7 rask turtles [6 O5 G4 [1 r: u4 J7 U4 C. S
if (remainder who 5 = 1) [set a who , \( e* _1 M8 j/ s# ^- G$ p$ [
                          set x ( 0 - Wid / 2 ) $ v- h+ x8 U$ q
                          set y  Dep / 2 ]. ]  Y6 ^( R# }$ D
           set b  int (a / 5) * 5/ ^5 ~0 K& N8 ]  y2 f: [
    setxy ( xcor-of turtle b + x )7 F5 l- U3 ]6 ~  c( W8 ^
          ( ycor-of turtle b + y )
  b' L" }: w/ Q" \) R1 w9 t% uif (remainder who 5 = 2) [set c who. Y4 v0 _! J2 I7 j, T. ]; a  ~
                          set x ( 0 - Wid / 2 ) 5 \; A, T( @! z% U
                          set y (0 - Dep / 2 )  ]
! G! ^4 o! O# Q) D8 A                          set d int (c / 5) * 5& |, ]# k9 s! n' _$ {
   setxy   ( xcor-of turtle d + x )
1 j, `2 N' W4 @4 w: i0 Q           (ycor-of turtle d + y ) " y5 ]. Z. J$ P, o$ r5 a9 S
          & ]4 y8 L/ U9 S8 h8 c
              Z- P4 d% O+ d" W: n, `$ T
if (remainder who 5 = 3) [set k who; m, F9 U/ H' C* F6 K
                          set x( Wid / 2)  - ]# |3 q$ n" P8 E( O& q; f- u
                          set y (0 - Dep / 2 ) ]
* D0 F- i" O, P  E                          set f int (k / 5) * 5
7 C6 d0 l' S. X- J- f. Y  setxy   ( xcor-of turtle f + x )
0 \# K( t! |4 Y  x           (ycor-of turtle f + y )
* P* f( Y" a4 b  w5 A           
4 y% l- T8 h3 t2 F: ~) |# O# i           
$ z- b, O9 C; `  m7 qif (remainder who 5 = 4) [set g who  I- ]4 g7 M1 P/ T- P# K/ K
                          set x Wid / 2
5 L" H2 M( }7 i: ^" g                          set y  Dep / 2 ]  c3 C! h" t+ K7 ~* v% y# s
                          set h  int (g / 5) * 5
- A& v1 b2 c, q6 h3 l  setxy   ( xcor-of turtle h + x ). c/ J5 i5 E2 W1 p
           (ycor-of turtle h + y ) % P, [4 [# h& M* O2 q
                          5 H2 m* b! ]8 T( t) c
                          
8 _; ]' {5 ?- T" L, l- N                          ]9 Y+ a. j3 u( t$ X/ r
end
# O8 Z$ E2 |. t* v' h' D1 c
2 @. p3 n! H/ m+ l[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 i: v9 p) l# `' }" ?应该是
) q% A5 q+ l; O) B/ Vask turtles [
1 Q. K  A+ Y5 Q3 [- n2 Zif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 V7 z, L- W4 {: N7 h' i; Y0 B- ^
                          set y  Dep / 2
3 C0 A5 S# R9 {4 F6 ^  I$ d4 M  e& {           set b  int (who / 5) * 5
8 @7 _* w; [: F) `: ^7 P    setxy ( xcor-of turtle b + x )
  T; o: |. K! M$ @6 t! z          ( ycor-of turtle b + y )]]$ k8 w6 W* y" ~  w" Q
end
6 ?" j9 D8 B# q* v0 i& z, Y# J之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-30 13:54 , Processed in 0.015547 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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