设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8405|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。' |: U& b& }! o# @
% |; A! F7 n+ u2 q) e+ L
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  S$ o7 u& c) l0 B
9 j# }" Y+ g7 l1 j; X6 s& C4 dturtles-own [a b c d k f g h: K: P$ c# T; i5 A1 S+ L+ }
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 R& B8 o5 S& g5 E
]
' _* f, q9 Z' a/ R6 B5 l  Tto new/ h/ M: \7 V7 U
  ca2 `  A& g5 V6 b4 C# o4 S1 W
  crt 5 * num_of_building4 Y- t9 }6 j! ?7 C( w5 Y1 i
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]: X" c" m: R: _% Y
  scatter     ;;keep center-turtle random positions 6 \0 U) P) {/ E( f! U& t2 U
  unit_plan   ;;make up the building plan# C2 V6 ?9 w( [3 |& c& R
end
% ~2 c2 H* v+ l8 O. C2 W- M% Qto scatter
( ]; N) W  ]  j4 H9 Nask turtles with [remainder who 5 = 0]
' Y1 `$ X2 j& q4 l( e+ m[1 ^5 S- b$ O! f' W: B) J& u7 F
set xcor xcor - 6 + random-float 15+ q5 W- X; b4 r7 Z$ o/ m* ?3 Q2 S
set ycor ycor - 6 + random-float 15
; |8 U  \( l" ^: e9 G]; k4 d) l# u9 F
end
: o" D; C# q* X5 t. Q% n) gto unit_plan ' d8 i4 ^; q. U5 t
ask turtles [3 J5 P2 Q( {. F" W. a* G4 \
if (remainder who 5 = 1) [set a who ' ^, j5 n; A& \: J" ?2 g8 _
                          set x ( 0 - Wid / 2 ) 3 C( h* f# L  @2 [: K# q( h6 f
                          set y  Dep / 2 ]
  Y9 W: ]  c) j' P2 i" p           set b  int (a / 5) * 5
5 m* H) H) E; R* c    setxy ( xcor-of turtle b + x )# u6 e& d; I! d- {, b, s1 u! {
          ( ycor-of turtle b + y )
& U) Z2 j; S* oif (remainder who 5 = 2) [set c who
8 r5 W" [: b' m  D+ Z  z8 L' U                          set x ( 0 - Wid / 2 ) 7 J' q/ I) {# u" l7 x( o
                          set y (0 - Dep / 2 )  ]
6 b! ~, v( J2 m, ^2 t* k7 {                          set d int (c / 5) * 5; }' n& L" n* E! }6 _4 j% S# W9 G
   setxy   ( xcor-of turtle d + x )
/ ]: }0 R/ Z1 y  f* q           (ycor-of turtle d + y ) 9 E: K7 z" k8 c7 o9 d$ e$ \4 A) h, W
          * s; J5 O# s( F$ U0 h3 Q. e- E
            8 t$ `: A# N+ z, m
if (remainder who 5 = 3) [set k who
. i0 d2 u: A% @) S7 K                          set x( Wid / 2)  % I! v+ R) Q( N9 n/ \: C
                          set y (0 - Dep / 2 ) ]
/ R/ |+ v: i- _( t, ], g, J                          set f int (k / 5) * 5
1 j( e* `4 d) @, r$ Q$ B  setxy   ( xcor-of turtle f + x )) E7 b  R+ O1 T1 k+ P# H
           (ycor-of turtle f + y )
; [  a$ m& _) ?. {. ~+ Q$ |           ; V( q7 ]* A% d  m
           
4 D5 S- X3 w& W( }4 ~) z2 gif (remainder who 5 = 4) [set g who
4 Q. M9 Y" \5 i/ g                          set x Wid / 2
& `3 b7 `: @0 {* L1 I                          set y  Dep / 2 ]/ c- Q* ]1 D8 t6 u. a" N
                          set h  int (g / 5) * 5
# U) N3 t( N; i6 S  setxy   ( xcor-of turtle h + x )6 L# S& U/ F, H8 f
           (ycor-of turtle h + y ) : j- R2 N/ y  E* [$ L" R6 V9 \
                          
/ c1 C/ e6 c$ \: v- K' k                          9 ?( X. K' |/ v0 t5 z! o
                          ]
$ k1 ?% x; R" Z& W! I0 [& `end. `) y  j) Y5 ~9 Y  F

3 O' C$ L% p& ]: a3 G' ?' j: |[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 _* u5 P% ]/ [+ J8 P应该是1 ?0 p3 _& H" q2 n
ask turtles [
/ [- t: F: @: Q( H1 mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: y% R# \1 B, [2 U. f9 f. Z                          set y  Dep / 2 1 }4 B* v: o0 I& Y" b
           set b  int (who / 5) * 5; K! f( j% m. m7 {. g2 q: }" ?% \
    setxy ( xcor-of turtle b + x )
0 n( _" y9 I- h5 f- l, j          ( ycor-of turtle b + y )]]
! j; Z4 V) R# J2 ]end; S5 M# V2 H# I- q& H
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-20 17:57 , Processed in 0.014661 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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