设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8333|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。5 h6 r# P: k2 L/ e4 w" i! ^

0 S' ^2 O( ^8 a$ R6 L4 ~3 H# A# a但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ l+ E+ W# g. F" f- v

; D, {; ?  O% f- a' \' R# eturtles-own [a b c d k f g h
# d2 Q0 D3 j, r5 K" m  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 `/ S% b* ]2 I  }# v1 C]& d% D: O& V% e, a8 r/ S/ [( j; Z8 I
to new4 a0 i. K$ q6 n- @& C! p4 w7 P% E
  ca  E* ~: `( H5 R* R& v$ A
  crt 5 * num_of_building
& g& O& E3 X$ W& x  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], k" c: ~# _& Q$ i% y5 g& f2 q
  scatter     ;;keep center-turtle random positions
& J( _4 K! A  X2 y  |  unit_plan   ;;make up the building plan
6 [" Y  n5 E* P/ d, X' x! Aend/ ]7 c/ z  \8 E; r
to scatter4 ~/ t2 D$ R1 T8 y1 J1 b# Z% }
ask turtles with [remainder who 5 = 0]$ ]# U" E; ?" Q1 j3 j5 {
[1 s3 F% }. C* N- x9 V# \9 E; C
set xcor xcor - 6 + random-float 158 f& |* F5 }3 S$ q% s0 X
set ycor ycor - 6 + random-float 15
. _& C/ v' e& A( b$ J" P]  P0 W# U. B9 ?0 F/ ^
end& |/ b# N3 z+ m, @. N
to unit_plan
- K5 N# Y4 r% Eask turtles [) k) x. X5 H' q( Z& ~3 e
if (remainder who 5 = 1) [set a who 7 x& G8 H  d9 ^; O' f- b9 |5 `
                          set x ( 0 - Wid / 2 ) / c* q: \& h; ?) G
                          set y  Dep / 2 ]% `! \! D, f$ B
           set b  int (a / 5) * 58 a5 O2 T* J2 ~6 k3 N
    setxy ( xcor-of turtle b + x )
+ V4 b& }3 y) |          ( ycor-of turtle b + y )
* _' r6 }+ T  T7 D/ Gif (remainder who 5 = 2) [set c who
+ Z. [  b1 z$ Y' r2 J" N0 }+ C- @$ _                          set x ( 0 - Wid / 2 )
3 X! e: |7 v2 w0 _                          set y (0 - Dep / 2 )  ]
5 W  E, A& v8 S# @& N$ |% m) C6 v                          set d int (c / 5) * 51 ?% b; C0 p8 Y( J  C2 w
   setxy   ( xcor-of turtle d + x )# a( w) r; L$ m. U$ Z5 T( X) m* l
           (ycor-of turtle d + y ) 4 ?1 y4 f, S( q4 W
         
3 y/ L6 B6 A6 J! F            
. ~4 g. S9 H! g/ vif (remainder who 5 = 3) [set k who
) j  Q" V5 F/ D' @# j7 |' @                          set x( Wid / 2)  : m% Z% `9 J! F" U1 M' [8 F
                          set y (0 - Dep / 2 ) ]
: H, [& v9 J+ H$ c0 f$ ~                          set f int (k / 5) * 5
8 i# A3 h" K( S  setxy   ( xcor-of turtle f + x )
  v. l' Q* z+ r1 ?% t1 X           (ycor-of turtle f + y ) 4 R* T8 c7 m$ T, s# J
           
7 p8 m; y7 k) m5 v           
) u/ a. \* O! t" Q3 a" K: xif (remainder who 5 = 4) [set g who
: K- X# H) \* ]# g7 T1 d! C                          set x Wid / 2
3 C& F8 s5 l  G& u6 U% b                          set y  Dep / 2 ]
7 I$ e. Z' _( w  F                          set h  int (g / 5) * 5
: u7 o& C& O  C# o/ U6 z  setxy   ( xcor-of turtle h + x )
7 E& [% \; x2 H5 u- i           (ycor-of turtle h + y )
: J# G. H0 {/ X( z7 g) O                          
+ w1 F2 w+ h0 V+ a% }* C                          6 d6 U7 b" E+ c, D: Y% T
                          ]
0 }; n( l. O, S; o) @! wend
. s( A2 _! W' j# f- K! d% T1 u) H
/ u* W& l( z' @* ]1 Y$ b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
: s" P# c$ n/ }% W- i% |应该是
" O" I3 U, U5 @4 K6 O; g+ Dask turtles [
5 x+ O4 s; D( ^' N3 Iif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) , U# @4 j/ Y) b+ X6 i* Q( |9 E$ G
                          set y  Dep / 2 ( {8 h% h. Y: _% {9 N
           set b  int (who / 5) * 5& C! l1 X1 z! Y( |* f
    setxy ( xcor-of turtle b + x )
- v/ ^7 l- Y/ J" f, v+ q          ( ycor-of turtle b + y )]]
8 e2 B: r3 `( p: k% l; wend; k3 y, p: ?9 q) X; H" M
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-9 09:45 , Processed in 0.015739 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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