设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8290|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 ^# D% a, c) |4 T" J' @
# x( B3 f1 A$ O7 W9 {7 O
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" H7 |3 L& a: y3 {2 `$ J0 U0 ?: z9 D1 e: p
turtles-own [a b c d k f g h
% a, e4 p: ]' K7 }$ D  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * P2 B% N4 I* T* D' \9 E
]. W. V8 K9 q, l2 u
to new
8 g2 k" n1 [9 _" p  ca0 o5 D4 |5 F+ A
  crt 5 * num_of_building
0 M1 a9 ?$ r, f4 i  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' Z8 D$ l# N/ V( T( ^( j
  scatter     ;;keep center-turtle random positions
+ _% d7 F9 K2 Z  unit_plan   ;;make up the building plan
3 h7 H# E- L/ _end
( l% Q! [/ O& V( N" sto scatter% O) n2 M9 i; @2 f8 W8 }: z/ J: N
ask turtles with [remainder who 5 = 0]1 `6 i2 s3 c4 t! ~4 {9 U/ O- v
[3 Q( }; k% K' ?  D' ~  j+ B: L
set xcor xcor - 6 + random-float 15% f9 o+ V2 U6 _, o6 Y9 K
set ycor ycor - 6 + random-float 15. o  J; _& [7 n( g; q
]
! ^0 c! e! B3 U' h6 C( n  O& I5 cend* g8 N9 ?+ y7 M# }$ @
to unit_plan
1 @8 U! F; E! @1 d6 s+ ]- R$ _ask turtles [0 z+ K- F7 n! M
if (remainder who 5 = 1) [set a who ; D- A% l; [( V9 E- ^8 V
                          set x ( 0 - Wid / 2 )
! x- M: P8 w2 H( a2 r: T  q                          set y  Dep / 2 ]% l0 m$ }6 K. o4 |5 s
           set b  int (a / 5) * 5
4 t$ h1 O6 p* ]2 e+ F3 f, ]  k/ z    setxy ( xcor-of turtle b + x )
1 m, Q2 c  u# O8 _4 h0 L+ d4 z3 V          ( ycor-of turtle b + y )1 o, }" s$ Q* K
if (remainder who 5 = 2) [set c who3 _0 l' D% a9 l6 ?1 A
                          set x ( 0 - Wid / 2 )
0 Q& m. l2 L; F                          set y (0 - Dep / 2 )  ]: ]2 C0 F- ]# f1 f+ g9 X
                          set d int (c / 5) * 5- K% q$ j* e# H
   setxy   ( xcor-of turtle d + x )
/ f' w3 e& ~& l5 g2 `" }3 [3 V& O( ^4 ^           (ycor-of turtle d + y ) 6 U7 s* @: B0 v' h1 ~7 A
         
4 M: }9 {. F+ B0 v' q3 |: o            
1 m. @. H* I! @5 {- ]if (remainder who 5 = 3) [set k who
4 X5 c/ p" T! f1 \                          set x( Wid / 2)  
2 K+ ]% T" v/ u. k4 ]                          set y (0 - Dep / 2 ) ]
! S% U4 M: h( ?" b3 K                          set f int (k / 5) * 54 D' f( [3 [$ h7 C
  setxy   ( xcor-of turtle f + x )
: m0 D  v) p/ u5 s: i; i' N           (ycor-of turtle f + y )
3 y7 h; g# \/ M           
6 _& r% t2 q& U+ C  n/ G           5 g7 z8 B  Z, P3 W( O
if (remainder who 5 = 4) [set g who* ]* j% [- r) g/ Q: E
                          set x Wid / 2 ( Z! j  d( `+ e% N1 G  i, R$ s3 Q
                          set y  Dep / 2 ]
' m3 \4 ?5 Q+ s( q2 `5 L, U                          set h  int (g / 5) * 5
) r4 y; J! D* g  t2 y: o  setxy   ( xcor-of turtle h + x )0 a( v  O6 P% R" e' ?
           (ycor-of turtle h + y ) * Y$ B* R/ L. C. f1 j# s
                          
) a  E) d: [5 F; J                          2 c; r$ V1 v* T2 A! @7 @. k. Q
                          ]
" [, c1 R& r6 B5 |, H5 H8 m$ `3 `end
4 J' B* `1 V4 ~$ |1 C* j0 ~% ]. g9 j: ^7 f
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,9 t, ?; z' r& R3 T
应该是& [2 q" n; \0 C- C/ R2 E! W8 f
ask turtles [
/ @. G4 z6 c7 w8 \if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 A+ X- C* c. @. T9 r6 c) ^
                          set y  Dep / 2
! h5 E% k8 S( U/ b% |7 Z           set b  int (who / 5) * 5
- G* a, f2 j8 M. G/ ~- ~    setxy ( xcor-of turtle b + x )7 O& Z; X' f2 e/ y" G" L& O
          ( ycor-of turtle b + y )]]
4 {4 E3 K1 O5 D1 |$ O5 Wend
& Q9 V" C) U1 R5 L; {7 n之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-1 04:00 , Processed in 0.023569 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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