设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7299|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。5 l: I/ T6 H8 z( i& _# u9 }

/ C2 ~9 g- ~/ e' {$ X4 R( k- [9 h但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。% u* _! s8 F/ O: o3 _' [0 H7 n

+ T& R3 C& g/ s! D6 Sturtles-own [a b c d k f g h
9 f# v, q' x2 z/ J( q; d  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 B" Z9 O: H; r; r, v]
# G+ v, G" V4 h, v0 F! P3 e6 nto new: S: ^3 L. I) w2 d. m( K
  ca
0 l, V! s: Y7 c* m) I9 u  crt 5 * num_of_building
! D1 A6 I& ~- F- C  o' |  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 \4 t* l8 B3 j! O* L' e
  scatter     ;;keep center-turtle random positions
0 c# Y3 ~  Y  v1 D1 Y6 |6 T! l  unit_plan   ;;make up the building plan
7 E. T5 s( Z% \$ L! T! w7 v9 yend/ |+ e( J; ]- c) @, l
to scatter
  b+ J6 G, l' s, ]. }ask turtles with [remainder who 5 = 0]  L* p( O- X. G$ }$ J! u1 ^
[; ^. F. L% I. t1 ?5 O9 Z; K
set xcor xcor - 6 + random-float 15/ J& U% N) O, L) _/ P
set ycor ycor - 6 + random-float 15
. _3 q' B. [' m3 v]
/ t- S" [7 z2 u9 Pend
% L1 S+ Z( W& p" l4 }to unit_plan
( V0 r1 E* G( s0 U6 e1 N8 J# Yask turtles [: o$ ~1 \6 p: {& @* d" l/ k4 c$ o
if (remainder who 5 = 1) [set a who
0 f; }( o+ C1 E3 J" J/ ?$ P# t                          set x ( 0 - Wid / 2 ) ) x9 x& ]' i) ]" L: V
                          set y  Dep / 2 ]
, p4 ]& X) T% E: `3 q, L$ n           set b  int (a / 5) * 5- F( w; s: u, G% L
    setxy ( xcor-of turtle b + x )% O2 Z8 A( V, y  f
          ( ycor-of turtle b + y )  O1 H# M6 H- o: k
if (remainder who 5 = 2) [set c who8 z  n$ A% P1 M/ U" E
                          set x ( 0 - Wid / 2 )
4 ~& s7 V1 Z/ \; \; h1 M, @9 E                          set y (0 - Dep / 2 )  ], D+ g0 A7 T* e0 b. c: s0 Z
                          set d int (c / 5) * 5
1 \% r% R# a; @2 I1 A- k   setxy   ( xcor-of turtle d + x )
# R' V( _( ]4 i$ J' s- W           (ycor-of turtle d + y )
, h" g8 Z, V6 E9 b- p$ x          % n3 k- G6 d9 Q
            
9 h6 C8 Q% m7 b9 w" aif (remainder who 5 = 3) [set k who
% i) a+ f, L/ `/ q, {5 u" o; h                          set x( Wid / 2)  3 U' u" r$ r& f4 a
                          set y (0 - Dep / 2 ) ]+ n4 j6 n1 [/ `+ Y
                          set f int (k / 5) * 5
# W2 W5 D8 G6 a  setxy   ( xcor-of turtle f + x )
: d5 y) v; L' @8 I. r3 q, j           (ycor-of turtle f + y )
3 }0 Z% B' C' `1 ~% {* V           
* ^2 K$ Q% {5 ~$ @           
" d  v  f1 p; u2 {  pif (remainder who 5 = 4) [set g who* z5 h# [2 C) Q# W5 B4 {2 J
                          set x Wid / 2
% Z/ {( A* e8 F. v                          set y  Dep / 2 ]
1 C  X# K) w- W                          set h  int (g / 5) * 5
6 c- e3 S6 [$ D( n" h; g* s4 s+ A$ ^' y* c  setxy   ( xcor-of turtle h + x )
* J6 z' W9 y6 z% L           (ycor-of turtle h + y ) , w  Q5 X5 V9 W$ B" W) Z
                          + \) J7 I9 h( N6 x, t! q2 B
                          ' Q, C4 |; e) d4 H* O0 h' h
                          ]
" y2 t4 Y- J2 t/ d& W4 c, Oend& d# S! \" b7 [, l, g
4 e7 Q7 x3 A  v2 q  M
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 x% Z$ O! h1 O应该是
3 h& E" Y7 _% Sask turtles [
; ~& p$ O- m) m9 J& y+ ]if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ; R0 k2 p/ E  o
                          set y  Dep / 2
5 O$ R1 u+ r6 B" ?5 ^. O           set b  int (who / 5) * 5
( C* |" f# e: ^5 N2 ]& G6 y    setxy ( xcor-of turtle b + x )- y( j# }) a3 E& N
          ( ycor-of turtle b + y )]]
, l* R9 u  S' T( n1 l- vend
7 }! f+ k5 N8 k  o2 r# e) n* _之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-27 14:05 , Processed in 0.022342 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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