设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8460|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( m/ X. v7 u9 V/ s# w- l3 Z
. L' y; m! v7 j' [/ X" |
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 R+ x8 I0 J! Q9 I9 d7 A; H
8 F7 V9 b# x9 }" E0 a# \2 pturtles-own [a b c d k f g h. u6 I& m5 R. Z% S9 X, L& {, T
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
. a9 ?  c; s; M]5 E+ e5 q) n: m/ p; j
to new4 x7 V. b8 G% d" _. ^7 U. r5 @
  ca
% h& u! @! C/ W( S0 [2 r7 O- u. ?  crt 5 * num_of_building+ [1 k/ |  J/ `+ j; I1 C" B
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" P3 A! V. s4 \% b- e" r' @
  scatter     ;;keep center-turtle random positions ) X5 X5 q! u- _9 Z3 V: h- Z# P
  unit_plan   ;;make up the building plan
/ `" ^; d* k4 P) s3 V6 s" K0 y, |end' ~5 M: \) y+ f( z5 L
to scatter
& k: Q4 L: r! r$ R3 Mask turtles with [remainder who 5 = 0]
1 }6 }7 w5 w( T7 W( f[( d+ c9 E1 ]# j! b0 W% d
set xcor xcor - 6 + random-float 15
1 j6 N' n% i" Z, N, E7 h3 p- ^/ \set ycor ycor - 6 + random-float 15
0 r6 G# E* X/ []; Z6 c7 n7 R: l( Q
end
  R( H. d+ u% z% L% S# S$ ato unit_plan * ?; F+ O" p$ p3 r
ask turtles [" S& k; L! A: [% J# `* }9 s& P* u
if (remainder who 5 = 1) [set a who
7 c5 N- k- \7 c) c& p! l                          set x ( 0 - Wid / 2 ) % X( ]8 H7 B: Q) r; _4 I+ U
                          set y  Dep / 2 ]
. t, P/ y8 ^# Z  j           set b  int (a / 5) * 5
4 d( e1 N4 ^# Y8 q    setxy ( xcor-of turtle b + x )- x! d/ ]- t; O* g2 G
          ( ycor-of turtle b + y )
6 U1 C- d' w0 U' J6 sif (remainder who 5 = 2) [set c who
! w* E. {, d1 c$ O                          set x ( 0 - Wid / 2 ) 2 f* Q& H6 _* {
                          set y (0 - Dep / 2 )  ]
! T* V, c' r7 b8 ~+ i# R, e                          set d int (c / 5) * 5
0 P* J8 b$ C, Y" ]3 A9 ]   setxy   ( xcor-of turtle d + x )* N$ m( u7 |& ~  O
           (ycor-of turtle d + y )
- G' K0 N& H2 ~: I; U' D1 `         
# e( b" K5 v1 C) T3 g; K% e$ ?. E            
; p6 X5 b' ?3 F% U. Tif (remainder who 5 = 3) [set k who) W* ^3 }7 M# n% C* a0 P/ _
                          set x( Wid / 2)  
0 E7 K( R" X. \6 g8 l5 ]                          set y (0 - Dep / 2 ) ]
* T. h# i9 `  N& @  L2 ^: ?8 _- y9 Q  Q                          set f int (k / 5) * 5
! l$ W/ J. e' J; b# u; t  setxy   ( xcor-of turtle f + x )
. t# e( X+ J8 c4 L5 j! j3 L! t           (ycor-of turtle f + y ) 4 T' w8 e- d/ V/ ]
             G* Z/ c: f# E  O) D$ U, c3 Z
           
' v0 z4 S  J( h/ ]8 fif (remainder who 5 = 4) [set g who5 d/ ?  t7 U" I9 ~$ ~2 c( b9 f6 _
                          set x Wid / 2 1 L3 v/ r( a/ O6 h% j! ?
                          set y  Dep / 2 ]* I; D( x" K5 c9 c* M
                          set h  int (g / 5) * 5) U' t& ~& r- s' l
  setxy   ( xcor-of turtle h + x )# M9 \$ L4 R& q+ D6 b
           (ycor-of turtle h + y ) , X4 E! P" y, S4 D2 E
                          
( T# m8 ^0 N4 Q" o+ \                          
! r- l8 ^0 Z+ Y& q/ h2 i                          ]* R* O0 c2 e9 R
end/ Q3 ~0 U) _! q& i2 l5 K
2 N$ S4 F6 C4 o: f: E5 L. q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 A0 T+ T. m2 k5 B! P$ Z2 s1 E
应该是
  p' T; m+ G- C$ Rask turtles [
# W8 }" H% J3 q: M6 bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   B" Z1 l2 B) f4 o6 i  E
                          set y  Dep / 2
) O  k1 C* |, p! ?( Q6 K& b3 K; k           set b  int (who / 5) * 54 Y& h7 v7 a4 n8 r( b- V' D8 H
    setxy ( xcor-of turtle b + x )
7 d; W* e0 ]( Y4 X+ {' b$ ]( @4 N% `2 o3 W          ( ycor-of turtle b + y )]]
8 _' n8 H4 I# |4 J0 G" }end
! l  F9 \, }: Q# _: a之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-29 00:27 , Processed in 0.014561 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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