设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8850|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& }& \  i, I% l: b* D: c& J3 r( m7 C. o. \4 O9 E$ h! E! Z
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' _+ ~- @7 Q- J) h( ]! h" p( Z( Z
4 l. i, b* N& q: L# q" }
turtles-own [a b c d k f g h
5 }. F/ A0 D, O8 Z  D. y3 ~7 i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle / C# ~- d4 L% Y4 W  \
]. ^0 T6 i# P4 G! K
to new
; k/ V7 f! O$ F# H# P3 ]  ca3 d) x$ E4 C6 S  x
  crt 5 * num_of_building
( ?/ Q( R( g2 ~& J% u2 y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( ?2 I2 Y9 n: g# x* Y$ ~& x( M  scatter     ;;keep center-turtle random positions 3 M9 P1 J7 H0 ^1 a. `2 q
  unit_plan   ;;make up the building plan
- ]3 C* B2 N# j/ ]& G/ b6 Y/ Mend1 v8 ^5 ?8 E" k( E$ T% k
to scatter
6 {. u' i: r8 M% Yask turtles with [remainder who 5 = 0]
" t# W9 m- S9 q. F6 f[* I! I4 w) _, ]' Z3 r2 R
set xcor xcor - 6 + random-float 15
$ z9 T# h, ~. F0 f3 f' {set ycor ycor - 6 + random-float 156 S( v/ `3 d: ?! f3 P- ?
]. g! T: v' Y' _" U8 b5 t/ |& B; j
end) P/ R2 f; W, D
to unit_plan
4 l4 S* c* [8 |$ Kask turtles [
: H$ P9 u' z. ~" jif (remainder who 5 = 1) [set a who 8 i: Q2 T6 d& p# r8 f( {
                          set x ( 0 - Wid / 2 ) + I0 I, _+ g- L! K8 G
                          set y  Dep / 2 ]
0 N+ L! Z" |4 D6 k9 L           set b  int (a / 5) * 5
3 Z4 R! _& R  X0 H( I; {0 G    setxy ( xcor-of turtle b + x )
+ S- C5 I& I7 W. R( U- H3 x& X0 x; `          ( ycor-of turtle b + y )
1 ~9 R5 ]  o! A; `7 ^if (remainder who 5 = 2) [set c who
$ d4 o" C' Z' J! U                          set x ( 0 - Wid / 2 ) ' B3 b2 q6 Z$ j" l! @( V
                          set y (0 - Dep / 2 )  ]
2 y  C# J3 V' J6 ^3 _/ e. ~                          set d int (c / 5) * 5
/ k# M8 G) q/ ]: \. c   setxy   ( xcor-of turtle d + x )
0 \. N8 D  v; k, n           (ycor-of turtle d + y ) + o1 V& l1 w- R0 D
         
5 E/ f5 p. H/ c2 k4 c$ o8 S1 w            
) j! c/ i9 N: vif (remainder who 5 = 3) [set k who8 `9 Z8 l0 i2 [3 H3 l
                          set x( Wid / 2)  
' V+ }2 X6 r  I- N: q                          set y (0 - Dep / 2 ) ]9 n. t7 W/ a& D, [& ?- E/ a  n
                          set f int (k / 5) * 5
/ U. K8 g, B% X+ N: x  setxy   ( xcor-of turtle f + x )! s% O9 K% y6 ~; Y& O
           (ycor-of turtle f + y ) / _, M, a# a- l& x
           ; z7 P4 B. A1 f, o
           
% }% v" a; g8 r4 ]if (remainder who 5 = 4) [set g who
' y& i8 S$ ^4 a, k: d; g- X! [                          set x Wid / 2 ' K2 Y3 R3 w  X  I, }
                          set y  Dep / 2 ]
; I4 P5 L( ~$ g# A( k- j                          set h  int (g / 5) * 56 e3 @5 I* u) Y' H
  setxy   ( xcor-of turtle h + x )6 o' z& R- c6 o- e! G6 J
           (ycor-of turtle h + y )
1 z' |, H/ N- Z# J; N& x                          + U2 P: c2 K6 C
                          8 e5 C, @7 b: N! H+ z: \6 F4 j
                          ]3 L' Y- S7 C9 b- D
end
" M" K; p/ X% r+ i- _6 Q
; P' {1 ^; r( n' ^* H0 E7 f[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 y) L0 |0 g( q# b* C9 c应该是' D1 }$ `. W/ g4 z( `
ask turtles [
* A0 p  _, L! f/ `+ Pif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! }  ~% q% H3 O+ {8 z- Y' m' m/ P                          set y  Dep / 2
. y: T( h; m2 G7 @0 b           set b  int (who / 5) * 5# l1 K4 V0 ^6 S$ a- j
    setxy ( xcor-of turtle b + x )- T, P0 Q4 D4 o( V5 M$ ]
          ( ycor-of turtle b + y )]]( l) q+ a. l0 M, l+ X. |
end5 f# b7 z8 R# S, v
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-11 09:39 , Processed in 0.015084 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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