设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7965|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% H* g0 F! A8 K) B
8 }: l( C1 r% R  x  U5 S但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; _$ Q4 j0 ~6 z/ D) {8 ?( P
6 E  N; V0 [+ J# z
turtles-own [a b c d k f g h7 N* j- j/ R; ^- r) _$ R( w. ^
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) e  m. q8 P; h1 `]
, F  a  y" ~6 u6 k( T2 Wto new2 S' F* P  A( ?' t% p' R
  ca/ F) Q8 W7 p. s5 v( b" r
  crt 5 * num_of_building) b& `! k# N5 [
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
* f; @: M$ B" b% p2 a8 m* B  scatter     ;;keep center-turtle random positions , p& Y7 @; C: u6 J) f( k
  unit_plan   ;;make up the building plan
7 h/ t  k( K& ^* x. p0 Oend
9 p3 f8 o" I. |% \! I9 dto scatter
& r8 ^' R. Y" L9 X' ]) Mask turtles with [remainder who 5 = 0]& a; |2 G- f, T8 j+ v
[* I# L" P. c" Z2 V) q
set xcor xcor - 6 + random-float 15
) ~8 F) _! Z& n+ S  y5 R% jset ycor ycor - 6 + random-float 15
3 m5 F7 }4 W2 p1 j6 a& ~]
& v& Z6 z; W3 D! {. `end
& q& o* n: O% C( `' X% N% Nto unit_plan ' r5 s- j0 ~7 D# M1 F0 ~
ask turtles [5 Z; d8 ^3 [: p8 f( i" ?
if (remainder who 5 = 1) [set a who % d# K% m6 W8 b" l; o" k! l) q% c! F1 n
                          set x ( 0 - Wid / 2 )
3 w& [* d9 e5 U9 k5 k7 b                          set y  Dep / 2 ]
4 ?. ^, A& l/ V1 h" I* p# \           set b  int (a / 5) * 5' ?9 ?) d. I. q( @
    setxy ( xcor-of turtle b + x )
# h0 g( r. G4 a' @- k. J          ( ycor-of turtle b + y )) R$ }! d! I! y& [* J
if (remainder who 5 = 2) [set c who
( i% D$ q! G+ E. Q                          set x ( 0 - Wid / 2 ) , O* V! |: V3 \/ E7 w
                          set y (0 - Dep / 2 )  ]$ }& k$ L$ F0 x5 h6 C2 H- q
                          set d int (c / 5) * 5
- W1 D5 G1 X' A! E. w! Q: ~   setxy   ( xcor-of turtle d + x )
  J2 K2 {# A. `8 f           (ycor-of turtle d + y )
% }, e; C7 Z' E$ C         
! N. I7 l+ W. w  T! g            ' m( V8 J6 P. i7 ~
if (remainder who 5 = 3) [set k who
2 _# ^3 X7 C6 ~5 W% |9 ]6 G                          set x( Wid / 2)  ' u- b4 N6 W' k
                          set y (0 - Dep / 2 ) ]5 B9 J4 k) _: |4 _8 p+ W/ j0 z
                          set f int (k / 5) * 5
3 N/ q( P; [5 E7 R8 S3 G  setxy   ( xcor-of turtle f + x ). K# r* [$ P  F" t
           (ycor-of turtle f + y )
$ x7 {+ b& L6 b           - I; X, v9 d+ |9 q' U( U+ U
           
# I5 l. p& k$ p6 J0 Z7 @$ Bif (remainder who 5 = 4) [set g who7 e( X6 M$ ~: n9 L- _1 ?
                          set x Wid / 2
$ u! I2 w( N$ r, x. T$ F8 W                          set y  Dep / 2 ]3 Z$ S- f9 F8 x* Q* v* w( x+ R
                          set h  int (g / 5) * 5
' {5 W& H; M$ u$ ~# d( `5 E- |  setxy   ( xcor-of turtle h + x )
! @: t$ a; [, L3 @; l1 u$ u- B2 ]           (ycor-of turtle h + y )
+ M7 z7 H( ~! F4 h9 t! ]) S                          2 X( x! q% ]8 ~9 H) [
                          3 c) c/ _; z+ d
                          ]
6 e( I1 L$ e* w/ Hend
. S% w# x; a; s5 }. O/ i
" a. P% G7 t# h2 ^[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ V+ m: B: s, [$ I# |  Z& u应该是. e: j+ K  [8 X
ask turtles [
6 q7 ^+ }# k; }6 b% e: ?9 f6 {if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
; Z. V! o9 _9 i1 R2 |5 {# Z; R                          set y  Dep / 2 % s$ V( R8 w8 E
           set b  int (who / 5) * 51 y' X3 T, c5 B: u# [; O
    setxy ( xcor-of turtle b + x )
/ j  j3 ]( G; r) e* ~% i          ( ycor-of turtle b + y )]]
! l# d+ [4 x: K/ rend9 J* g5 {! p# I" Y
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-22 15:02 , Processed in 0.014433 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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