设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7915|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。5 B' m+ e: R% B1 [. \/ F9 G! V: }
6 i$ |. G2 }  y* ~( k: J. v% L3 n' y
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 c3 n5 s' S9 I" Z- E$ @! P+ K5 i3 |$ d5 Z( O$ W5 N8 A! N+ i( M
turtles-own [a b c d k f g h4 T' I  c' d. s$ Z5 C1 q3 [+ u5 O
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle / h+ e6 |% j# j4 s% P
]
9 k: q4 O5 A5 O4 Y5 mto new' \" I4 }" \4 v, z! C
  ca
6 q& r* V- j6 c: |0 C  crt 5 * num_of_building+ j3 d) N- X% Q
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 ]/ K2 K; B# _, ~9 V" Z, O
  scatter     ;;keep center-turtle random positions & Z8 M5 b' W7 M) O7 G0 G2 p" i
  unit_plan   ;;make up the building plan
+ V3 X, k& F( b% w7 dend
! v# @2 a. ]3 ^0 V5 Tto scatter
0 f7 ^; [* }% {, Cask turtles with [remainder who 5 = 0]( l1 R/ }" O+ ^
[! U: r* Z  `2 Y1 J  L$ W8 |. f. A
set xcor xcor - 6 + random-float 15. y3 t6 c* `  h! v
set ycor ycor - 6 + random-float 15
( |. m! }4 y( m+ y7 [' K]
2 f: b1 N: n* x" O% Bend! j0 E* x- F& u% ^$ ?  Q# ]
to unit_plan 5 ?4 I% n' B; L0 R- U) B7 j
ask turtles [, |0 i* T- n$ q% z3 ^
if (remainder who 5 = 1) [set a who ; y: {. e8 b' r; {% j1 }" C
                          set x ( 0 - Wid / 2 ) ' U8 w4 b4 D" q
                          set y  Dep / 2 ]
8 `! c" x$ _/ W, h  [           set b  int (a / 5) * 5
* {; i) I9 s9 k) |9 l    setxy ( xcor-of turtle b + x )- e* T3 J- P! V" @3 d; r$ c
          ( ycor-of turtle b + y )5 `- ~% Y# W( T
if (remainder who 5 = 2) [set c who
, e8 k2 B4 Z! A                          set x ( 0 - Wid / 2 )
( D% U! T% F$ y                          set y (0 - Dep / 2 )  ]4 |- z- ~3 Z. x0 x) ~/ w. S' W! C
                          set d int (c / 5) * 5
: s9 C& b% ?3 D7 O! Z  r& j( }   setxy   ( xcor-of turtle d + x )
8 l- }# U' T* e; i$ n- m           (ycor-of turtle d + y )
! O$ b- E3 n, p9 y         
, h0 o% T4 R5 n/ q4 N            
) @3 }( B9 Q; d* m9 u7 v0 yif (remainder who 5 = 3) [set k who$ S9 @. s5 H7 Y5 _- W
                          set x( Wid / 2)  
( j: |& L5 j! P8 r# j. O' G                          set y (0 - Dep / 2 ) ]$ c  e# `8 |8 m/ y4 x
                          set f int (k / 5) * 5
' Q" I+ v9 u. V! {$ k  setxy   ( xcor-of turtle f + x )
  a+ e. ?. O5 `% F           (ycor-of turtle f + y )
/ v7 P& ?7 s; {7 Y' y9 e           
! n. j" O' C: {; @8 e5 T           
! |2 j( I+ @# Q6 Lif (remainder who 5 = 4) [set g who
8 Z3 y1 @) f4 P7 S0 _# H                          set x Wid / 2
" J- `) y! U: I0 Q' K  j                          set y  Dep / 2 ]
5 i1 z$ }+ U3 N5 ?5 t: M                          set h  int (g / 5) * 5
; X) C8 k  H9 Z2 v5 ?  setxy   ( xcor-of turtle h + x )
: I" g# ?6 [; n9 h( W0 U           (ycor-of turtle h + y )
# ]4 k& y' C( |, k* O                          : y1 ?- \& u; ?8 z5 A. H
                          
1 ~& M. _9 A! J  Q+ D                          ]
1 N  q+ `, a& B- L7 ~end
, i4 L! `5 Z+ f7 [' ]4 a. x- M8 f
5 Q; F( R# b2 V% J7 Q& B[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
  j# U( l& A& L5 z  z应该是9 w! ~: r9 M8 J0 `+ z
ask turtles [( Q% P8 h' F! D2 X
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) % X, P: e6 W# @
                          set y  Dep / 2 , Y4 W% I  I6 c# ?  G. m
           set b  int (who / 5) * 5/ b- J$ T8 O. N. i! \, N8 m
    setxy ( xcor-of turtle b + x ), N8 q! ?. u1 X4 h& D) {  g* g
          ( ycor-of turtle b + y )]]$ {9 K' q4 \: J: K: n" i3 Q1 ^7 j
end+ q( _2 ]' }: m) H, _) y9 l) D
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-17 10:15 , Processed in 0.034417 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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