设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8416|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。/ c, Y! S3 K# c' e
. B3 T9 l4 }9 j6 v& }* X# X
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- l7 ]% ^5 @" s/ X* {4 |: Z, W) u# b
turtles-own [a b c d k f g h
$ k. m, w5 Q- u; U6 T  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 9 y, ^4 {+ ]+ b2 }9 p0 Q# }( @) I
]  s$ v1 |5 G3 T" l: }# x
to new
; c6 g9 `) S9 G$ I7 Y. t  ca9 `, V. h. {0 y; O  t9 j
  crt 5 * num_of_building: e5 |: o+ u) B& n3 K# k9 ^
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 ]4 J4 v4 H- G8 N* D: \- @
  scatter     ;;keep center-turtle random positions
' H  P- s' B. C0 K6 J1 W/ [  unit_plan   ;;make up the building plan
4 B* b7 I8 b2 N5 Q$ d; Fend, F/ E0 e5 n) j. B/ h. o
to scatter
  w# i9 s  [+ aask turtles with [remainder who 5 = 0]: a7 N$ }0 a6 a  P; a$ O$ u
[5 a9 R1 X% c+ H  @9 _, X
set xcor xcor - 6 + random-float 15) u+ e! s! ^3 n1 B
set ycor ycor - 6 + random-float 15
! v! D1 ^* O: _" l' X+ l# R2 _]6 ~+ o7 b3 c4 z0 J7 ^4 B3 y$ @8 p1 T) w6 I
end
: ^( L' H1 p; s" D2 X4 hto unit_plan - D$ J% [( i4 D  M- y
ask turtles [
+ d5 |8 j, }8 q5 D4 gif (remainder who 5 = 1) [set a who 3 A! i. @, k, X9 \: ]
                          set x ( 0 - Wid / 2 )
! H# [0 a* E+ M6 y                          set y  Dep / 2 ]
: Q2 j$ ^% ]' G           set b  int (a / 5) * 52 g0 F! d0 W; {0 i
    setxy ( xcor-of turtle b + x )
# x8 ^' `/ Q; ~+ E& p; c7 L6 l9 p1 m          ( ycor-of turtle b + y )
- c% f0 R. _( T6 s8 |8 N& ?0 z4 pif (remainder who 5 = 2) [set c who5 T4 Z% x, `) j9 x1 e
                          set x ( 0 - Wid / 2 ) " {* e* {& {  e# u2 y
                          set y (0 - Dep / 2 )  ]
& L, X. w2 l' z/ ^$ W9 r% L                          set d int (c / 5) * 5
* X& S0 G+ l7 a( ^0 S, w- j: E   setxy   ( xcor-of turtle d + x )8 z4 E/ M* K4 |9 W
           (ycor-of turtle d + y )
' f$ f; \3 `% g' z# t6 Z! A         
$ @; G! z, u6 y6 a5 }( g            * J1 _! k" `; A' e& k% Q+ J8 P
if (remainder who 5 = 3) [set k who
8 n# `0 A* Z7 \  S$ [* ]                          set x( Wid / 2)  
9 M9 @* [3 g6 k% ?$ }3 [                          set y (0 - Dep / 2 ) ]' \4 z+ J# H' E" }- j2 y* p
                          set f int (k / 5) * 5
# ^$ p6 X/ ?" Y0 Y) e  setxy   ( xcor-of turtle f + x )
: z6 V( L& ^  W' ~( Z7 ?/ [           (ycor-of turtle f + y )
5 K% ]* R5 a+ d: p           
0 L% H& E/ ~. e& K/ Y             Y" N% O6 Y) {' @0 z" E
if (remainder who 5 = 4) [set g who
8 p! M- L8 H$ [* b                          set x Wid / 2
  }& {- t4 ]6 |) [0 H4 r9 `7 A                          set y  Dep / 2 ]1 b1 n; O! A! j0 p" J' f5 S
                          set h  int (g / 5) * 5
+ R: E4 ~1 s2 s- u  setxy   ( xcor-of turtle h + x )6 U- d7 k1 g0 _3 H
           (ycor-of turtle h + y ) : I5 \# Z0 _) @: m4 T: n+ K4 Z
                          
/ v$ B) P5 B* m% D$ F; {' H                          - w. ]6 }. E9 _# c8 q/ d
                          ]
- O, u( r8 q2 K. |- h7 f' Jend$ `2 C% F# U; ?0 Q, z
; W1 @9 _" K" Z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
* M( Q: |: ~! T  P- M应该是- q, f( i- {( X' u7 h
ask turtles [
7 e3 H- H4 B8 T' t! ^if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
% X8 z: C' y) t/ D+ M- U( k, N                          set y  Dep / 2
$ g& P8 D+ j6 n( H           set b  int (who / 5) * 5
7 Z! e( r/ z+ u$ \. T3 U    setxy ( xcor-of turtle b + x )% h# X; \# _$ D) r
          ( ycor-of turtle b + y )]]3 L6 h4 Z+ A2 w2 s3 m* ^
end
6 n! x4 T* ]$ i) J之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-23 20:42 , Processed in 0.017716 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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