设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7753|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
/ L+ q1 _8 O+ w& `5 V( T4 w/ h% H; Q" X9 Z
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# A3 C! L( j: Z2 F3 q" `& V
4 P5 x  M( G: E
turtles-own [a b c d k f g h
3 g, E) p% `4 r. T1 |  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 o9 s# c# I7 ^- M! \, O8 M
]
/ J8 ]1 f- X( e  Y7 t( c% hto new
3 N- @0 |) R  X- t  ca
: L" h2 ?; P" h% m  crt 5 * num_of_building2 V/ r1 `! n) y  h0 P, w( K
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* \! a$ ~. b* V/ K5 q1 u7 W. ]
  scatter     ;;keep center-turtle random positions
4 |- h# d9 @- X& }: q  unit_plan   ;;make up the building plan
7 v3 P1 G# V/ a4 X& \+ Qend
! X% U- a" C6 u  Lto scatter6 N8 r/ Q- W0 P' O8 J
ask turtles with [remainder who 5 = 0]% ?  j, W- u9 u: Z: S* l
[
; U  s; B  X" @  Aset xcor xcor - 6 + random-float 151 v/ M3 }6 i6 ?/ h8 u/ h/ {: w
set ycor ycor - 6 + random-float 15
& ]4 K1 N  s+ Z8 y/ c]2 @. m% Z; n3 `' ]
end
' E# Q( a% z! v8 D2 @! ]( y5 W, V3 Eto unit_plan
- W% p6 r1 G3 Rask turtles [
+ m, X7 E# \  D; I+ v7 R$ cif (remainder who 5 = 1) [set a who
, k8 B; }. x3 g7 |+ v                          set x ( 0 - Wid / 2 ) 5 k& Y5 y: q# r2 M, ~
                          set y  Dep / 2 ]2 ^7 ^0 t' F4 D+ @2 D- w
           set b  int (a / 5) * 5
0 S7 p/ Z' J" H" R3 c    setxy ( xcor-of turtle b + x )+ ?6 |) e/ z$ u) B. g" c
          ( ycor-of turtle b + y )  ^2 W# [7 F- _; v; i
if (remainder who 5 = 2) [set c who- K% Y* K9 `7 `8 T; g8 w. X
                          set x ( 0 - Wid / 2 ) 5 ~- D9 a9 H' v9 b/ G
                          set y (0 - Dep / 2 )  ]  s& u: f! W( B9 k' W( _6 E' J
                          set d int (c / 5) * 5
0 R4 p6 G5 w9 n9 @5 f! D( j! [3 T9 @- o   setxy   ( xcor-of turtle d + x )6 A! h. F" V8 U  f1 s( ^
           (ycor-of turtle d + y )
8 n+ ^3 {+ U; Q& [7 g          - F! Q* v( g- R3 P9 R
            
2 }+ X3 d' ?) }& l+ iif (remainder who 5 = 3) [set k who
6 o8 y5 b! p  R  O' N$ ~* X/ ~                          set x( Wid / 2)  9 I5 `& j; l" N% E* V" d8 h% H
                          set y (0 - Dep / 2 ) ]
& l( \) r6 A7 \, w                          set f int (k / 5) * 58 G0 \# u) _; Q9 I
  setxy   ( xcor-of turtle f + x ). ?) l/ H/ j# E" T/ s! \
           (ycor-of turtle f + y ) 1 x# f3 c9 M  S. y! |, i. ?! O. F7 ?
           1 g; z5 x& _6 A' x2 X/ s
           2 L' g5 H, d9 v; J
if (remainder who 5 = 4) [set g who  F& ^1 j- Q6 ?" U# t* d6 P
                          set x Wid / 2 * ~. ?1 S$ k/ X( N
                          set y  Dep / 2 ]$ C9 R3 E% U% v- I
                          set h  int (g / 5) * 50 o1 Y+ t" U. k% S( H
  setxy   ( xcor-of turtle h + x )
- d. D4 i* P: O" X8 P# `) Y  ]           (ycor-of turtle h + y )
$ r$ O% ]# @) z% S# h                          
! ?$ S4 r& H4 L/ E0 Y. m                          
. c  R3 t! Y; Y5 d) A3 l                          ]/ I1 N3 M; E; J0 a) n" B
end
) E. I6 \: v! a
9 C1 y' X/ i9 }) h7 q  k8 _[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% y3 r  b7 {+ c/ O7 w
应该是
* k* x. L# f4 F' O; ~$ yask turtles [
, j4 l- F1 A+ n  A$ h0 x" Zif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + B4 p1 F3 {  i7 u+ \4 y
                          set y  Dep / 2 ( p& e' Q& t8 M+ T! d
           set b  int (who / 5) * 5, Z2 {& d/ B" X# ^1 s( g! n( |5 W. F
    setxy ( xcor-of turtle b + x ); N3 r- V+ c; R1 Y/ ?) U8 T8 ?
          ( ycor-of turtle b + y )]]
8 {0 _/ D: K) q* J8 r: T7 t# _+ send: i- J' M+ H( e: b3 ~
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-25 22:12 , Processed in 0.020138 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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