设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7405|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. \- {: N5 g6 P6 g3 E; P1 C* B6 Z6 [' x5 F8 l* H6 n
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ E2 M1 c/ ?  m& @) D. g6 f: {! y, X3 R, E& R+ I! h6 C/ \6 j
turtles-own [a b c d k f g h
6 `  U  G' T+ N4 T, R9 N" O  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
2 v$ o8 N  m9 U) E& w$ h4 z9 r8 D5 Y]" q" R# N+ @* X
to new
: q8 e# k; [, b; W' l+ H, m  ca
0 g0 J" l7 i* S  crt 5 * num_of_building6 X1 C& v0 `. H7 D8 T
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, H+ d0 ~2 O3 I# C  scatter     ;;keep center-turtle random positions " h* w0 d; ^- p& D$ ~8 T+ Q1 D6 ?" O
  unit_plan   ;;make up the building plan. C# H1 O0 M% n3 Q/ I/ q5 W  d3 ?7 p
end2 M9 {4 w6 E  g# `/ D/ n0 x3 P; c0 `
to scatter
( P7 G7 F5 A, ~9 F7 Q$ e# E$ ^ask turtles with [remainder who 5 = 0]8 k0 m' m! i" m. t( G8 j, Q& ^
[( d2 a2 d3 {, Y$ l$ u" U/ S
set xcor xcor - 6 + random-float 15
) e# J$ j' m3 I: o- X. j+ vset ycor ycor - 6 + random-float 15
$ D, Y- Y# N! Y, F" e# T: A]
& z& Z8 p4 j6 T  i" P' M4 F5 zend
' H1 F2 R5 K/ R3 R$ Rto unit_plan
+ p3 ?/ X! [4 k1 cask turtles [
5 f, e5 _2 j( |& R) [& ]# z5 Hif (remainder who 5 = 1) [set a who
# T! S/ ?4 B/ \# e9 y& C, R                          set x ( 0 - Wid / 2 )
! S; w, ^5 R, y% R                          set y  Dep / 2 ]8 d+ A% j5 u+ i& p3 i2 \
           set b  int (a / 5) * 5
9 A% Z  {8 \/ t3 @$ U6 G    setxy ( xcor-of turtle b + x )
. _: |& w* i+ i) z( b- S8 ^          ( ycor-of turtle b + y )
. T6 a* ^$ O% `) m/ {* d% d) yif (remainder who 5 = 2) [set c who
1 P9 b5 {% @- z9 H                          set x ( 0 - Wid / 2 )
5 I8 t3 m7 h2 L$ p7 Q, l                          set y (0 - Dep / 2 )  ]
% H. p4 D6 w4 U2 E* u! a7 d                          set d int (c / 5) * 5
% [' q# S9 k0 w   setxy   ( xcor-of turtle d + x )( B  n" h0 D5 f) u2 v1 C( g. ^* ]
           (ycor-of turtle d + y )
2 A3 z" z+ ~; ~  E$ J          ; X" W- w* X+ Y, {
            8 r! ?9 B9 m8 J3 F4 V
if (remainder who 5 = 3) [set k who) b8 h+ u( x2 @5 J8 p! |  |: Y
                          set x( Wid / 2)  " [8 l9 \7 a/ f- x* p
                          set y (0 - Dep / 2 ) ]
& `2 w5 e) @8 i, b6 r! s                          set f int (k / 5) * 5& R) [$ `6 R5 q- |) ^4 r
  setxy   ( xcor-of turtle f + x )  @7 T7 w8 N. d( M
           (ycor-of turtle f + y )
) B" E8 E' Q1 S3 `9 ^: _           
$ H; D5 Z. F" \5 W/ c, x) D1 j           3 |+ x9 X. q6 z
if (remainder who 5 = 4) [set g who
" _4 {! `+ d# e! u                          set x Wid / 2 % [7 P. i/ @# _; U5 U
                          set y  Dep / 2 ]) x# b* ]. d; c! f9 B( z/ l% z
                          set h  int (g / 5) * 5
. p/ l7 v+ {: F  setxy   ( xcor-of turtle h + x )' H7 ~: l/ L6 a6 |+ G2 V
           (ycor-of turtle h + y )
# Z& _4 s: X# |7 J2 Q                          & A: L- X/ M% ~
                          
  G1 e: c$ I5 k( q) ?  e                          ]: y% t! @$ O8 E. A9 u$ Q
end: w8 L$ Z( M$ e& |/ T/ @$ m

( j7 m; E' w) D0 o, x# C. D[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 [; X7 l% w2 S$ a* S2 U; Y应该是) [/ f( q6 \1 o7 L( |" A, C
ask turtles [2 o# {, h: w) P( J- [8 P
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
6 ~7 b3 h- b! t% v6 l                          set y  Dep / 2
; B- q$ ^% X7 D           set b  int (who / 5) * 5' A4 g' Z! ?  I! @
    setxy ( xcor-of turtle b + x )
3 m( |, e7 w- e          ( ycor-of turtle b + y )]]* N2 B$ [) C3 N1 K: b4 u
end& f: ?; y  e* E
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-8 14:43 , Processed in 0.024128 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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