设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7933|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
6 r% y/ m1 p7 _" M" t9 G0 p
, X  N  y" U3 A" o5 ?但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 v# k# l$ }3 a+ s# u' t! C: H/ f3 v/ F1 c+ r- @9 M
turtles-own [a b c d k f g h# V3 P, d, @/ @8 D. o
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; O, z. A% e5 \$ Y]- Q( y; K1 Q, M4 R2 T* v
to new
5 i6 t) V* M8 ~  ca
) t9 |4 r) R, C1 N/ H* M  crt 5 * num_of_building
( J7 A. }$ w7 O* B6 A+ P4 @% Y( e  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], c5 [$ X1 ^: x7 A9 r  x- x3 H! j
  scatter     ;;keep center-turtle random positions
; d  C% O9 v+ a$ l( j, ]% n" p, a  unit_plan   ;;make up the building plan5 J, U! D- a) e4 [# K, X0 m0 q
end& F: A! U9 l9 W$ E( Q
to scatter
% X" p5 o* y( k8 s& kask turtles with [remainder who 5 = 0]
; k5 o1 K, u: ~& h[+ x# H5 K5 K1 M
set xcor xcor - 6 + random-float 15
# K) f; U4 K9 \1 f' r4 Z6 i6 Vset ycor ycor - 6 + random-float 15
. P* U: p, B# n& ?1 d* u2 L/ {]
+ e7 S5 h; _/ t1 h8 H9 cend
3 c, C& m/ u6 T3 A  v$ {: H: X0 bto unit_plan   ^! q3 \! M7 f6 W# a
ask turtles [
$ E  s; H6 X" M1 R! ]( r- u% l4 |if (remainder who 5 = 1) [set a who
3 x: Z3 f9 Z3 K8 S! K) w( P                          set x ( 0 - Wid / 2 )
4 F" A, R% |  M                          set y  Dep / 2 ]4 I/ C7 _8 l. O1 _* @( W
           set b  int (a / 5) * 5
2 D  S8 _) K# Y) d/ M    setxy ( xcor-of turtle b + x )& r6 c: o9 W" w- [
          ( ycor-of turtle b + y )
  o, l/ t/ p* L) O% ~# Bif (remainder who 5 = 2) [set c who4 N9 y' w. ]5 ?0 W% m7 ~
                          set x ( 0 - Wid / 2 ) / V% j, `- G" H* s" A
                          set y (0 - Dep / 2 )  ]
; O5 t# v) v5 E& X* O. Z                          set d int (c / 5) * 5
4 n; ?* i( `" {; [( w   setxy   ( xcor-of turtle d + x )
' c; f+ N' b8 W6 E  K           (ycor-of turtle d + y ) ' q. ^1 Y" i8 v
          ) N  h, x' n0 i7 u0 H2 j
            ' E+ p6 }$ I; ^  S  j: E- l* k
if (remainder who 5 = 3) [set k who1 ?; ^6 _1 Z2 A0 V2 w8 @) R+ \$ i/ b+ A
                          set x( Wid / 2)  9 _  l8 n) I- ]
                          set y (0 - Dep / 2 ) ]6 \1 M, e( h8 _; l8 _  X+ S/ T
                          set f int (k / 5) * 5
% A  S) ^) T# R: R3 d( x0 Y# i3 U  setxy   ( xcor-of turtle f + x )
: F9 ^9 y. T; t8 _6 e' m# N           (ycor-of turtle f + y )
' q2 r8 _& y3 P% a! w9 P           ; Q- A+ x4 t- H3 r2 ?
           2 a- S; i0 @( E% H  j3 A+ y
if (remainder who 5 = 4) [set g who& ~' \* T7 f& u" D
                          set x Wid / 2   }  l8 u$ W- z6 h# ]4 Z
                          set y  Dep / 2 ]: R/ z$ I- _, X9 ^# z6 s! R
                          set h  int (g / 5) * 5' ~9 ~5 m4 l* g) q1 |8 v
  setxy   ( xcor-of turtle h + x )  s5 F" a6 T* E. t# j
           (ycor-of turtle h + y ) * I6 ~" J' g. Q2 w2 r" d
                          
4 W# Y+ R+ M7 z+ C; u% h9 q, E                          
8 ~* u2 U/ _3 g3 ?; Q                          ]
9 H) s6 u# t* r/ v: zend7 |& G" x! Z! W  Y' x( O% E# `
2 h" J" c7 a. Q' P; B- u: p
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# E3 v) X/ l- Y7 `6 H3 I- k: u+ N" {
应该是
! o. Z+ R9 n0 Gask turtles [' w9 O3 v% r; Z: W; k
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 \7 ~$ Z% V& [& a7 {3 x                          set y  Dep / 2 7 \; i  U9 r1 h2 O/ h7 E1 p! I1 {
           set b  int (who / 5) * 5& ?3 \6 \; y% n; j4 Q" j
    setxy ( xcor-of turtle b + x )
9 [$ y5 c5 }* ]' @4 z2 |. K          ( ycor-of turtle b + y )]]
3 B0 e1 z( u) ?  M! o' ^, m0 Tend6 I) e8 q5 S% [' y5 \% L: I/ z: W
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-19 20:09 , Processed in 0.021879 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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