设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6851|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。/ h- e% X: _' T2 L: }

/ L/ n2 y/ B' d. m9 n但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' ^9 A5 l: W8 N* ?+ l  P8 A) A& S

% \, ]  E6 p8 `  a) S6 F- l( Rturtles-own [a b c d k f g h7 o1 Q) G" l3 q  o3 i0 @" s
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% u- \3 _4 M" @2 W: H& F/ i]9 l) E$ _# Y$ x$ Z0 n
to new4 J) ~: u# K1 F- L; {+ Z' `
  ca# n. w2 ^/ `' r: n" t
  crt 5 * num_of_building
) f1 u: d+ I  E: Z  J) r) C  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
! e' u5 o5 ]4 ]$ t' F/ w  scatter     ;;keep center-turtle random positions
9 C2 G7 @; `7 U& f7 U/ m  unit_plan   ;;make up the building plan( z9 v+ g' d: k! i+ v+ N$ M. r
end
" @- C# m+ S' Q8 i! ?to scatter! ^) o- {7 c  x; h. c3 |0 q8 o% M
ask turtles with [remainder who 5 = 0]
& O+ U4 j3 E; }0 f  j# a[1 ]! f# w5 X' W4 r' y' h% N, ~+ a
set xcor xcor - 6 + random-float 15; {7 X; M5 \, w+ q. `' R1 o! a
set ycor ycor - 6 + random-float 15
$ Q2 ~. I$ |7 L/ @]/ B# C: |8 c! J
end
5 C6 S( j4 r) D' |to unit_plan
! s& j/ w# @5 S9 lask turtles [
% R, e+ P- Z) Q& x4 d  nif (remainder who 5 = 1) [set a who
8 }1 I% G# c: D5 H                          set x ( 0 - Wid / 2 ) ! r: E  o+ ^+ f- ^7 x. z
                          set y  Dep / 2 ]
7 X$ s" N5 z' {8 V. g+ V9 L           set b  int (a / 5) * 5
  C4 m7 b2 K0 L& V3 H* N. E    setxy ( xcor-of turtle b + x )
7 J9 J: H; x4 F, \1 o          ( ycor-of turtle b + y ). w. I8 m+ }! L! e% P
if (remainder who 5 = 2) [set c who( q! d) b: {2 @' r1 s+ a
                          set x ( 0 - Wid / 2 ) 1 U' |. e# c1 F. @
                          set y (0 - Dep / 2 )  ]
6 u' U4 p, J7 v& `# E  B. c                          set d int (c / 5) * 5/ |' d2 b& Z2 u) a* a1 ?
   setxy   ( xcor-of turtle d + x )
3 \, G& |- E5 w2 G0 T, {           (ycor-of turtle d + y ) 8 I8 F( H$ v$ p1 k6 M0 s+ x
         
6 `3 D0 s1 r2 ]4 E, \9 g9 F. A$ u            2 s3 }% e& Q4 c9 p. U' _
if (remainder who 5 = 3) [set k who
1 @- K. T0 u' i! p, Z4 y: ?                          set x( Wid / 2)  2 d% O% f; O7 E# W/ K" C
                          set y (0 - Dep / 2 ) ]
6 |3 i' q! ^1 ~8 s* b7 s                          set f int (k / 5) * 5
0 i# {' W1 J' I8 o- w; z  setxy   ( xcor-of turtle f + x )
% A" u5 h0 `2 E& [( |           (ycor-of turtle f + y ) # B/ @; y' ~5 E& P; D- D
           0 [% \, Y$ F& b- }
           # ?, ~0 Z2 @' i; u( \4 T8 K. d
if (remainder who 5 = 4) [set g who" J4 y! H7 z' R) _
                          set x Wid / 2
2 [2 K4 k2 M0 l& x                          set y  Dep / 2 ]
0 w% h- t' Z$ w+ I/ E( t6 X" L                          set h  int (g / 5) * 5
/ P0 ]3 b3 D; `; r5 w; W1 n  setxy   ( xcor-of turtle h + x )
: \" L- R  d% G- M1 p6 g* E           (ycor-of turtle h + y )
. t; d1 p: }( ~; e5 }  f) r/ l                          
. {) X2 `; h" h) ]9 p9 F2 K9 r, G                          
* p% y) M& F" ^  l2 L                          ]
% l- ]6 M+ [5 q4 g, @end" ?9 t6 F% f1 s) I) O
; u0 c$ z2 B8 z6 j* h1 |0 R
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
; F4 m7 G% |! T' S) X- }" \应该是% x! k8 q: j4 Q8 ~1 V7 q
ask turtles [
1 i5 P9 z& w3 b# e2 k7 I& q. G% Dif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . I3 ^6 i7 |+ d+ k0 o- [* C" v1 d
                          set y  Dep / 2 8 }+ q: e" V' {  h# E7 S: P
           set b  int (who / 5) * 5
- Z/ Y. c! e2 E7 ?    setxy ( xcor-of turtle b + x )8 T' i/ ^: p! C  e
          ( ycor-of turtle b + y )]]
* U5 j7 n( Y& \( w. hend# [- Q- h/ W5 N4 W2 I& V0 L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-29 22:00 , Processed in 0.017387 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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