设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7039|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
6 i: k5 J& A$ M; L
6 w8 B( I# v0 Q- R: Y/ d但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ D2 B: ?) D$ f" f
7 [. F! L8 u, @: o& o
turtles-own [a b c d k f g h  N' P2 |) G( ^3 Z
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) o" H  P  O* Z4 N. ?' ^, `9 u
]( x. g7 j; i( H7 \. u
to new
5 [  v! `9 S& T& j2 @& O* J  ca( o2 L- z" g/ Q5 G' @" p
  crt 5 * num_of_building* x2 M6 @% D; o' a% @3 ~
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' u% x8 C9 p, s. [
  scatter     ;;keep center-turtle random positions ) B1 _3 m' y! e# j1 d' [- f
  unit_plan   ;;make up the building plan( Q# c8 o' A8 z: f( \5 a/ N% ?
end
0 I+ J5 R: w. l: z. `9 U8 Zto scatter' }; C; L$ ~) R
ask turtles with [remainder who 5 = 0]
, W! f  v! o/ `" t$ `[$ H1 _& w" Y8 o+ Y; M' Z2 ?
set xcor xcor - 6 + random-float 15) U' J( Q# ]3 t8 ^/ M9 P
set ycor ycor - 6 + random-float 152 {+ V" N4 g1 h$ \; g+ e
], K9 _. e1 G' N9 i9 K: q$ @
end. O9 B! |4 j9 r: S0 g
to unit_plan , H; Q4 R4 y8 x* J
ask turtles [
* f" g- O9 M0 {5 ?& B, yif (remainder who 5 = 1) [set a who
1 ^/ }0 O) }- _0 w, g4 m5 e4 p                          set x ( 0 - Wid / 2 )
* B  y( h0 `7 y- U" [" o- o                          set y  Dep / 2 ]
4 D2 t* J7 O1 v4 Y6 S$ H           set b  int (a / 5) * 5( A" n) s3 K4 J9 V) F
    setxy ( xcor-of turtle b + x ). J. h' t- H1 o! [
          ( ycor-of turtle b + y )
8 k+ N) e3 p5 t# m/ @# gif (remainder who 5 = 2) [set c who
( d" X9 w2 P! I" e$ {5 E' U                          set x ( 0 - Wid / 2 )
+ F$ u. X5 y0 p6 G                          set y (0 - Dep / 2 )  ]
/ {' a$ B# L  o2 `9 M4 h                          set d int (c / 5) * 5
) P4 c7 ?/ ?2 ?) D1 S/ G2 U, {& S   setxy   ( xcor-of turtle d + x )4 m$ Z8 \4 ^' I! X  M$ c
           (ycor-of turtle d + y ) 8 L' P% k  B1 Q1 p; [! ?
         
: L2 L# u* x; m9 n1 x! Z% g            1 K- a% I1 }2 v1 {% J5 H
if (remainder who 5 = 3) [set k who; J: `1 T" `* C6 M
                          set x( Wid / 2)  " Q' |! L' o% J1 E' r3 P# `
                          set y (0 - Dep / 2 ) ]
8 S4 k+ m0 F% c5 L, K" E! X8 H                          set f int (k / 5) * 5) }9 g. W$ x4 A4 w
  setxy   ( xcor-of turtle f + x )
1 l1 ^; h* t$ H           (ycor-of turtle f + y )   n0 y  B' _6 F! O. z# ?: J/ h1 Z
           
2 p9 g7 T- j( _: N2 X           
. k3 ^- a, y+ j$ N( F! Xif (remainder who 5 = 4) [set g who* {5 u: u) T/ g
                          set x Wid / 2
" z0 V; `3 g. i7 z$ T                          set y  Dep / 2 ]' K& ?, N% N# F  t& |1 o3 K" C
                          set h  int (g / 5) * 5( c+ F/ H* _1 B7 l+ Z
  setxy   ( xcor-of turtle h + x )1 ^$ {/ M8 V' Z
           (ycor-of turtle h + y )
& f* ?) L. B9 A% n9 L                          0 X+ x3 ?7 t2 Y, Y. N
                          
% Y% a7 z/ m, m) S% u3 E                          ]
- U4 l- \- C/ mend
! Z2 _6 C, Z1 Y, \7 A) T& N  ~
) r# R1 r/ D7 K5 u9 J, J1 R3 |+ c[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 i$ k# S1 h" K- K0 e应该是
( ?% R0 f7 b2 G" l1 {8 rask turtles [
- w9 t3 ?9 ~  o. T7 Q7 qif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 ]1 I+ z9 a' l
                          set y  Dep / 2 3 F+ g+ n1 J9 e
           set b  int (who / 5) * 5
8 |6 z9 M0 @" z/ s+ g5 D    setxy ( xcor-of turtle b + x )4 L# \: g: I% S# K
          ( ycor-of turtle b + y )]]" x) ?8 `% l- @  C3 [
end
1 n. S' D7 i; y8 p, }7 j5 N0 M之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-20 12:49 , Processed in 0.015113 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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