设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9150|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. ?! V: x' A" U% ~
6 R, E: H/ r( Y; I7 B
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。, @- {( r' G4 D

* a' G  X2 L4 aturtles-own [a b c d k f g h  S+ Q" X, H4 g  a& r
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
2 F* h: H2 i. |8 ]  A]$ Q, |0 L4 i1 d- ?, M. r
to new
4 a8 v$ {6 o  R' M1 b6 t  ca
6 |% n2 h) y+ {7 `8 A  crt 5 * num_of_building3 M+ `$ I1 m% v$ Q( g
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
- ?; H7 {4 N/ j# {4 y! ^( D. \7 q! j  scatter     ;;keep center-turtle random positions ' q' Y- U( T- S% F* h, Z  |4 K% d
  unit_plan   ;;make up the building plan9 H8 H6 q, H, X0 }# h
end
! |: Y2 `. w. N* }3 bto scatter* e: a: }! D/ B3 X/ y, o" N; n
ask turtles with [remainder who 5 = 0]
/ P* V4 x) Y9 f6 N, N; a[
% C" M% G( x% \7 E7 J! ?set xcor xcor - 6 + random-float 15
" O! K8 _5 ^3 r$ c# d& {+ ]set ycor ycor - 6 + random-float 15
  y, ]; ?6 q' V0 `& i]
) p7 _4 q/ H% m# T% wend
  n3 d# \( R& A7 ]1 G) X4 Xto unit_plan
$ ?  Z0 k- T2 _ask turtles [
% K# G; R0 E1 s7 P& f. c# f- Tif (remainder who 5 = 1) [set a who 7 t5 v+ o1 E: t6 {- i/ I) a
                          set x ( 0 - Wid / 2 ) ( f7 e" Z9 Q: p( m% f/ D; u3 M3 _# `
                          set y  Dep / 2 ]3 m& v! K( `# v+ o: L5 a. H
           set b  int (a / 5) * 58 ?( W, M& \* S* n
    setxy ( xcor-of turtle b + x )# M6 F2 |- o% p& P$ S4 \& R) [3 q
          ( ycor-of turtle b + y )
& T9 ^$ p8 k  `if (remainder who 5 = 2) [set c who
) {+ Q/ x* ]6 W( z& c# i                          set x ( 0 - Wid / 2 )
; c0 ?1 P2 w" [% J5 ]                          set y (0 - Dep / 2 )  ]" `' e+ g4 D' L3 r" y9 t" y
                          set d int (c / 5) * 5
9 a$ Z8 v0 k0 `9 E   setxy   ( xcor-of turtle d + x )
2 J# T6 r" I. j9 Z3 T           (ycor-of turtle d + y )
9 T  A% i+ y( l9 ?4 l$ a: L4 _         
; R3 r& D0 w; M2 a0 U# q2 w8 ^            
2 G( l9 Y$ D; M6 a% t3 \if (remainder who 5 = 3) [set k who
" t/ n9 L0 W6 T                          set x( Wid / 2)  / {9 H# z2 G! Y/ ~6 N
                          set y (0 - Dep / 2 ) ]$ i+ H) \, E; Z1 f5 X+ L! Y3 }
                          set f int (k / 5) * 5
% [. B1 [  o- z5 s3 q% W! @9 |% k  setxy   ( xcor-of turtle f + x )/ C# m/ `% Q. v; ^2 f9 [
           (ycor-of turtle f + y )
/ A9 P' B7 w1 h! e6 X( f           
! r  \+ p* \- K. {. Z/ G           
1 R' h6 }+ L+ U& Y" {if (remainder who 5 = 4) [set g who% d' r) c1 m. T" {  I
                          set x Wid / 2
  f9 k; ~! ?0 g% ]  v( W                          set y  Dep / 2 ]% Z- q4 g2 x* x- N, u4 D  V; ~
                          set h  int (g / 5) * 51 u4 J  q5 \5 F; A- ~9 ?6 v
  setxy   ( xcor-of turtle h + x )
) O; _. I, o6 q6 x& x4 \6 P           (ycor-of turtle h + y )
0 f+ x( G  J. s2 A/ C9 d                          
+ @( U# D0 Z6 L0 n                          0 ?6 V! ^, |/ O' i) T
                          ]
* |$ o  y% D* aend
* X  w+ g  i: g6 p( h  `1 p1 ?- r# U2 D! S  w. r
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
* b, w# N6 d1 o2 g( j4 k" Q应该是' {7 w; t4 m: j2 t
ask turtles [8 V: B' o* I8 a! s! z' M
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 2 M! I9 W( a( q# k( F  k6 S3 d
                          set y  Dep / 2 9 ], G6 F, N- o7 R1 ~& [9 b+ z5 ?
           set b  int (who / 5) * 5
0 R5 k1 y9 o# h' e    setxy ( xcor-of turtle b + x )1 L* P( _; P0 `, t0 s9 O- l9 M& x
          ( ycor-of turtle b + y )]]5 U: y  M) X- f1 p2 M5 x5 D6 w
end6 D' D8 d* }6 I* Q: y
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-23 02:47 , Processed in 0.014569 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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