设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7957|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。4 g2 P' J9 g+ w6 J; _' z# o
3 ?' D. E% ?+ Y" O7 P' T
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 P: }. G0 N' {" V
- X' G# S4 u  `9 E4 z) C/ Y3 H2 f0 Qturtles-own [a b c d k f g h7 R9 E* n" N' p% `( P8 A. G- T, _
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 8 r- {4 F- w; F# L: x6 S. w
]
' T. X* Q, P$ Jto new9 Z3 W+ v  J8 C9 D7 x2 ^2 Y1 [
  ca' O, ~9 [! @0 t* I; N8 X/ b: [: O* x' t
  crt 5 * num_of_building# M' i+ O# z5 ~$ f; h+ H# E% l0 w
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% a+ `, `" t9 q3 ]9 X; f: C0 A  scatter     ;;keep center-turtle random positions # \; r7 F4 j9 g1 O. V5 y" D: ?
  unit_plan   ;;make up the building plan
/ W- I9 }0 V: iend
" s9 z' ]* A9 E: o8 j7 T( Ito scatter; f' C3 u. M+ ]- i: d. B
ask turtles with [remainder who 5 = 0]  V- v+ R+ @, D# A0 x8 a, K  a
[
2 {* h$ f. D, D' N' z  a  Jset xcor xcor - 6 + random-float 15' V$ [5 ~) U( A, D# z
set ycor ycor - 6 + random-float 15
7 k5 M4 A: n! }" c& t% z]
: n3 m* B; k8 ?& Pend) p% |2 n* G  j, e/ j
to unit_plan
" R2 k/ b  I/ \" E+ Yask turtles [
+ i2 T  [, e4 X; Bif (remainder who 5 = 1) [set a who $ |' z8 V9 {* n1 n  b
                          set x ( 0 - Wid / 2 ) % ?& f) N& A+ T5 C
                          set y  Dep / 2 ]/ @" N" C9 w# X0 h. J
           set b  int (a / 5) * 5
; n, t' z2 u6 [  e8 |    setxy ( xcor-of turtle b + x )% p; R! t) o  S4 [9 T
          ( ycor-of turtle b + y )
# W& U6 I) e# M  e# Uif (remainder who 5 = 2) [set c who
/ |  w( e, D8 U- |. _$ T: k* `% z/ j                          set x ( 0 - Wid / 2 )
/ z0 ^( B' a& Q2 l4 _( Q                          set y (0 - Dep / 2 )  ]
' V# ^# x, a8 q- p1 Q                          set d int (c / 5) * 5+ b$ ^: G; B$ ?# t! v2 ^/ W
   setxy   ( xcor-of turtle d + x )3 N9 P# U- e- i4 Z4 H
           (ycor-of turtle d + y )
7 y  l" V3 [  G7 T. y7 S         
8 [, }9 a5 q; y& z            
  u$ Z9 I* z/ h* S, d+ a  [4 ?if (remainder who 5 = 3) [set k who
7 I: Z, m3 [$ A! `- ~                          set x( Wid / 2)  7 {/ o7 C5 N& q) }
                          set y (0 - Dep / 2 ) ]0 s- K$ J+ s; ]
                          set f int (k / 5) * 57 ~4 L, k6 ^  i# [( o
  setxy   ( xcor-of turtle f + x )
+ U; b  `+ a; z8 v) x0 ?+ u6 u           (ycor-of turtle f + y )
4 D8 p/ B* }$ b$ z% Y  n           
: u5 k) V+ L" y* K# g  W           
2 ^5 Z. P. R# @5 c) {if (remainder who 5 = 4) [set g who: ]0 ?6 E* V  e. p2 N" ]9 D2 ?  u
                          set x Wid / 2
0 d, g. U; Y9 ~. I6 u7 O. O                          set y  Dep / 2 ]
- K, J2 `& `: |+ p- c* X                          set h  int (g / 5) * 5
" O2 r2 D: K6 c$ ]7 y; O' [: l  setxy   ( xcor-of turtle h + x )+ H2 w' Z+ E; }* J) y
           (ycor-of turtle h + y ) 0 }3 u  h1 l, F7 b' _
                          . Z" }0 S" w0 w) Y( Z
                          2 x# L; K% A# D" Z
                          ]
0 x+ @! D/ ?. g0 eend
2 M# P+ b" Q# e3 h# ^/ c0 g$ I( M' U% C) Y' Q( j" m+ _
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 L' i9 K+ F- @0 |8 q# v' ~$ f
应该是1 e' g& ]9 l; A8 z8 a
ask turtles [
+ V; Q3 m  B2 B) h0 h# `2 B! S0 Mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, }/ A; e  j3 |. W                          set y  Dep / 2 , G5 A% d- K! O' l' r
           set b  int (who / 5) * 5& g. A% G1 C3 z5 _7 S2 h$ \& @
    setxy ( xcor-of turtle b + x )) r5 @2 L; a8 ^5 v; m  U- R
          ( ycor-of turtle b + y )]]' D& D, g+ ]" G! d8 z9 o  _  X
end
1 w" H7 O  D& h; x% q( {  @! v之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-21 23:25 , Processed in 0.018790 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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