设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8148|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& `  _0 q" q1 T# \& f

6 M. [" B$ j5 J4 M" x0 Z; n" N但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' O, V% d2 k. G. R& ~  J' \3 F9 w

/ f$ ^8 Q6 X& o* j7 p8 Lturtles-own [a b c d k f g h" w- G- _  J5 v  R5 A$ B6 I
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , t8 k2 R) N6 u# u
]+ R2 l7 D! v/ {! w/ n
to new
  x5 e& C# l0 b/ V. O8 f% a  ca  V; j# y% ^( S8 j( Y: P
  crt 5 * num_of_building
% G: m8 v4 v3 H) F  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]6 f; d, j1 n9 F1 W2 S. K- D
  scatter     ;;keep center-turtle random positions
2 o; g/ {9 g( _! r  unit_plan   ;;make up the building plan# X/ g/ w) |5 Z! @; _
end  [6 \1 F, `3 Q. u7 m' [
to scatter4 L1 J- f# p. Q6 x+ Y+ m
ask turtles with [remainder who 5 = 0]
6 ^2 \  @8 x% o8 v, x" {[6 ^2 B) W, U) g% z7 h' j9 p
set xcor xcor - 6 + random-float 15
& ^# Q( ?5 r4 p  I- C3 t3 S) wset ycor ycor - 6 + random-float 15
, z' m# j) ]: P0 x/ M]
* D7 I5 ?( D+ e2 }7 eend% f% }) P% f) h2 L
to unit_plan 1 k: |% H2 M2 f8 y6 Q* F1 c
ask turtles [- K4 l9 I! n% ^- ^
if (remainder who 5 = 1) [set a who ; r5 U6 e# a+ o5 U1 r! [
                          set x ( 0 - Wid / 2 )   H: }) \4 r9 e! A. n
                          set y  Dep / 2 ]# l1 b" ?  o/ I3 x$ K+ D5 I
           set b  int (a / 5) * 5  h2 `8 z# ^$ z
    setxy ( xcor-of turtle b + x )
- z; ]2 F& @9 W          ( ycor-of turtle b + y )
! F& L, X, D: J3 Yif (remainder who 5 = 2) [set c who/ H" Z! k. b9 s1 l
                          set x ( 0 - Wid / 2 )
. K2 Z) w3 M' N4 R$ Y                          set y (0 - Dep / 2 )  ]2 G9 u7 y( T( z+ M# S) @) e! }: W" O
                          set d int (c / 5) * 5
3 p0 B/ h2 f9 i   setxy   ( xcor-of turtle d + x )3 f% I, d! V$ a3 K" N8 W. t4 `
           (ycor-of turtle d + y ) : c& z3 l' o% v& d/ y
          4 d- K, I+ L2 H, H- R
            
$ ~6 j/ S) U5 ~7 S. jif (remainder who 5 = 3) [set k who
. l, }8 q, \# W                          set x( Wid / 2)  
( ?4 d# `; o! `1 z, ^8 m+ ?5 u                          set y (0 - Dep / 2 ) ]1 P! {' h- e" |: A: v/ d" y
                          set f int (k / 5) * 5! p# o9 E% b2 S) @. \* K7 E
  setxy   ( xcor-of turtle f + x )
# n5 L- U! ]# G6 u0 X9 k' }           (ycor-of turtle f + y ) . Z) d3 T5 T1 U: B# a+ x4 U+ j* I
           / r  B9 n4 d0 I/ U" L' w; Q2 h- G$ b
           
- Q+ X* [4 {" t. G' }& E* Q7 p( jif (remainder who 5 = 4) [set g who
3 |8 }! c( `# b4 a) ?+ z" X                          set x Wid / 2
- p" K, u1 h5 \4 K* H# l                          set y  Dep / 2 ]- w% J/ ], r( t& [6 q8 ?8 k
                          set h  int (g / 5) * 5
7 l  R6 D  q( b' w; O3 {. T  setxy   ( xcor-of turtle h + x ): \+ O% n3 @- N1 j# k
           (ycor-of turtle h + y ) * w( `& @4 d9 {! O4 w
                          
# P" l" g* d0 L8 N1 r                          & V. v. E/ Y1 u  W0 [7 s$ v5 d
                          ]. o8 ^$ o2 S1 d4 i
end0 n2 w1 p, E) l1 ?

6 L0 ?5 c- R: S7 m  t& N+ `[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ Z( h3 t. [, R应该是
5 {2 V0 ?. }  C6 xask turtles [, Q3 i7 }1 @) a
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 F" A1 k" m# \* c                          set y  Dep / 2 , A! P: R2 o4 v1 Y! V5 C6 A% `
           set b  int (who / 5) * 5
2 f/ j/ Q; s7 H$ n) r, f    setxy ( xcor-of turtle b + x )% ~7 ?. J5 d# {' i" p# d  E# g
          ( ycor-of turtle b + y )]]5 o  d9 V" i. b2 W) _
end7 f' S! `0 V# o% d* C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-11 08:44 , Processed in 0.016686 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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