设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7475|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( |) j( y9 F$ N) c% h9 o/ g; _. J# \1 Z
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 l9 p4 c( ^% a% O/ R# z
9 B- Q7 M8 v4 j# A. o( }. [! Hturtles-own [a b c d k f g h# G8 x5 L1 P, O2 i" x$ Y/ s: O. g
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; \+ M1 `6 Z3 e1 G]
  @7 S- {# C0 a/ u0 _) Z$ `to new7 U6 c0 b  S# l6 p* m
  ca% d5 J& Y5 `8 a" ?! G5 X4 q
  crt 5 * num_of_building
; F" T1 [3 J; Z$ [' }  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: I8 F; t% F5 f' e( m% S1 e  scatter     ;;keep center-turtle random positions
4 P* {( `5 P3 }! a  unit_plan   ;;make up the building plan
8 G  X1 {5 W1 e4 d: s, l: Dend
/ k  w' v! Y1 o- kto scatter3 {1 M2 ~, R1 f! s
ask turtles with [remainder who 5 = 0]
) H& y0 [2 K0 `8 H6 }& B1 ^[
: h  [- y7 s# z6 P5 ?set xcor xcor - 6 + random-float 15
- E% X2 [8 ?1 o: ~6 qset ycor ycor - 6 + random-float 15' w+ m7 u: `' {; J8 S7 n  S
]
% `9 U) f  K+ ~0 @& fend+ {1 A& Z4 |. u- v4 C2 c
to unit_plan
: G+ h: Q5 @' c3 G" n* fask turtles [/ C; b+ N7 S  J7 s" l; w
if (remainder who 5 = 1) [set a who , s3 ~5 E/ ]" j
                          set x ( 0 - Wid / 2 )
8 S$ G( |: Q; T                          set y  Dep / 2 ]9 v0 J5 p7 J3 A
           set b  int (a / 5) * 5
: \  G: I1 }5 c( F* K/ g    setxy ( xcor-of turtle b + x )! {' g8 Z5 f: p- W# W
          ( ycor-of turtle b + y )) m9 A7 ~& N* k5 U3 d" Q
if (remainder who 5 = 2) [set c who1 y: E; d7 _  a7 J
                          set x ( 0 - Wid / 2 ) 3 t, W" L; A4 F/ b
                          set y (0 - Dep / 2 )  ]
9 e% Q" i# Z6 _                          set d int (c / 5) * 51 X! [5 C- \. w* l# m. ^$ v$ `+ I
   setxy   ( xcor-of turtle d + x )" L  }# M8 n7 K; S1 V9 x; `
           (ycor-of turtle d + y )
( T6 X" i  P$ j* ^6 H+ |# j5 y3 q          & F7 d% r# O3 v+ Y
            
7 l. ~; ~3 w$ [. l  Zif (remainder who 5 = 3) [set k who
$ h* r7 x; c8 `& _. G                          set x( Wid / 2)  
! a, h/ p, N* K; i$ [                          set y (0 - Dep / 2 ) ]* p; r0 U+ n8 k1 D/ D
                          set f int (k / 5) * 5
$ x! p- k* b) F  setxy   ( xcor-of turtle f + x )8 ?0 I' J* B2 E& P  `& `2 z
           (ycor-of turtle f + y )
" x: S; p" g. P6 T1 O) G6 h+ D           
$ B0 G! e: \! f3 ^# W           
* B. ]! n) g' N- I; Nif (remainder who 5 = 4) [set g who! C0 v$ Z/ L1 ?; _# N- N
                          set x Wid / 2
# @$ r: R: F2 [7 |3 n& r' D8 U                          set y  Dep / 2 ]
$ J8 e6 H. |& B) t( D) t. u% j                          set h  int (g / 5) * 5, k: y2 }- `8 b' n: n
  setxy   ( xcor-of turtle h + x )5 F: _! F  k: z7 W3 Y1 j3 @
           (ycor-of turtle h + y ) % e% N) U3 K% A
                          
; u- M8 f0 E* \3 S4 `  n: q: W                          % z. N( m/ K0 P" s3 r% o; J- D: c
                          ]
, ~8 F4 e$ t: l- `* X' Zend. F8 E) ^- W7 j# p$ v

' S7 z# h3 x8 z# d3 S[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 t$ H2 i: i2 [. d0 j应该是
0 c" n1 j7 z* B; ~" Mask turtles [4 [' w" T8 B+ l% U$ X* n4 f
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) - Z/ ]) h( i1 e, d8 f4 z
                          set y  Dep / 2
6 b2 a% D2 v% ~  ?: T, n5 u* x           set b  int (who / 5) * 5) z' O0 P0 d0 |  V7 y2 n6 {0 Q
    setxy ( xcor-of turtle b + x )/ t( H, b8 H; |* c% t9 h* Z( C7 ~3 G
          ( ycor-of turtle b + y )]]
( T" x4 X+ y$ ^% uend
. h7 z5 B5 d. Z5 _% p之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-15 13:28 , Processed in 0.015073 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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