设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7544|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( G( y8 x( p& U% h/ e+ X
. f0 n5 f% R4 j6 x* K& ~
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。( i/ ]  p+ l  y) O5 g+ g& N: I
5 C1 ]+ ~  R3 q% t8 F3 D% [
turtles-own [a b c d k f g h6 A/ ^- ]* p; ?
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 g8 U! j6 G3 r$ b]
0 y8 R0 c$ ^: I7 Z8 xto new
, ]" @: ?) {" V  ca
2 ]$ L$ }. {  S0 O. V/ i  crt 5 * num_of_building# _  g3 W# D$ p* G
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ x  K* e. C: ~. ^' h4 y
  scatter     ;;keep center-turtle random positions
; T( {5 j; ^! d0 W2 f2 @# k  unit_plan   ;;make up the building plan4 ^3 _4 ^& M9 [8 H) d0 y0 r
end
# l9 ?3 t( O. h; S1 Rto scatter
" j6 P) b/ l0 W9 S+ s7 H/ J5 Y* @! b3 Jask turtles with [remainder who 5 = 0]) C  t0 j6 M; Q
[
% b$ E( \9 z! A% f9 m) Uset xcor xcor - 6 + random-float 15
. [3 m% o' K: h  Y! ^5 Nset ycor ycor - 6 + random-float 15  K& r5 u" w. k! O% [7 Q
]
/ R7 r3 \. Z2 Z+ Y  M9 Rend
; T2 a$ x, n' I) P# w7 f  wto unit_plan # @$ d8 K2 F) p+ |# K+ D/ h9 N
ask turtles [0 {; I! A+ }$ U0 _  `
if (remainder who 5 = 1) [set a who
3 K8 w/ B- e2 w& `                          set x ( 0 - Wid / 2 ) 2 D: p1 U( H! {9 N9 b
                          set y  Dep / 2 ]
3 Z6 F# t' S8 t           set b  int (a / 5) * 5% c2 H8 G% m" j4 E
    setxy ( xcor-of turtle b + x )& f9 e3 Z8 P0 [
          ( ycor-of turtle b + y )
2 M4 f7 N7 H$ \7 Q- z2 U% T* Oif (remainder who 5 = 2) [set c who
* c5 N6 E% j. v* E( D                          set x ( 0 - Wid / 2 )
; ~' B. I4 X( }5 i  z                          set y (0 - Dep / 2 )  ]
; J, o' g+ M' k# G' ]3 q                          set d int (c / 5) * 56 S  @3 U) W! X0 L7 T; u$ d. k
   setxy   ( xcor-of turtle d + x )0 R; U. g0 n3 S8 f; p
           (ycor-of turtle d + y ) " ~7 ^6 i& N2 [: f
          5 _: S& ^0 @8 J4 F
            6 c# f: E% a8 j" _# s
if (remainder who 5 = 3) [set k who+ i  E- s( x  x9 \
                          set x( Wid / 2)  
7 S4 `$ W. w# v0 N1 C+ J# S                          set y (0 - Dep / 2 ) ]
/ a+ S+ N6 r8 a# C" H, |                          set f int (k / 5) * 5
: R# u: b2 m9 \! v  setxy   ( xcor-of turtle f + x )
7 u0 y( r* H' R$ l( O# v. K           (ycor-of turtle f + y )
2 Z; L# a7 C7 Q7 ~% a9 M           
8 K9 a: F! I8 M) C8 T, a           . E: c$ M- o0 E- R, M
if (remainder who 5 = 4) [set g who
9 k# @' Q$ @& T  H# ]0 e                          set x Wid / 2 - }8 @. S; x" c* s- d7 Q% G; |
                          set y  Dep / 2 ]5 w6 n" K; G9 H# J- Y9 |* y3 g- T
                          set h  int (g / 5) * 5
; Z) j; L3 n2 i$ Y0 j8 P  setxy   ( xcor-of turtle h + x )
6 M. i: @- I& c1 S' M( Q           (ycor-of turtle h + y )
' u" ]! `3 Z) F, d2 L& S3 l+ g4 q                          
; F+ ]3 v- j1 G) o" Q2 i5 K; b; @                          
% N1 @7 b+ q$ V! Z  r/ t9 K5 @4 }                          ]
+ T1 \+ w( E. Lend
/ L2 b, g: X6 F( j& N  N6 H1 R2 N
/ m/ v1 h2 h/ ?& Q  n[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 b$ ?% Z' h. O- L. P
应该是
% o9 H+ f6 u7 R/ j8 \% {0 P% p4 cask turtles [2 E+ i! @1 i5 s0 t/ H
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
9 o8 ?8 W) X7 ^3 Q: y( Y4 C, |6 c2 p5 u                          set y  Dep / 2
" b9 [( M5 |" |$ |. k           set b  int (who / 5) * 5
$ _+ r: a9 G1 N$ ^' h' H+ e" e    setxy ( xcor-of turtle b + x )
  Y: O* x, e7 W$ C. C          ( ycor-of turtle b + y )]]. C" y- s+ R1 l; X9 p& @5 G/ Z
end
! T0 \3 f/ y! R# v/ w/ {之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-24 18:21 , Processed in 0.016941 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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