设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8163|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 H5 {: Q/ V1 V# q4 g7 Z% ]# E' s0 W9 @2 D7 N( ?  G/ j
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。( Q, Y9 B$ y) Q( G7 l  ?8 q. w

0 G/ N8 ]# `5 N. a1 yturtles-own [a b c d k f g h
6 t* b* K0 A9 }+ P" i7 J( v+ L, i: ^; B  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! F4 M2 l9 Y: o/ b; B]* \  k0 y: g+ U  k6 Q, G4 `( L
to new: ]% c( u0 {% M2 j6 a6 C
  ca+ ~! j! P  `7 Z  o& s) I1 @2 _2 P' K
  crt 5 * num_of_building
, b4 T, V3 t" V+ }3 N( `5 t0 s  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% Q; h# q/ @5 E. r  scatter     ;;keep center-turtle random positions
- }1 {) Y7 h, z- I1 z4 E/ g3 W  unit_plan   ;;make up the building plan
1 `$ b( Y1 `' K! }- x, wend
5 t9 w# y6 G' L) G( G5 b* ~: pto scatter
, h9 [: ~5 n6 G& J5 j2 u# A7 qask turtles with [remainder who 5 = 0]" T3 g* c& f) m0 r) L6 `
[
- ~( L  v; C  O$ w: A' Q4 Oset xcor xcor - 6 + random-float 15
% ?3 [% N4 t0 j' ]( Tset ycor ycor - 6 + random-float 156 X. t% T4 a3 y' c/ `
]
* Q' e5 q, r0 F/ R& Tend. j1 e% g0 }6 Q- J) r8 x# d; C
to unit_plan " r3 }# R- \+ q- J
ask turtles [
' v, G4 M2 F+ M9 l, a% Aif (remainder who 5 = 1) [set a who # X9 g4 w% m# m4 v; ~: o/ T
                          set x ( 0 - Wid / 2 ) 0 g$ s: p$ Z& X( C- P5 B: c# o  B
                          set y  Dep / 2 ]  W" O" \2 b! u( o; W
           set b  int (a / 5) * 5
: r% `6 P$ {; ?- ^3 A    setxy ( xcor-of turtle b + x )8 D& n  E. n0 I. E: Q
          ( ycor-of turtle b + y )
  A! z% J: _9 H; m" U4 Eif (remainder who 5 = 2) [set c who
$ h) [+ a. W% `( S. Z                          set x ( 0 - Wid / 2 )
4 ^/ U% Z7 S4 M                          set y (0 - Dep / 2 )  ]
1 f/ Z5 t! x5 |                          set d int (c / 5) * 5
, q; Z# s# r  u   setxy   ( xcor-of turtle d + x )7 Y9 `. o! O+ y7 h0 i
           (ycor-of turtle d + y ) " I/ R$ l+ q6 }8 g
         
" j8 z$ u; e6 G8 c6 D            
) U  p$ Q. _6 N6 C6 F+ C' q. f; Q7 ^if (remainder who 5 = 3) [set k who
6 q7 V# M3 S9 ]                          set x( Wid / 2)  9 K" U1 U5 T9 l' ?+ `. t0 [. y. w0 w
                          set y (0 - Dep / 2 ) ]. E; S3 ^- S1 W+ u
                          set f int (k / 5) * 5& j# k( P& N. j0 y' G
  setxy   ( xcor-of turtle f + x )
( P5 x5 ]7 S$ P$ ?' [. M           (ycor-of turtle f + y )
" P" J/ W, p' e& ?8 `) k           
2 Y7 e# K1 ^9 Z% ~/ u9 U! h           
# _6 P3 z- c+ ~$ J: i) q' V# Nif (remainder who 5 = 4) [set g who, {. ]. Y- y( p0 |( j7 M1 g
                          set x Wid / 2
4 z* t7 y7 ?1 {                          set y  Dep / 2 ]
! a" {" {0 w# R$ V  j$ ]                          set h  int (g / 5) * 5
% q: D: b0 s  D: E  setxy   ( xcor-of turtle h + x )
" y% j' O: p7 X- M7 x5 V/ y           (ycor-of turtle h + y )
7 G( o1 d( \  U) i                          & X- h, H2 {) |# ^2 F
                          
# y/ y- N% @* R5 p3 Q+ |( t                          ]" g) V. E  x" Z. {
end$ u( k+ K+ x3 r% }
/ D3 f1 Q  Z$ j, P. {. q* B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 _' d" O8 Q6 U/ D应该是
+ h8 G3 Y9 X* ?& Vask turtles [: a9 }7 i; y6 Q) a" c, `$ t( M
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   v  m1 m& H, k  \
                          set y  Dep / 2 % r0 j* p* f$ |$ q# X
           set b  int (who / 5) * 5
7 Q+ Y+ }7 P1 t% k1 H7 @/ F    setxy ( xcor-of turtle b + x )
+ ^2 Y2 {( W. ?% l" {$ }! L          ( ycor-of turtle b + y )]]
8 c9 c+ J: _5 w; D( H' Fend
% p- y6 t2 B1 c  X- Z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-13 16:47 , Processed in 0.015532 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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