设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8825|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 K4 M, `$ T9 k  G: e* R4 w
" L6 O' V8 o9 o3 Q1 r2 f
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ T0 M7 E5 r6 N( W- g* Z, g/ z
, D( ]/ Q# z9 A% w+ p$ B# d
turtles-own [a b c d k f g h; J0 T  O2 E+ {9 @+ K$ ]! N
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 A0 ~+ e* E# ~0 T# i% v1 n
]
+ a- b% b# {' j+ ?& F. Uto new
* i. u& `- {$ J2 _& s" U+ I3 h( x  l0 y  ca! u  Y0 v; D. h% k5 |9 X9 w
  crt 5 * num_of_building  T6 A* c. P% U0 G
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 E) E! ]/ a5 F  scatter     ;;keep center-turtle random positions / a4 I9 l, Q3 q' V. ^; u
  unit_plan   ;;make up the building plan
0 D# @0 }; w  e+ a$ G; o  K* H) Send
6 @( ?! q7 r' P3 z( Q! {  Bto scatter
, g: f* v" u: z( {( w8 E& Wask turtles with [remainder who 5 = 0]  d' ^# H* W8 S
[: U9 a( v& q1 k4 d! J
set xcor xcor - 6 + random-float 15
! v3 W" O' _- J/ M# K  I4 i* vset ycor ycor - 6 + random-float 15
$ {) O% X4 I+ ?* k]
. ?1 r* H& i) ?8 `7 send
. [/ o$ f& g, {! O& R- nto unit_plan
" m$ c2 N+ k8 F  ?" C  X$ E" Fask turtles [
3 X% _" R$ ]7 K9 @( a$ r4 M( gif (remainder who 5 = 1) [set a who
' b- H/ B1 a- S. W9 v; U1 b: X' j! y                          set x ( 0 - Wid / 2 ) 9 C7 B: Z% t% ]4 h$ |: s
                          set y  Dep / 2 ]
  F/ g% S, W* k- T' f$ z           set b  int (a / 5) * 5
8 H) s$ x! K) O# l! X$ @    setxy ( xcor-of turtle b + x )
3 V7 _8 }$ ]1 N' d& b; G9 e8 ?          ( ycor-of turtle b + y )
/ |* ]  G- F. t! Vif (remainder who 5 = 2) [set c who
; X, [3 i4 U9 P                          set x ( 0 - Wid / 2 ) 6 R8 b. \/ X- ]6 |
                          set y (0 - Dep / 2 )  ]4 v3 i& ?8 ]1 ^0 J" `+ a+ V
                          set d int (c / 5) * 55 K- m9 G5 q. h; i% K
   setxy   ( xcor-of turtle d + x )
* Y, j' ~/ r, f4 Y6 l           (ycor-of turtle d + y ) % U+ }0 |+ b' W: D+ I
          * i4 X' w/ M  m- L: ^; M% ^
            
! {" i& s3 u  v) mif (remainder who 5 = 3) [set k who
- w* Z) z, p. p3 O$ V                          set x( Wid / 2)  
+ ]9 s2 v% B6 H9 m; @. G3 h                          set y (0 - Dep / 2 ) ]
, q- g$ X  y1 `: Y% t: O                          set f int (k / 5) * 5, S. O; y7 ^/ }% G. m
  setxy   ( xcor-of turtle f + x )
. @1 U/ J( d  B           (ycor-of turtle f + y ) 2 _! Q* g, ?, _3 X: p4 b5 Y' x( s3 ?
           + y* e6 A% g6 H! z0 g. h: d3 P, d
           . s8 b3 A" _1 X/ G5 c8 }8 O* e* X
if (remainder who 5 = 4) [set g who
4 H- u" Q: S/ \' K2 `                          set x Wid / 2 , p/ s3 c8 X- g* ?. S/ _
                          set y  Dep / 2 ]
  u! w/ f4 y, @                          set h  int (g / 5) * 5
5 |0 y( B; \1 Z" o7 z( I) x% |  setxy   ( xcor-of turtle h + x )
0 y8 g' G8 c, O/ J& a           (ycor-of turtle h + y ) + J6 B( ], u* T$ R& b- a8 u$ o1 n
                          
, {' Y* s+ b" b! ~                          
3 c3 [! B7 S1 e( B                          ]0 d+ X$ s9 b- H5 W6 g. t. J
end
& z2 L$ ]$ g; L7 O
' u/ f# e# }, S; p" X+ D7 X[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 Y" E! w' G, D7 ?6 C2 G8 a应该是: V+ h# x  D1 R. t/ d2 L5 x
ask turtles [
6 T' H" V5 F& F8 y6 zif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   z0 L1 m& ?! l1 |* m9 T6 S
                          set y  Dep / 2
5 j3 m$ B* O7 Q* M  E           set b  int (who / 5) * 5
. f5 O* `* ^# B9 U" A    setxy ( xcor-of turtle b + x )
" }5 ?* T9 c( y7 f          ( ycor-of turtle b + y )]]
: F. f$ ~6 q7 {4 x* B8 n' q& V0 R# Oend* z* `. p4 U& L, w
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-8 15:38 , Processed in 0.020992 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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