设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8776|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 `% L9 s, h- }' S4 `; B# P: q5 J
# M1 B( t% i6 s! ~9 X- p% N$ W+ j但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! @) h+ N' J  \
9 n- O% m$ A& h1 |% _+ u/ h; g* q
turtles-own [a b c d k f g h9 S% p, o. e# C1 I0 `( T) L% S: w
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 }7 q+ ~4 _+ z/ y. k* j4 N
]0 T/ L9 b& n' |$ D
to new
4 Y  |4 L( b3 y/ K  ca/ P2 V. D2 h+ {( D
  crt 5 * num_of_building
  O; Z. Z  j$ l8 c# Q% U  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
* D6 z2 m: u3 x3 o. B/ u! C; I7 }  scatter     ;;keep center-turtle random positions 2 V) h0 ]3 E' X' i
  unit_plan   ;;make up the building plan
7 y  ^7 k8 W" Uend1 K- S, m& r$ C. k4 s
to scatter
& J  s6 {$ R0 U( w, ]ask turtles with [remainder who 5 = 0]
( [+ C  M+ x! M! a7 Q% A% S0 \* s[
3 j* e8 W3 g: H& L* s/ f6 mset xcor xcor - 6 + random-float 15: L; c4 s; Y7 s! @1 w2 R  D
set ycor ycor - 6 + random-float 15; @" ]9 ]# t/ l5 t( u9 I& ?, C
]/ w3 D5 X# ^5 D& Z- v, M" w2 X$ c
end
" Q& v# O0 F' Pto unit_plan 4 Z; n7 f  D; k3 N$ V
ask turtles [  e' x8 P5 w- V7 q+ I8 m' P
if (remainder who 5 = 1) [set a who
% g$ k9 b2 l3 m0 }" b$ ^                          set x ( 0 - Wid / 2 )
5 H. \  Y0 w9 L7 ?                          set y  Dep / 2 ]
) ^6 n. G4 G$ R3 z- N$ p- m# b           set b  int (a / 5) * 5
3 V: i! F$ [6 p1 s: ^    setxy ( xcor-of turtle b + x )# q$ k6 M8 R: i7 h  }$ u$ D2 V
          ( ycor-of turtle b + y )
% a& c9 c! z  |! {4 tif (remainder who 5 = 2) [set c who% O$ V) y% [6 l& P- O) `
                          set x ( 0 - Wid / 2 ) ' b* Z: K3 i. h
                          set y (0 - Dep / 2 )  ]
0 P2 n/ h; T% N8 `1 d' t                          set d int (c / 5) * 5
, u3 ~6 d2 W2 f- v' ]   setxy   ( xcor-of turtle d + x )
) n' x" {. h. U" V           (ycor-of turtle d + y )
  ?3 R9 x( W8 w, c3 ~         
7 `* w5 P* \7 e9 h) C+ s4 j3 D8 |" @            : t! J. C- W4 _) c( h* F8 Y
if (remainder who 5 = 3) [set k who) b) F& S$ f' e+ L
                          set x( Wid / 2)    u$ i) i$ w3 r9 a- U
                          set y (0 - Dep / 2 ) ]
: m6 s. u& e/ U: J& g                          set f int (k / 5) * 5* z6 c& n) M, E4 r# F8 i
  setxy   ( xcor-of turtle f + x )6 E3 U, \/ i3 y
           (ycor-of turtle f + y )
+ K5 M7 |  |0 C5 }9 p9 j+ B           
8 D, \7 i# b: Z! s3 }1 A, I           
! X+ P: G- ~# g. k6 s7 rif (remainder who 5 = 4) [set g who4 w' U" c2 K; w" R9 v
                          set x Wid / 2 * t; G# `, Y% Y3 {8 l8 {: ~2 M
                          set y  Dep / 2 ]: J3 l1 r3 F. @* V% g3 l
                          set h  int (g / 5) * 5: S2 Q: W0 O! i% _
  setxy   ( xcor-of turtle h + x )
( y8 p0 f( N7 T/ }( y           (ycor-of turtle h + y ) ! G& G. l8 I4 A2 |# w
                          2 w$ s9 }7 m3 w0 P- b7 N
                          0 h/ }7 \* ~. t$ I+ i, ]
                          ]
( \. ^- b$ o  X* G! \: send
: G) L  t$ s6 Y- X+ O) v
# s8 S, r9 t0 g& S7 c& r/ b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,& S; y8 ~  Q7 D9 U# h& d4 g  T: l# U; C
应该是
( q, k1 L. y9 D8 c: j% m4 K6 rask turtles [, k- ^0 D+ X) w9 `! z( |2 @
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 b  r! G/ y/ c  E9 B9 {( ]. m
                          set y  Dep / 2   G  N4 m& F( e1 H: C) Y0 k9 b
           set b  int (who / 5) * 5- S7 |" v# T# d
    setxy ( xcor-of turtle b + x )% L% f' g6 `' }" Q9 v
          ( ycor-of turtle b + y )]]* E( D: J5 A8 @8 ?
end
( L% j) o. [1 o9 G之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-3 04:29 , Processed in 0.020079 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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