设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7170|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' o7 v. L& {8 e! l) X
8 d' P/ C( L0 a6 d8 x
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" B# U5 d% t3 K; v+ g& }
* i0 b5 k$ J: Yturtles-own [a b c d k f g h
7 I/ \' k) u1 l  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
9 v2 ^3 r, G( t7 |/ p]
- n, q. A, ^% @  V' D) Hto new
5 G/ L9 G! }/ d8 S) ^+ Y3 a  ca
* G' x8 n- c" x0 W: }& t: ]  crt 5 * num_of_building
- y5 M$ a8 u9 e& ?  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]5 {7 k* K6 F# I
  scatter     ;;keep center-turtle random positions 6 b  \: W: [* S; r
  unit_plan   ;;make up the building plan# [- c! i0 B" [  Y6 s, [5 V9 J
end1 Q" p  V$ ~7 O; T3 C
to scatter2 J( b3 f& l' P1 r6 o
ask turtles with [remainder who 5 = 0]
6 z& n5 y: l4 l* X4 j' L6 r[) G! e3 e" n! z6 d% s/ l  b$ t6 N
set xcor xcor - 6 + random-float 15
, E( Z; y' O0 r- U9 ~% vset ycor ycor - 6 + random-float 15
4 P; _& U/ V- n) j/ z]
: N" J# S+ X$ H" ], Gend( Y, M' N# G" s: E0 g
to unit_plan 7 s  {7 a" d* h' M+ D
ask turtles [; t$ @  {5 s/ G) V
if (remainder who 5 = 1) [set a who
0 {, @. M& K% V/ G/ a                          set x ( 0 - Wid / 2 )
5 u& {* ~$ X! ?4 n5 D                          set y  Dep / 2 ]
% N) d. Z7 ~; m+ W9 o           set b  int (a / 5) * 5
- q! z0 s: d8 f, j, Z. c  T, B5 p    setxy ( xcor-of turtle b + x )" V$ p- [7 b5 B0 H0 \7 b3 n# N
          ( ycor-of turtle b + y )9 ^- X2 f4 p% h/ E- G
if (remainder who 5 = 2) [set c who
( x- e6 W8 d1 H0 x5 L- r# J                          set x ( 0 - Wid / 2 ) 7 s0 E- N# \) k6 _$ [
                          set y (0 - Dep / 2 )  ]
; J# m7 m" F: {# c                          set d int (c / 5) * 5
- s8 c- `+ M7 a. n+ i- ~4 _   setxy   ( xcor-of turtle d + x )- W" _+ ~) o+ U/ N1 ~$ q7 }: ^
           (ycor-of turtle d + y )
6 l* {9 ]! V! s8 x2 m         
* F( A0 A( V( x) p/ P1 W            
9 G( u" |8 |$ q6 k: Yif (remainder who 5 = 3) [set k who. I" b0 \$ [% I# E
                          set x( Wid / 2)  + y* @; K1 {5 B
                          set y (0 - Dep / 2 ) ]
5 T" O1 \3 H0 K                          set f int (k / 5) * 5$ W# T9 V5 ]4 R/ U+ q0 F& z
  setxy   ( xcor-of turtle f + x )
$ z0 u8 z" H7 ]/ ]           (ycor-of turtle f + y )
) {2 k. [% }; \! r           , _( R, s, h& O
           
; K. f! u3 r( Cif (remainder who 5 = 4) [set g who
* F0 ]& y1 F- `" g                          set x Wid / 2
" M3 o* `, Z8 \* Q& c9 Z3 v$ y' {, |                          set y  Dep / 2 ]2 i9 u) W, C" n$ M2 B! R
                          set h  int (g / 5) * 5
7 Y; F% s& U1 y5 P  setxy   ( xcor-of turtle h + x )$ K+ Q2 R# C$ d1 b0 c  x
           (ycor-of turtle h + y )
5 p1 X, e+ `, p, u/ V" d6 u5 }                          4 `. K6 y* Z' J; D) f, ]
                          
; T/ a+ v3 c: n                          ]6 F: _& h6 Z3 ~) ]* b- b; e
end
2 B9 n& G/ }  d# [8 W0 V# P0 w4 Y1 I- K) R- k% B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% h4 a8 }# j  k  J: ^
应该是
9 _3 P. b. b6 ?2 \: y5 Uask turtles [
: _8 ?: B$ \/ s" v5 ^/ x" h& N. fif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 z0 F: Y; q: p7 t1 [, y                          set y  Dep / 2 4 t0 G' N' |. U) s0 g: ?
           set b  int (who / 5) * 5
9 m* f5 `' Q  _* \! c* C& |    setxy ( xcor-of turtle b + x )
. {& l4 S- p# L. C: T          ( ycor-of turtle b + y )]]9 R' e4 Q1 g  C$ u3 M- \
end2 A2 Q3 m0 t) m& b% I/ g# ?
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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