设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8755|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. ?) s7 E( s+ }1 T
# K# T  x) {; A+ z7 M, _但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
2 a7 I6 s+ \! _# m
) p& Y$ R0 L$ U* U5 Z6 @turtles-own [a b c d k f g h
3 W7 M. b; R6 y8 d  ?  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # u/ E: b8 x. }6 \9 e: q- U
]  q- d) t0 D1 P4 c2 t
to new4 o2 B4 G: Q8 s5 b9 K" s( v
  ca
+ F( [% B! {/ S5 l( h" s; B, f1 W  crt 5 * num_of_building
. p! A2 F% a" W% K  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; a. i8 K. s( Z$ `& W6 ?  scatter     ;;keep center-turtle random positions
% @/ ^9 A+ H, y) ?" O" d3 A% m  unit_plan   ;;make up the building plan! j3 [( C! I2 ~5 N' p# p
end
4 p0 |, g' A' D! Q+ eto scatter! k: ^7 |! z+ K. ^. J! ^
ask turtles with [remainder who 5 = 0]: ]. Z0 L* Q: |/ G/ Y+ {
[" E% u) ]! B. u) _
set xcor xcor - 6 + random-float 15( i2 X; n2 O4 v$ Q0 l6 l  V
set ycor ycor - 6 + random-float 15
) Q% H6 O( x  u1 d4 R]& u' ^0 Z, d' }2 z4 }4 H
end
/ J* q; r- z6 a( q: g6 rto unit_plan
8 N2 |8 A) u( w8 R& Hask turtles [+ z/ q# B% i; H' H. x/ o7 Q( ?
if (remainder who 5 = 1) [set a who
# ]: o! `8 h0 F0 @" T                          set x ( 0 - Wid / 2 ) ( s; ^1 J. T" r0 l6 S  L8 l
                          set y  Dep / 2 ]
5 ^) E& j+ [6 }0 C8 n* {           set b  int (a / 5) * 5
8 y" f! b$ A# s: H    setxy ( xcor-of turtle b + x )4 C: @8 @+ ~2 d
          ( ycor-of turtle b + y )- y* X) o% p/ E1 ~* V
if (remainder who 5 = 2) [set c who2 M6 @  m4 N: K+ v# g0 U
                          set x ( 0 - Wid / 2 )
/ g# L, X" T4 m3 |; ?2 d6 d                          set y (0 - Dep / 2 )  ]5 L! ?- [1 c7 m4 T- A' C
                          set d int (c / 5) * 5$ n/ l7 R6 \8 Z" ?& \
   setxy   ( xcor-of turtle d + x )% V! \" ~: p9 g3 ^6 d7 h
           (ycor-of turtle d + y )
* V% ]5 Y. @& I' [% i" j         
$ r! h6 H7 L* t. {" J            % j& u" q, X; w6 y, m
if (remainder who 5 = 3) [set k who
- t9 I  y2 d+ B: T. m                          set x( Wid / 2)  
. p, o: g, h) P                          set y (0 - Dep / 2 ) ]2 Z* F# v0 c4 N
                          set f int (k / 5) * 5* N$ X; F% h; [2 l
  setxy   ( xcor-of turtle f + x )3 L9 N7 d1 N) T/ i/ h
           (ycor-of turtle f + y ) , {) ^0 M! W4 T1 n4 @3 X" N
           , |  x$ x2 s; E- c) ?  E2 T. j
           
& B: s* z- t% k# m" U' A9 Qif (remainder who 5 = 4) [set g who# s0 T4 ^1 `- v( s+ Y
                          set x Wid / 2 + ^+ c$ k# N; T$ \; f, s4 w
                          set y  Dep / 2 ]8 v8 ]$ w1 c' l
                          set h  int (g / 5) * 5. t4 a$ Y4 K9 D4 m+ Y
  setxy   ( xcor-of turtle h + x ). v% z% A8 P- h7 o8 p7 W
           (ycor-of turtle h + y )
5 x9 X7 x  h1 ]! c8 b# e                          ; \1 s* }% L4 e
                          
9 s9 }6 ?- L7 R6 v! Z+ X                          ]0 ?4 |: W: A& h, g8 k) v2 ]& p
end3 ?0 I4 g! V" a, f+ v

8 ?8 E4 d6 c% x( L[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 Z& r7 P% r: F+ L( I9 I! R) r$ w
应该是
% ]2 G) U' `; ?3 x5 i: A1 B" bask turtles [+ Q, U4 z; m/ i2 o, y' A5 s
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
9 r4 ?6 ]# F9 s; O                          set y  Dep / 2 5 O# c( f+ ?  Q5 O% r" b! |+ _
           set b  int (who / 5) * 51 P" \/ R) ~( o' x+ G, v
    setxy ( xcor-of turtle b + x ). ?' J! S/ ]3 @- e
          ( ycor-of turtle b + y )]]
& t: a" }6 i3 f+ C; Z2 dend
8 h1 [0 o7 I7 `. c/ i之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-1 06:36 , Processed in 0.017630 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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