设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8267|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。; f. Y  ?( @" a" Q

& E, Y* N! |0 _; l# h) p但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' t. R# }" N8 K* j& x+ M% Q  \+ }: L$ E3 E4 B% a: `. E1 r
turtles-own [a b c d k f g h
% L% F0 T# w- G+ Z; Y8 r  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
- b1 V5 L6 i/ y+ O7 `9 B8 v0 V3 K* Q& I]' `# [) d2 n4 l+ k; |+ G
to new
* n$ C1 H0 }3 a/ X  ca/ d% E2 U* p3 B1 b; h  k
  crt 5 * num_of_building
" ^; F* L8 j1 I" ?6 J3 n  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]( B) U+ U& O; i. d  ]! I$ p- A3 p
  scatter     ;;keep center-turtle random positions
2 A( ]9 l  V, T) ?+ @  unit_plan   ;;make up the building plan) m; u' k1 l/ X. J( @3 S# T2 J
end
8 y  B6 m+ |$ B) k* oto scatter
3 \  ], t8 V4 w# gask turtles with [remainder who 5 = 0]5 [) \& E: f/ L5 J& }8 Q/ D
[
5 B* p- ]7 `0 H( D3 I8 \7 Mset xcor xcor - 6 + random-float 151 g, }  T; ~  d3 \; r
set ycor ycor - 6 + random-float 15
$ s& G6 ~: y* P( l$ G]; W  m5 D, R. f" G( w! ?& [
end- x. H) K0 P+ W; k8 g4 j
to unit_plan + x1 v# I1 ^3 q
ask turtles [
# x7 J9 g: l6 ]" bif (remainder who 5 = 1) [set a who
9 b8 L2 T3 O7 e' G5 v, m! }9 _                          set x ( 0 - Wid / 2 ) ) f/ P7 ~5 ^+ ]( x7 {
                          set y  Dep / 2 ]% `7 B8 ]( r5 P6 w
           set b  int (a / 5) * 55 C4 E8 G; S, Q
    setxy ( xcor-of turtle b + x )1 k9 i5 c1 ^6 f0 p$ s% f
          ( ycor-of turtle b + y )) X: ], ]4 L0 J2 e2 m4 j
if (remainder who 5 = 2) [set c who
/ l- X: R/ C, v: W% t# O0 U5 Z                          set x ( 0 - Wid / 2 ) . y8 L" A6 M- b: u  w4 {8 g" o
                          set y (0 - Dep / 2 )  ]
2 S: ~2 B) P' i2 c1 R# d                          set d int (c / 5) * 5
+ d9 u+ o, V3 g: m   setxy   ( xcor-of turtle d + x )
8 r/ M5 t0 g* A( l' w: s' H           (ycor-of turtle d + y )
/ o1 t! `$ m: u: a: g          1 w" R$ d% T+ l+ |( C! r
            
1 t2 f9 p7 C0 aif (remainder who 5 = 3) [set k who) k# ^( N/ i9 D/ F* y, H; x# C
                          set x( Wid / 2)  ! d7 `+ Z/ B$ O
                          set y (0 - Dep / 2 ) ]
5 p( {8 [( B1 O                          set f int (k / 5) * 5
2 I! Z& q: N, n  setxy   ( xcor-of turtle f + x )4 w2 `/ r! q  x  h
           (ycor-of turtle f + y )
' K2 ~. o; [9 V8 b           
" E' U5 V3 s5 K* C           ; R1 C9 ~: e2 K; J4 h* E
if (remainder who 5 = 4) [set g who
3 x3 c) F& m3 o                          set x Wid / 2
5 F/ o% I1 r' T* ~0 E                          set y  Dep / 2 ]
8 i% }, f3 Q1 ^) c                          set h  int (g / 5) * 5# A3 S3 i, U9 h  s2 I* v9 |9 ]  O
  setxy   ( xcor-of turtle h + x )
( F' a0 N" K$ t0 h0 S           (ycor-of turtle h + y ) & _  r3 l1 T0 F, p6 Z
                          - q' U) J! D* |* [1 O$ _
                          
& S9 a( ^# C; P9 h6 \                          ]
& n5 U) T" P( ~! Z2 bend
; ^) b: A2 |. d8 d& c5 p1 F
! \9 r9 S+ k6 k# I[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
: \/ g# E! e6 G$ |2 {. S应该是( \8 i; I2 J! `% t/ `
ask turtles [
; J1 o8 L/ {/ I6 ?2 Cif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) - R, x3 G' }! R* T! r6 {
                          set y  Dep / 2 ; z( {  o. _' a  Y
           set b  int (who / 5) * 5
4 m  b" y5 ^+ d+ v0 ?+ A    setxy ( xcor-of turtle b + x )! e1 o7 k# }! O9 r5 ~# M5 X
          ( ycor-of turtle b + y )]]- t* {  |( }7 {6 O
end* D* o6 r0 V% h4 Y- _4 E) u
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-27 08:39 , Processed in 0.019198 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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