设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8499|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 g! [% z3 @5 D/ v! a# }& @2 ?/ f' ^+ c( d% x& S' p: D5 I, \
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 r+ l! v. E) X( e, g* r
( \' \0 I7 }/ H0 `& W$ Yturtles-own [a b c d k f g h0 ^: X$ e$ {6 _5 ]* z- L
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
8 {. Z$ x# T6 Y% o3 C( X]' n) j4 Y" W! y0 \. a
to new
3 f+ a4 O0 p) i8 j  ca+ j/ b- f) x# @) z2 U
  crt 5 * num_of_building
) Y  ?, O$ m- [( k3 [3 m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! M' j9 e5 M1 u( E# Z+ L3 f  scatter     ;;keep center-turtle random positions & R' N9 \. X5 w' L" g! j! Z
  unit_plan   ;;make up the building plan0 ]4 o' J2 p1 ~: b3 Y
end: v$ M$ P0 X0 }* f# {4 u
to scatter8 N8 @/ H) p& g% G0 |% B
ask turtles with [remainder who 5 = 0]& ~. r: j% }% Z6 B- _
[
7 Y+ @& O6 ?' e5 \0 |set xcor xcor - 6 + random-float 15+ P1 t* ]2 c# p$ `  U7 c( {
set ycor ycor - 6 + random-float 15
+ s. \% F! v4 u; x4 j9 v]: V3 H5 d3 h! D
end( z: t: ~5 ^, [1 ~/ p+ \+ Z- k
to unit_plan
$ B2 G8 R4 O4 S# U/ c5 l9 aask turtles [
" I- S+ q7 q' o- Mif (remainder who 5 = 1) [set a who
; g8 S( j) L# Q  A2 ?! A$ [5 M                          set x ( 0 - Wid / 2 )
' X5 P2 G* z8 e' \  e! z                          set y  Dep / 2 ]# t" O& H& K  g" R' q6 q* i
           set b  int (a / 5) * 5/ X/ o7 V! G! ^* n. i- \, `
    setxy ( xcor-of turtle b + x )
! n! o( `* P2 T# p6 B# d          ( ycor-of turtle b + y )
5 ?8 ]. q0 E2 q/ C! cif (remainder who 5 = 2) [set c who+ v, u8 j. _' f+ f" o0 @
                          set x ( 0 - Wid / 2 )
& b. A, a7 p4 V/ A4 Z3 b1 n8 N. v                          set y (0 - Dep / 2 )  ]0 f: S; o  m( z  z; Y
                          set d int (c / 5) * 5$ }" W; U2 b& H: M
   setxy   ( xcor-of turtle d + x )' I0 ]. Z. @& J
           (ycor-of turtle d + y )
" f& U, l1 I# B  z" L          , |! M7 K: H1 ]" q' G! q4 y$ Z
            
+ Y# R4 Z) {1 t% ^& h; a. oif (remainder who 5 = 3) [set k who( j7 Z8 d7 v  [
                          set x( Wid / 2)  % q( e- Z7 v! g4 ^" F: I
                          set y (0 - Dep / 2 ) ]
* E, ]8 h8 R& s) s  D( V1 t9 T                          set f int (k / 5) * 5( c9 K, ]4 l3 W/ B* j" ]& e1 W
  setxy   ( xcor-of turtle f + x )
# w& G& \  t; L+ z, S           (ycor-of turtle f + y )
+ M# z. k% g9 ]( e/ I, g! s           
: h8 H. a: }- n* n0 p+ T& h6 R7 J. T           ; Z9 h* x3 b+ j0 M7 V
if (remainder who 5 = 4) [set g who- Z/ x8 f: O! B5 A) B
                          set x Wid / 2
. |8 `4 z- d/ W: Y0 U# S! q                          set y  Dep / 2 ]
$ }- J# N: I+ R+ [7 A  g2 ~                          set h  int (g / 5) * 5
, o2 k& M$ |: Z+ R' Z  setxy   ( xcor-of turtle h + x )
4 C% Z6 `% ]/ Q# F) `           (ycor-of turtle h + y ) 4 ]' N( e+ h8 X
                          
. B0 f) K) W" U; H                          
7 h3 [! Z5 \' J% T" m0 U6 z+ b( q                          ]
, Z, _1 N- f6 ~6 T' T( pend
; l) G/ l6 |! r' @2 \; U3 U7 M+ S8 {+ e5 B  z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
# X1 u$ L0 Y1 N9 `5 S9 e# @$ X应该是
$ k" J6 D% Y/ R$ gask turtles [6 t4 j# y1 ~) H) R1 X0 k
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ k  m# Z; f5 F$ n! P& {% M8 N                          set y  Dep / 2 1 ]$ h( W$ J0 K& s7 h( X( g
           set b  int (who / 5) * 5/ E" a' Z5 K$ C+ M8 }( p3 m2 E$ l
    setxy ( xcor-of turtle b + x )2 }8 V9 m% h) E) K% a6 B. `) L
          ( ycor-of turtle b + y )]]
" [# j1 u/ e4 R" mend7 O; O) B( w  a
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-5 06:02 , Processed in 0.014155 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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