设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7198|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
  F' f! \( J8 y' C2 t& X/ V8 s1 ]; u: M
/ Z7 B. O+ j  {; Z) v/ p6 ^# W6 J  X, ~但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) {& t6 [% |! J/ o4 M! h0 x; F/ p" h$ G% b4 [2 d# g4 A6 a! [
turtles-own [a b c d k f g h. j( T( U2 n1 {/ i$ q0 `% \
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& ~4 f" R2 S+ ]]1 R' b7 H1 c# n) K4 @
to new
" J+ ~3 A4 o, W4 T$ m  ca
% U( M% Q" _7 P  crt 5 * num_of_building
- {4 w, E; W, k% m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
$ c' _/ T# Z; D, S) D/ n  scatter     ;;keep center-turtle random positions
+ X1 _3 [6 E/ \$ J  unit_plan   ;;make up the building plan
8 P! @6 g! c1 @& ?0 mend: G, Y. L! Y( z& R) x" X
to scatter
+ z/ F% d0 j' a1 [# ^1 L1 a3 o% e+ p3 @$ Rask turtles with [remainder who 5 = 0]
( g1 s2 p# g7 }8 @[/ a8 A; J3 w4 `, Z
set xcor xcor - 6 + random-float 15$ N3 y4 T, j4 K
set ycor ycor - 6 + random-float 15
1 O; C6 {2 q8 t  Q8 b2 Y0 v! t0 _8 I0 a]
1 q' T! j+ ?- Cend
1 w# u5 {, w) B1 hto unit_plan
: e: [" F; E3 P# i5 ~: t9 Gask turtles [
! B6 h8 W9 g9 X9 T+ n4 t2 }if (remainder who 5 = 1) [set a who 9 ?6 V9 ?; a5 i# [
                          set x ( 0 - Wid / 2 )
" i7 b( c; T, N  Z                          set y  Dep / 2 ]5 j# {7 d4 l, b' b
           set b  int (a / 5) * 5
/ F, l3 a1 D9 H    setxy ( xcor-of turtle b + x )
+ P" e. K% y) G* S          ( ycor-of turtle b + y )
* @5 W6 C" J& H3 [6 Y/ k* x( l- S% ?8 Mif (remainder who 5 = 2) [set c who
/ h, z; T, z8 ~: W3 g1 V. Q4 q                          set x ( 0 - Wid / 2 )
4 b' u7 M8 q0 j" [                          set y (0 - Dep / 2 )  ]
+ R$ Z' C- z; [4 ?( v                          set d int (c / 5) * 5
( O3 F$ D4 C/ i8 X   setxy   ( xcor-of turtle d + x )
( F& Z6 C" P1 q           (ycor-of turtle d + y ) ( u- y# Y# p, G& \
          ; A/ k# D' B$ n) l- N
            
* n$ ]* {# t0 g  bif (remainder who 5 = 3) [set k who* w7 o; s% e, _& G/ `9 d
                          set x( Wid / 2)  
' g, R( }) }1 {* J: R                          set y (0 - Dep / 2 ) ]
, [- j+ M) F/ H! L0 H                          set f int (k / 5) * 5
- d; t, P" [$ p  setxy   ( xcor-of turtle f + x )
& {- t" X5 Z% a) r           (ycor-of turtle f + y ) 7 h  T6 W0 y! R: \3 C: l; w
           
( D. e4 u2 [9 n0 G" N# [           
" h% Z) Y, I2 S4 }5 F: R& T" p( jif (remainder who 5 = 4) [set g who4 o4 c' m: z7 P) w1 m
                          set x Wid / 2 ) x' X2 O3 D# w9 v1 j
                          set y  Dep / 2 ]4 P7 t! G4 i( @9 O
                          set h  int (g / 5) * 57 z0 O& |6 b6 D0 Z' A; J, Y; Y0 ]
  setxy   ( xcor-of turtle h + x )
7 u7 u" M; b" T           (ycor-of turtle h + y ) / _" D4 R$ P. v+ Q3 P( Y( p$ V5 K! W
                          - n0 H0 S- }" }* z- H% f
                          
0 y1 `  J: H5 k$ R' k/ [) l5 W                          ]5 L6 u2 c+ W! g6 n9 H$ I5 f6 [
end
( {- i2 }# O% v1 X% d- j2 K' f6 @/ K' F& {& p4 w# h
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: P/ g6 f+ H2 F3 K, M: s
应该是7 p# O& j0 Y2 h' T9 n
ask turtles [
) K4 t. ]# C. p" bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( ~' ~& R& U" M0 K+ k/ G, M                          set y  Dep / 2
/ Z2 G& l! A! |           set b  int (who / 5) * 5
# \( \6 W# q3 w+ _    setxy ( xcor-of turtle b + x )# C) r7 m. Z* _1 i' A5 z
          ( ycor-of turtle b + y )]]
  P/ p0 m, A8 cend; ~& L8 q- }" C0 z% M9 i( S
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-15 12:45 , Processed in 0.022663 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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