设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7317|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。3 W& L, f: v0 e& `, G( L

8 m2 {/ p: @5 w8 M$ M% e4 r9 w但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* B& [1 B$ z) R7 P* u# `6 ?* X. g+ f/ h0 t7 c, Q0 M
turtles-own [a b c d k f g h) t- D/ b& |1 _9 e' G# F5 D6 H5 \
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
4 f, x6 m6 m9 [- x4 r# m; R]8 T; }4 b$ O+ R! c. ?: d
to new
( T1 _2 ]. M. R9 h' z0 P" T+ k  ca
+ _, W2 k& ?; ^5 `4 p/ s3 h: l3 k  crt 5 * num_of_building, R$ k2 |9 P0 D' c" v
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 T9 u. `) a; y  scatter     ;;keep center-turtle random positions ; D9 D2 M  \3 Q: b8 W1 ]# Y
  unit_plan   ;;make up the building plan
8 x1 S; _# _( B' W  E, cend
/ Z2 u9 W9 ]) U9 e. z# cto scatter. q7 N" e: p. t  P) g" Q
ask turtles with [remainder who 5 = 0]% p, Y$ q: q! Z' c
[
1 S/ w7 ^8 ]& G# ^set xcor xcor - 6 + random-float 151 [& R8 K0 W: j& {5 c; d
set ycor ycor - 6 + random-float 15
7 z. d; t9 G5 r8 W* g  []- }; j7 B) f  s1 ^% P% `2 s3 c0 g* O
end, v; L  F7 ?; f2 ]3 E: M2 b
to unit_plan 5 [9 l+ H) ?3 j% b
ask turtles [
7 b& h6 S( Y" l, h3 O5 C% Nif (remainder who 5 = 1) [set a who # J# m8 ?, P6 Y4 K
                          set x ( 0 - Wid / 2 )
' L& M& [8 f2 [/ m5 R4 P                          set y  Dep / 2 ]
% |6 ~: {( P8 g- T1 b           set b  int (a / 5) * 51 q* T  Y  {4 l" x
    setxy ( xcor-of turtle b + x )4 s; T" G- v. z; G; V
          ( ycor-of turtle b + y )
; g# k" Z) q6 Y' Rif (remainder who 5 = 2) [set c who
" O( o8 l! T( `) A& u* |' H                          set x ( 0 - Wid / 2 )
5 r& M2 l+ b) \' S  J$ a                          set y (0 - Dep / 2 )  ], o0 J: }- |3 Z6 m8 a" B$ T
                          set d int (c / 5) * 5' ?* _# U1 U/ O1 i% `$ F
   setxy   ( xcor-of turtle d + x )
' A% C# l' H, @8 F% [3 t1 h5 G           (ycor-of turtle d + y )
; r1 x, C  c8 f- H9 X6 l          8 [; v: h+ s* ^
            
% c# _7 z9 M' Q& kif (remainder who 5 = 3) [set k who2 D" d' K9 G! g4 \6 S; O4 n
                          set x( Wid / 2)  
: U8 O& V; e' @1 B7 h2 V7 I& n& b                          set y (0 - Dep / 2 ) ]! m) s& N  ?- K9 r) n0 O
                          set f int (k / 5) * 55 W" r  H5 y1 i% g; L5 j/ y
  setxy   ( xcor-of turtle f + x )
: S, x7 d6 y1 l; h! j8 x           (ycor-of turtle f + y )
7 W4 t+ `4 S  |! e& ~' @           * J( _$ Y5 {) E' N" F' f
           ) F# ]* F! l3 k9 {0 V, L
if (remainder who 5 = 4) [set g who: H. {3 [1 K, c: G) Z% S
                          set x Wid / 2
/ i7 f6 K6 l5 c: J2 e( ^! V                          set y  Dep / 2 ]
! f9 A; h: |- @' {                          set h  int (g / 5) * 5
3 r; I% \& s* {7 f. V  setxy   ( xcor-of turtle h + x )
$ I- i; {' S( K           (ycor-of turtle h + y )
0 _2 X6 X8 P0 f                          
- s# s, I8 v- M+ h% M                          
' S0 e8 s1 ], N8 R" E# H" }  U                          ]
0 s/ }1 u# O3 ~( Gend8 W0 `6 e3 a7 Y/ I8 k

+ A3 c1 M; \; V. I[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,0 y  H# ^/ Z9 R7 u- u
应该是5 ]+ P$ @$ s: H, U8 M
ask turtles [
# E' {3 A6 D" }) f2 E# t! U+ y/ A. Rif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! V# M7 e9 C2 j9 e
                          set y  Dep / 2 1 P! _7 p* V6 f
           set b  int (who / 5) * 5
- q! J" i$ Y. z1 j( b* f    setxy ( xcor-of turtle b + x )
, {6 X2 [0 G! Z" H' v          ( ycor-of turtle b + y )]]
6 |5 D8 t9 [( L: Xend
+ M2 _) G0 K5 s9 S之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-28 19:44 , Processed in 0.015390 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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