设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8273|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
6 W; {: \8 {. ~% B4 p. c; O0 Z, [( d5 u
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: \, w$ ]# y0 x% X* R" g" ?& {$ @/ F% n, R: o6 f! ?+ W
turtles-own [a b c d k f g h2 J% R. K7 E* |; O
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
0 y) u3 l+ u( T]
: M3 n" }% G& U0 eto new7 N+ Y; o1 Y0 |6 j
  ca
( Y' W2 J; f6 F# u/ v7 D  crt 5 * num_of_building. v5 H, f; J0 A8 U9 ?& H- z; n
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  H. l; ]3 C! r& Y8 c3 a9 P1 e
  scatter     ;;keep center-turtle random positions 1 j# Q1 c7 t( J  y
  unit_plan   ;;make up the building plan
! s! ^& _; `2 g( m/ k. }  e3 z1 ~end
+ t0 v0 A( e1 [7 L; Sto scatter
% W. g, ]+ ?  e/ t3 y  Lask turtles with [remainder who 5 = 0]
$ J, P4 j; W- D5 K3 @5 |$ g# s[
0 r8 g2 c( w8 U6 L: Eset xcor xcor - 6 + random-float 15
, x( ~3 F7 }5 d; t/ Fset ycor ycor - 6 + random-float 15
7 s" x) ~- _2 x]
8 N4 D% Z3 B$ x& V+ g, dend
8 I& U* b7 {& h# G5 u: u+ x1 lto unit_plan - K, s  `. e: A6 N3 \- ?( w
ask turtles [
+ e* a1 z  C4 E' O8 x% nif (remainder who 5 = 1) [set a who ! G0 L8 J8 G+ N
                          set x ( 0 - Wid / 2 ) " c! e) u  C4 ~! `5 `% Q  l
                          set y  Dep / 2 ]
6 K: a. H# g, y$ j; P           set b  int (a / 5) * 5
, H' ^/ I7 m* o, C* a    setxy ( xcor-of turtle b + x )
7 h, R2 w8 _, x/ g+ p          ( ycor-of turtle b + y )3 Q* H/ f3 C. d8 P2 \" C' e
if (remainder who 5 = 2) [set c who
/ P/ B8 Z9 r4 G3 D& b  C7 h                          set x ( 0 - Wid / 2 ) ( Y1 D7 ~1 j$ a: V
                          set y (0 - Dep / 2 )  ]
- X/ I! Z  C" {6 F! _                          set d int (c / 5) * 5. n& X: U9 I: P
   setxy   ( xcor-of turtle d + x )
% ~9 S! l* |( E/ W1 i           (ycor-of turtle d + y )
3 |. _  R& E& L         
$ Y8 |. c6 t8 o2 I" H/ [, ~            " U! B7 C1 n5 U2 Z0 P$ y9 ~
if (remainder who 5 = 3) [set k who
. q/ {* ]" s' G* F% p) `                          set x( Wid / 2)  / `3 H2 A+ G9 _5 @: L1 i
                          set y (0 - Dep / 2 ) ]
! ~1 Y9 s! T1 }" X8 o$ a! C                          set f int (k / 5) * 5* b6 l8 A' k3 ^8 \% M6 y8 t3 u
  setxy   ( xcor-of turtle f + x )1 v& R* \+ E; o" u
           (ycor-of turtle f + y ) 1 f, `- a7 _, g! {  ]
           5 x' r: ~, W. N) N4 B
           
3 T6 f, R( S; t/ z* @; N) \2 V4 ]if (remainder who 5 = 4) [set g who' E5 r/ l  W7 @5 P
                          set x Wid / 2 # r" N1 W) H2 t, P; v5 U  N
                          set y  Dep / 2 ]
0 y' X+ `- p9 G" S                          set h  int (g / 5) * 5
- g7 L6 U* M6 P( w  setxy   ( xcor-of turtle h + x )5 t" x  G, o5 b3 E1 O6 V
           (ycor-of turtle h + y )
) |; h7 v  [$ \                          9 E( z# u" X* ~/ _
                          
! H. {- n) V3 l7 l" s0 o) h' e                          ]$ ^8 Z+ N2 G3 I+ ^, g& g/ c1 c
end! s  I+ d" `8 O; g7 W( A

6 X5 d+ O2 i& O/ U[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ U: ], R  H, q, ?6 ^/ R
应该是; {! [/ `9 E4 Z* I* ^
ask turtles [
0 Y8 J, S! C+ R& r" R& {if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # p* y8 k! x3 l
                          set y  Dep / 2
2 O6 s. q& |! x5 C0 `           set b  int (who / 5) * 51 y% Y$ ~5 J. I" n
    setxy ( xcor-of turtle b + x )
+ O9 t$ e. Z+ j  X5 h# s* q          ( ycor-of turtle b + y )]]
+ o) I0 l( }; M9 hend5 o' p: q6 R4 g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-27 21:52 , Processed in 0.020859 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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