设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5928|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
, j: `+ p) I# F1 [/ D* Z  i( G
  ~! T( T; D0 i; A, ?1 Y. ?+ O8 q但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。. ^% K3 [* L7 c* A( E) h/ Y/ s# i
& B- K  D7 X" {+ z: h
turtles-own [a b c d k f g h4 [  d3 g! j1 p, l" Y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * K2 B- P7 N; E; f  Y: G
]8 p: E# @. Q0 I' K# N4 y' K5 V
to new
2 o3 r; _  ]( `6 v, W# ^! Y  ca. Z; J: e1 @/ S* o7 E$ S
  crt 5 * num_of_building
& Y: V, F0 \, l+ W9 e  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, Q9 m+ V9 J$ H4 o9 x, X  scatter     ;;keep center-turtle random positions
! x1 B6 h3 A  ~) K  P5 K1 Q  unit_plan   ;;make up the building plan2 ?# }! S/ q7 n4 R' J" i% Z
end
! v5 F! b0 s& T/ N  `! X9 d' ito scatter
& Y) s% l1 L/ U5 K& W) ]. wask turtles with [remainder who 5 = 0]
6 ~: D+ t  Z/ _% i2 T3 }! H[% f5 B+ z' k. @- z. i
set xcor xcor - 6 + random-float 15
; N1 c3 ~: }1 K2 o# Mset ycor ycor - 6 + random-float 150 b+ d0 B$ X& }  _2 b1 L9 C' O
]
" z4 t& d! ~+ c- k! x7 Lend1 f. e9 x# s$ J  l0 ]
to unit_plan
# D5 \  \! i/ w" i  G  _0 i- n$ ^ask turtles [$ S: N" N- w1 Z/ N& t
if (remainder who 5 = 1) [set a who
: {! e7 }# F8 t. o                          set x ( 0 - Wid / 2 ) 5 w$ y" [( y! s8 I; E8 I
                          set y  Dep / 2 ], y* m& _7 j1 z2 j
           set b  int (a / 5) * 5; G. _: q+ a0 }( y4 C- S7 x! _1 r: v3 K' V
    setxy ( xcor-of turtle b + x )* i9 x1 o6 y: S* T! [
          ( ycor-of turtle b + y )
, Q. B- R$ t5 w) l, s/ i$ ?6 \! \. N* g7 ?if (remainder who 5 = 2) [set c who( l! H) a. V* T. Y9 M5 ~. ]! g
                          set x ( 0 - Wid / 2 )
+ s6 k; f# O4 S% b+ V                          set y (0 - Dep / 2 )  ]2 j; _- {" G: `3 X0 X6 }$ ~
                          set d int (c / 5) * 50 f; Q& h8 g0 e* \1 Z& T
   setxy   ( xcor-of turtle d + x ); l" e* \7 p. ~0 y
           (ycor-of turtle d + y )
) y9 o; ~/ r! O, v! k# F          6 L  C( x- v" h3 Q$ g5 ^3 `/ t8 O
            
. P8 u3 T& @( i$ e$ z$ xif (remainder who 5 = 3) [set k who! n5 O8 M2 I! T1 J; P9 k! k- Q
                          set x( Wid / 2)  
$ a& @7 E8 e& a' u9 c+ o/ v/ t; S                          set y (0 - Dep / 2 ) ]
: Z- N4 R- ~: j8 O# q  w; ~                          set f int (k / 5) * 5- [( h5 i. W& [6 I# E7 @4 p% p
  setxy   ( xcor-of turtle f + x )
( J- O1 l) ?+ `$ k, g3 x           (ycor-of turtle f + y )
/ C( h; D& L! w1 e           . f  w5 m0 _1 G8 l) c
           
( g( L8 R  s& e- k1 J9 u) Sif (remainder who 5 = 4) [set g who; _# `, L7 c6 K1 D3 D
                          set x Wid / 2 3 o$ f& a( A( }
                          set y  Dep / 2 ]
2 F6 b% c4 s( Z8 X% v4 c                          set h  int (g / 5) * 5
2 N( y8 s- w  a, ?. `& _: ?  setxy   ( xcor-of turtle h + x ); V( g7 l" S; _, `! }
           (ycor-of turtle h + y )
, j  C: M  b. J  h3 v                          2 K8 B8 V: `9 t+ M  R
                          
8 @' ^" D4 r" S' o5 c                          ]
* Q+ J) H5 l6 V; y5 Q  i/ r* c$ M! a8 ^end. }) C" }% D' W) J

# n. Y: z# @' [1 T5 J[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
( k: O2 K! h7 u& p) Y应该是
3 s0 s: c; r5 p% m$ jask turtles [
1 }$ W0 b9 }* q, o% {( ~if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # N* [/ T0 v6 X( Z, j9 v2 A
                          set y  Dep / 2 : K* S* ]; C9 k1 c4 o) B/ `) l' P
           set b  int (who / 5) * 5
* o' \) `2 i# ?. Z    setxy ( xcor-of turtle b + x )
7 B( N* Z  _# ?2 r( [, Y          ( ycor-of turtle b + y )]]
" b& y1 t9 b1 [9 ~# i$ Mend; a- W6 v$ m; b4 I& D
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-6 14:20 , Processed in 0.015099 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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