设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7506|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" M% w1 _3 o1 \# y, G8 z& o# D: R# `
- ]% x* Z: t: @  O; ?9 Y0 G
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。% @! R& r7 {/ ^2 W

% M" S5 \/ F% r$ tturtles-own [a b c d k f g h
" y- K! I8 `2 ^# k3 S  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! N/ V8 A$ p; [6 x3 y! s]0 x' k1 y; }6 @; s: ?/ _
to new
) i0 N9 Y, r' B/ Z  ca9 ^0 z1 v! W; I5 j
  crt 5 * num_of_building7 \4 S- H% u( `9 P/ s  I
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 }* [4 m% `; C! \6 E
  scatter     ;;keep center-turtle random positions - Z$ j8 G" O0 Y6 ^5 r# z2 T4 s, n, u
  unit_plan   ;;make up the building plan4 _7 H# z% \5 F1 [6 {' d8 K4 v
end
. \7 L/ s: z  z; o7 x" \; ?to scatter
  A1 s6 B6 ~# H+ q% l( u+ b$ Zask turtles with [remainder who 5 = 0]" \  c! ?8 n/ s2 t
[
4 Y" L: P) |4 ^0 v9 R' j) Oset xcor xcor - 6 + random-float 15" ]# `* O2 f. Q  ^8 f& z1 \0 r
set ycor ycor - 6 + random-float 15
& @9 A: b- B% u% H. ^" H]
+ @4 A' I' A. }+ t, f5 t# Hend
) o- @  D, x# l* Ito unit_plan
. C1 m- i! Q7 l: i. N0 B2 B0 wask turtles [! a8 r! |" B/ e
if (remainder who 5 = 1) [set a who
& t/ x3 b4 c7 ]6 S- `  D8 u! ]                          set x ( 0 - Wid / 2 )
& A" M5 w$ U. [: b% u                          set y  Dep / 2 ]
# d- A* b3 [5 J           set b  int (a / 5) * 58 P$ J0 \- t8 L( J9 m9 k
    setxy ( xcor-of turtle b + x )
5 B9 B  _" O' T3 W* L4 s) ^          ( ycor-of turtle b + y ); f- [1 A0 r) R/ Q1 I# O
if (remainder who 5 = 2) [set c who
1 Q5 X& u  e' e                          set x ( 0 - Wid / 2 ) 7 ?; a' f* q7 F+ E( [1 i; G1 p
                          set y (0 - Dep / 2 )  ]% r( i0 y$ F  j# K* y  K2 N! a, S% w( m
                          set d int (c / 5) * 5
. P2 P9 {* \) _$ u$ ~. e- ^   setxy   ( xcor-of turtle d + x )
# {; g) A0 F9 c; ]' _! m$ Z           (ycor-of turtle d + y )
8 f/ A: x. e- P4 y/ j$ J          ( r$ b/ m; Q* x% r
            , ]) x* V" ~- J% F" ]
if (remainder who 5 = 3) [set k who2 d+ \1 D9 T9 J* z
                          set x( Wid / 2)  
* h' u3 I) a% m                          set y (0 - Dep / 2 ) ]% W5 T3 z" {  s! U  a
                          set f int (k / 5) * 54 ]# N8 U6 m( o  I9 a* I* J; _
  setxy   ( xcor-of turtle f + x ); A6 w# `  ^+ }, s: [+ W, d5 [
           (ycor-of turtle f + y )
" _! U2 j. m  w) A           2 I7 S8 F- Z+ Y
           
- M) D, `1 d: n8 ~0 s$ N) rif (remainder who 5 = 4) [set g who4 M1 l: g, O( _9 K$ ]) y/ e3 n! X8 ?# x
                          set x Wid / 2 ) J0 O* H+ _; Y
                          set y  Dep / 2 ]
' W5 }! t5 K5 O1 V! M                          set h  int (g / 5) * 5
2 Q% l+ m% d: m- _' t% P  a  setxy   ( xcor-of turtle h + x )
8 J( a; s+ I) Q; N, H% Q# J  K           (ycor-of turtle h + y )
3 A: \. u( j) ^( T% _- c                          / Z  v6 a2 P* {" i
                          5 k2 T; S) [$ U& r- j$ W: ^7 h0 }
                          ]
# h( C6 Q4 z3 ~- G+ xend
- a: D. `- F) d; A" f, k  h5 N( M' ^) N" j
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' T" E: s' l+ G& P0 i' Q/ v应该是5 ^0 K9 M) r' \0 u. Q
ask turtles [
! m6 c6 ~( l  E$ a6 k4 ^# I  Y" lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! ^3 @% \3 h* I- b; X! q
                          set y  Dep / 2
$ V" I* C: y) p7 S& k* U: l           set b  int (who / 5) * 5# [6 L6 {1 K% g: [
    setxy ( xcor-of turtle b + x )0 P. B6 t% z5 X/ T2 B" l
          ( ycor-of turtle b + y )]]% |" B' Y9 A0 d
end
9 F! v9 E( E9 o5 J之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-19 20:36 , Processed in 0.014416 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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