设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8342|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。* K: J! k! U( D" O$ i' p
- G6 r% P6 D& b  H# M
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" k. M! Z( o' A  t
1 f3 e3 C2 c+ s  \- ?turtles-own [a b c d k f g h
8 y8 }0 Y! b* P. g/ `. a  x y     ;; these are the leaf-turtle's offsets relative to center-turtle & O6 T5 V/ x+ n  w6 f5 ~) j
]
& `5 f! ^8 E! [8 ~) c9 jto new
8 {( _5 s0 r* t( j  ca
7 ~% l2 @7 c% v# K1 P# _2 ^" O1 C  crt 5 * num_of_building0 r( q) d! }5 D% t8 J/ \3 W$ B  J
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
+ q1 U6 `) |! T8 B$ m! V  scatter     ;;keep center-turtle random positions
1 `8 G4 k  x1 u5 f+ `; G2 ~3 M  unit_plan   ;;make up the building plan
4 g9 v6 `# K6 J; M5 r8 b" hend
( F5 t/ k+ v' ]) oto scatter) n4 x8 X" l, o! j7 a
ask turtles with [remainder who 5 = 0]
( g! V. f; _; \6 b: M/ M) {[
/ O$ ?/ U9 r3 ~) v0 U' y% i, sset xcor xcor - 6 + random-float 15) a% {1 E( x1 B* X+ l
set ycor ycor - 6 + random-float 15
* g1 x# s' T, l2 S  \]- K1 ^' J6 U  z# d0 C. P
end1 y5 C$ j6 E5 s9 v
to unit_plan ' Y+ l: X$ v" I5 W; r- v0 V
ask turtles [  C6 Y' {7 k3 r. B. W" S" ]3 {# Q
if (remainder who 5 = 1) [set a who
% C$ J- M* ~0 C+ s5 m                          set x ( 0 - Wid / 2 )
: J1 Q9 Q' a& _2 x3 ]- e                          set y  Dep / 2 ]- V; j9 R& N6 a6 u& y, ]3 Q9 \
           set b  int (a / 5) * 5, ]* o( @/ I0 k( j. ^
    setxy ( xcor-of turtle b + x )
9 a5 I2 l6 I/ G; G          ( ycor-of turtle b + y )9 U# I1 x* Y* |# H" l5 n- b' F
if (remainder who 5 = 2) [set c who
; x) N8 K; D& Q+ \                          set x ( 0 - Wid / 2 ) 0 ]. a5 }; H, P) e) M
                          set y (0 - Dep / 2 )  ]3 J  v7 y- {& h: s3 B0 v
                          set d int (c / 5) * 5; b+ P$ r& |4 C
   setxy   ( xcor-of turtle d + x )+ Q- j2 w1 `4 X2 x  @5 c3 k9 e
           (ycor-of turtle d + y )
( d# l- \- u: ]2 J7 T: ]          0 w- p+ b7 d$ P, Q! q% b5 B
            & m6 K6 Y- i7 N# R4 l/ \
if (remainder who 5 = 3) [set k who, v+ C8 ?/ _. W8 C; ~$ V
                          set x( Wid / 2)  # p- J3 |* _* f6 x" n1 g
                          set y (0 - Dep / 2 ) ]
6 J* j" e' D- V6 `; C% O# r4 m( k                          set f int (k / 5) * 5
# `& g* A2 E0 Z$ M% |- ]6 z) e( |% b  setxy   ( xcor-of turtle f + x )
1 k* h: \* D7 K; O8 s           (ycor-of turtle f + y )
  v: s' ^: k: ?' k* e           ) g& C, u( e  s
           
5 R  ~- S" a! W% T# |. y0 oif (remainder who 5 = 4) [set g who
2 L7 S* T. U' }7 ]1 W                          set x Wid / 2
! W  D) [& b5 Z7 v- F4 r                          set y  Dep / 2 ]
. _6 n7 M+ V, j5 O                          set h  int (g / 5) * 5% n; `2 z9 U, F5 I9 q3 l: F, E
  setxy   ( xcor-of turtle h + x )
# [  N' \1 R8 M5 H% u) W           (ycor-of turtle h + y ) * C) C$ [' S& G8 w3 }  n8 O
                          
9 d' h/ }. Z- ?  I- `4 ]9 e                          8 ]3 Z9 K) j# A; @1 `
                          ]" Z9 V3 @/ ^! E! t2 K3 Z2 }
end
0 g# p8 \$ e: R* |
. t& E3 D; |' n5 {* d2 v6 N[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
! J( z8 P" J3 j应该是
9 K" v  r- P2 A1 c+ e% f7 g& Qask turtles [
7 g- P, r+ S' {8 q( xif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 {+ B& A$ Q9 z( O
                          set y  Dep / 2 6 I8 @7 U; F: u7 D- ?& Z
           set b  int (who / 5) * 5( T7 O4 Y/ b6 K& [+ t9 }
    setxy ( xcor-of turtle b + x )# L- i3 i% D9 \+ G0 `7 O1 [2 s3 f
          ( ycor-of turtle b + y )]]( u& W' _3 w( m4 x' `! N" o
end
( ~3 D$ T& {5 }- p4 b) n; T& V之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-11 08:41 , Processed in 0.017233 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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