设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8376|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。5 N2 s/ u! {! G/ F8 l5 q: R

4 d9 Z1 k* n" a- ~3 g但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# @% S5 [' S9 M1 H- f$ k- b- L9 u- z' R4 Q& D9 B8 i
turtles-own [a b c d k f g h! ^* d: ?1 A7 F2 Z
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ! W) z; K7 x# u( H; [/ e4 l& U
]2 l& {# v- R; h% U1 m- y0 m
to new/ V$ ~# c" G3 M8 b5 U
  ca6 g) S6 m# p) M, I& E) \9 o
  crt 5 * num_of_building
2 B& j* Y9 j) t2 S0 I6 B  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 G0 R3 I8 b1 m  scatter     ;;keep center-turtle random positions + O- C7 O6 y3 h8 d7 }1 k
  unit_plan   ;;make up the building plan# X( F1 P! Y8 Z% k
end
4 W  o) S# B& L# ~" y6 cto scatter
/ g& V+ d0 K) G% q8 y3 e8 Z0 qask turtles with [remainder who 5 = 0]8 t* [; d2 s  W, n& w
[
* r0 N. y5 m5 I5 dset xcor xcor - 6 + random-float 15  H! a, l* z( \9 r$ W0 e
set ycor ycor - 6 + random-float 15& t. t7 e& z6 e) @, Q6 B; c
]) L# q" B6 Y2 ?5 }
end
9 B6 c! C2 L( eto unit_plan 5 {8 v/ G2 N; q* k* F
ask turtles [1 O# \" D3 P6 {0 V5 x
if (remainder who 5 = 1) [set a who * z. P1 i# I5 [' h8 S
                          set x ( 0 - Wid / 2 )
$ q* d6 i  P0 M9 Z. k                          set y  Dep / 2 ]
% w2 T2 Q: C$ r4 i9 u# {           set b  int (a / 5) * 5
% y6 L  k, p# o+ j0 Z    setxy ( xcor-of turtle b + x )
2 M' X; Z# ]# W! _& r          ( ycor-of turtle b + y )2 v3 W$ ]& H* f2 R. h3 S
if (remainder who 5 = 2) [set c who
. I# `$ X0 q" N2 Q& w! J9 z1 J0 q                          set x ( 0 - Wid / 2 )
! m  j! [2 D9 S" u- E/ m3 r9 o' o8 x                          set y (0 - Dep / 2 )  ]
# g( R6 `. L$ C                          set d int (c / 5) * 5
  T# @' U6 T3 W8 U   setxy   ( xcor-of turtle d + x )
( w4 `3 G, _0 `% ]- \: o           (ycor-of turtle d + y ) " |) j! ]- m3 a( J1 a+ O; }
         
5 O- d- u! b) d. h            + ]5 S7 [% v. {  v
if (remainder who 5 = 3) [set k who2 P! u6 ]' M& l' o
                          set x( Wid / 2)  / j% [  V9 R  \7 h9 Q
                          set y (0 - Dep / 2 ) ]$ E2 l' {" A# }( g9 K) z' ^5 j( d* N
                          set f int (k / 5) * 53 `! d6 [) ^) s9 K
  setxy   ( xcor-of turtle f + x )
1 \2 @, d8 m9 T1 R& K/ V- l           (ycor-of turtle f + y ) / q" O8 q3 [- E- _' K
           
2 W9 v3 ?+ z5 @+ j% F6 C$ N           5 l8 _( O& `% q
if (remainder who 5 = 4) [set g who
, P, g8 n9 @& z+ N5 }                          set x Wid / 2 ) f3 n, N+ U& N
                          set y  Dep / 2 ]
; c4 T% L$ H! A0 \6 r                          set h  int (g / 5) * 5
; z2 q2 w9 t& n4 _( A9 m  setxy   ( xcor-of turtle h + x )# i1 a& R/ I8 [$ r( ^* }7 T
           (ycor-of turtle h + y )
7 l8 d' w- s0 v. k                          
) `7 d, B% `- _" U! g                          $ v: L! `! ]" a- U. `8 |( {8 Y
                          ]
  I  j) M5 _$ K' w& H+ I# Vend
9 P4 i' }7 Z! x# u* W# ]4 j$ [' Q. D7 J% H+ U3 ?+ c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," C8 L' l9 s$ B3 c/ o) C
应该是) `9 R% T; R1 V+ b& m( D% y
ask turtles [
9 ?& z: Q6 O: u4 wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . H9 o$ J/ U2 U2 R* w5 g
                          set y  Dep / 2
3 a7 E( K( T, z5 [3 E. x7 M1 F           set b  int (who / 5) * 5! R- E% J, z  w$ j
    setxy ( xcor-of turtle b + x )% o# f8 W% ^9 |8 ~) n
          ( ycor-of turtle b + y )]]  e  Y) h1 j  m- B4 g
end
! r3 q8 K; `) Q3 m- v8 U6 s; o之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-16 20:49 , Processed in 0.013922 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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