设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6758|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 @; t3 ]7 q1 O- J! f, X
  _: x3 m7 a" P0 \
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。& |5 o2 {9 ]: e( Z. M
4 c6 ~0 c+ [0 M! k( o& d
turtles-own [a b c d k f g h: {- w. c! z% f9 H, {
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& }, S# N: _# r: P+ V+ ~4 a]
2 Q# Q- R4 w& {* `to new
+ r7 U6 g0 u2 A3 I  ca& `" i9 ~) X; O/ K  S
  crt 5 * num_of_building
2 G0 @9 k! v1 t* S  h  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]: P( l0 V+ O1 K  V
  scatter     ;;keep center-turtle random positions
6 A% X/ N  \- M, S* W: z  unit_plan   ;;make up the building plan# f; I; z/ J5 L4 l% f- V
end  n; z$ Z7 m9 c5 P6 Q
to scatter) S0 W; Z2 p- P
ask turtles with [remainder who 5 = 0]
, t. X% V. T9 ]  i1 S. W[0 M2 C8 }; ?- A! Z. G$ A( I5 @
set xcor xcor - 6 + random-float 159 A8 z6 P3 g9 R8 A3 h( |% q; P
set ycor ycor - 6 + random-float 15; k" O& z0 A% K2 t
]
- B0 ^3 D  A, o: ~' m; z6 w" T  Rend: S6 }4 G9 R6 D- Q2 d: V
to unit_plan , h7 k8 e1 n* e" |& ~, G& e% H
ask turtles [; s* A! c# ?$ D5 ~
if (remainder who 5 = 1) [set a who
! ^+ D9 d* }, P6 ^                          set x ( 0 - Wid / 2 )
( U9 ^2 c; U* L7 B4 l5 H  L                          set y  Dep / 2 ]) ~. i" c' F% W, B3 ]3 D: {
           set b  int (a / 5) * 5* g: f' g! n" s' Q( L% i5 |$ B
    setxy ( xcor-of turtle b + x )' n9 J" c: `. z& h
          ( ycor-of turtle b + y )
: I/ r) q% [' k4 K. u* _& Vif (remainder who 5 = 2) [set c who% A7 V6 r+ w( g2 e! `
                          set x ( 0 - Wid / 2 )
0 q2 c3 W: q' Q' _. [                          set y (0 - Dep / 2 )  ]. l! I* r5 t: v* R7 K
                          set d int (c / 5) * 5; [& X* x3 `" P; S5 e( v
   setxy   ( xcor-of turtle d + x )
! e5 v) C$ m$ t& P" \. ?& r6 t- J* T+ z           (ycor-of turtle d + y ) & r1 ?! F' I# l: B2 J4 |
          ( L4 o9 t+ G# k6 s
            
5 E; f' K, p0 E% Mif (remainder who 5 = 3) [set k who9 l# [. I/ q3 g
                          set x( Wid / 2)  
; N7 Q/ v8 A' L                          set y (0 - Dep / 2 ) ]# v* z8 v- r/ j' _0 L
                          set f int (k / 5) * 5
& _# a. Z/ S* Z$ ]* D  setxy   ( xcor-of turtle f + x ); H: @4 }1 k; ?; _7 W- R4 \! E: B
           (ycor-of turtle f + y ) : {% i; N* T! o5 S+ Q3 J, o
           2 C9 p& B+ J; n8 s4 _4 U
           
! {0 X# p" f" R7 K+ r* D+ Rif (remainder who 5 = 4) [set g who
' u. i( V: f( l2 u                          set x Wid / 2
: t4 F! S# B5 u8 P% j! t3 [# b1 h* I                          set y  Dep / 2 ]) k6 W' i6 ^9 U: S' B' y
                          set h  int (g / 5) * 5% h. l  t7 t4 Q, V
  setxy   ( xcor-of turtle h + x )
: y% m  \$ ?% h; `' j           (ycor-of turtle h + y )
+ }1 f2 ^' z! E1 v/ e                          
5 @5 q- f- z4 r, H4 ^+ x                          2 M3 z+ _/ f7 N( [- R$ O
                          ]
! ]/ p- e( {1 y( }4 |: A% Oend- T  A1 F8 T7 G9 V1 ?

2 J6 q' k# z' X( o" s0 a- }[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
3 m! R( G# D" o# @应该是
! X' k& \) K; p& {) Z" y( P0 Oask turtles [
4 b& z, ?# |2 V% f5 {  dif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: t; O3 F$ @$ f5 ^                          set y  Dep / 2
1 N3 f9 g6 W* U           set b  int (who / 5) * 53 y5 ]% ]; |: d3 |9 S
    setxy ( xcor-of turtle b + x )+ c  w/ C# K5 |+ p( Y! R
          ( ycor-of turtle b + y )]]
+ o0 `& r9 I7 Y1 Mend9 V- m8 o$ M' \/ l9 \9 Y
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-21 11:53 , Processed in 0.016777 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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