设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9085|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。/ w$ v" h8 [8 D  C& A3 d
+ n$ k5 _" q) M0 c; |4 V- D% t
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ b! H; b1 f" f

8 f% o3 y2 e' H3 Xturtles-own [a b c d k f g h
4 Q( c# k% L' K/ a  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 \' I( Y7 [3 ^7 V: O# A  [+ _]
6 Q  |$ W: A0 F6 W: e% lto new2 ]. M) D. h* @3 L% h
  ca
& Y! G" n- W& R( q  crt 5 * num_of_building
2 i8 i3 m2 o, n! c  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) T! k3 S2 w3 ]# n0 q
  scatter     ;;keep center-turtle random positions
1 m& m& w# G; v2 q: d: t  unit_plan   ;;make up the building plan, @8 m' g+ l1 Q# T8 @
end
5 n. {3 a1 J  q; Tto scatter
' P- a. k$ Y- u' z* ]* Zask turtles with [remainder who 5 = 0]
% `' r0 O7 s2 U$ t[( j. S. j3 c0 i& u- p8 Z0 f: b/ h* |
set xcor xcor - 6 + random-float 15. b4 |2 S7 ~, `: Y5 B. ~  c+ ]+ C
set ycor ycor - 6 + random-float 153 D) D' }: ?8 R6 k
]
* H3 u9 s+ |. B" s* V) f. p1 ?% [end
* I0 v" J5 g/ Z; J; V. Ato unit_plan 1 ~9 M% U2 ~. p( a. Y9 O
ask turtles [
+ ?# f: x; Y- X, I- ^: Sif (remainder who 5 = 1) [set a who   C9 ^6 m2 A# z* w+ J6 M
                          set x ( 0 - Wid / 2 )
% d6 T5 v: I) A/ v$ p' v( S                          set y  Dep / 2 ]
8 p4 u( n- Z1 i5 ^3 G           set b  int (a / 5) * 5) H4 i  e! |% v! v1 R' M/ h
    setxy ( xcor-of turtle b + x )
9 R& q8 Y. m0 j          ( ycor-of turtle b + y )) W( V. U0 L( y8 ~5 L
if (remainder who 5 = 2) [set c who7 d) j- `$ s/ q( S+ p
                          set x ( 0 - Wid / 2 )
; P1 J5 s+ p0 }$ ~, q* J                          set y (0 - Dep / 2 )  ]
: |0 n1 G/ o: p' l" u                          set d int (c / 5) * 51 ^2 U, A! ~- b/ V. D( r- `
   setxy   ( xcor-of turtle d + x )
7 c3 K: M3 A2 f1 s           (ycor-of turtle d + y )
# `$ |: W8 G& \. ^* Y! o          ( P. y- L* _- T+ }) u4 m
            0 E& z( a" D; v6 O5 m
if (remainder who 5 = 3) [set k who
2 j& h6 T3 F, ~+ ^" w9 O$ a" }                          set x( Wid / 2)  
9 \  ~2 T9 n" u8 S6 P                          set y (0 - Dep / 2 ) ]& L+ X0 ?2 ~& C) d
                          set f int (k / 5) * 5* t7 v* ^0 J2 h' M
  setxy   ( xcor-of turtle f + x )% Y5 H5 g/ {7 \$ ]3 M
           (ycor-of turtle f + y ) ! R: V7 d6 X* n' \4 l! ]
           ( {* C) D0 H% s4 E, v2 ]+ v4 Q
           2 _$ a  k/ Y$ N; j0 {, n
if (remainder who 5 = 4) [set g who
) t0 V  K- |$ A                          set x Wid / 2   b: \; x5 N7 F- F# }$ I
                          set y  Dep / 2 ]
/ C0 \* p5 B) L7 L                          set h  int (g / 5) * 5
/ i# P1 X3 j6 N0 T4 \  setxy   ( xcor-of turtle h + x )
: K' x; f+ I5 [5 p& {- c% m2 p           (ycor-of turtle h + y )
+ V; X8 F& ~) H$ p                          
; K/ @+ C2 k; g! z1 e                          
/ h; U8 f2 v6 F                          ]
' Q& a* }; u+ s; r; bend. l7 z9 S/ s2 g* H$ ], a
# O% X  |( G# p; C7 j  J
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," o+ i' s  `8 _* f2 q- Q0 W( W
应该是
5 h5 D: h" z; L7 A& q& O# zask turtles [9 U% u) S8 s% {  j) {" q
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   k4 {/ f$ z3 [+ {" i7 F9 X
                          set y  Dep / 2 5 [, U! u/ ~+ k! K& \* e/ V! ?8 t
           set b  int (who / 5) * 5$ M; J! L: R. V+ v* A% z
    setxy ( xcor-of turtle b + x )/ k5 J  U! L2 {; y2 W3 p
          ( ycor-of turtle b + y )]]% W+ d) d/ d3 H& ^# c& g6 f1 L7 e
end
5 s; b' \+ u8 q1 ?: s: S之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-15 16:02 , Processed in 0.015095 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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