设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8619|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。/ ?, _) Q4 A' A  Y$ V
! w: ^' `6 {& f& ^+ M
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
4 ]. I8 }! Q; d
+ B2 h1 t3 F$ a5 G7 ]' H) rturtles-own [a b c d k f g h
/ {6 w5 Y) y- y8 Q0 k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% L" ^' K1 S' Y- A]
( |% B4 z5 q" x7 Z) Zto new
9 O" e2 |5 \0 F8 q+ D/ K$ l7 A: p  ca4 ^. z( g2 a4 I6 `& m
  crt 5 * num_of_building( N' q7 a) c0 B7 s# M5 T: r
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; y: u; V0 p: E  n
  scatter     ;;keep center-turtle random positions
, t5 a0 ~" o) Z8 l- j' M3 C  unit_plan   ;;make up the building plan$ n. K+ n2 f) X& B# G
end
- J9 U4 t' A  ^! c6 pto scatter) {6 m! A; F$ ^7 [2 ]( u/ B+ |
ask turtles with [remainder who 5 = 0]7 r7 u6 {8 T! {2 W- r
[, T$ y2 ^1 s  Y8 I$ o
set xcor xcor - 6 + random-float 15/ D" f- C* R: }( z
set ycor ycor - 6 + random-float 15
6 A9 F9 v" j8 A- n4 @]
# D8 l+ V! t+ y5 d5 }end
% i. S! x6 q4 y. y. R8 }! M: x# hto unit_plan - I& u" j& {& m! O$ B5 J" Z
ask turtles [
4 f8 R0 G  e7 _$ hif (remainder who 5 = 1) [set a who 2 R3 N$ x! l; r2 `! [
                          set x ( 0 - Wid / 2 )
7 o) I  h( U4 \                          set y  Dep / 2 ]& y* {  q" _/ f- O7 K& D
           set b  int (a / 5) * 5* z8 D* z" Y8 m1 }
    setxy ( xcor-of turtle b + x )' h& f- S, B1 m3 e7 i9 |+ l
          ( ycor-of turtle b + y )
, J! t$ S' {8 s' B# P% ?if (remainder who 5 = 2) [set c who' y8 V7 h: o; M$ F( S2 G9 Q) F: X
                          set x ( 0 - Wid / 2 ) 0 ?% u% g. w; b2 t
                          set y (0 - Dep / 2 )  ]  Z- d9 t  A) J- [
                          set d int (c / 5) * 5
7 ?9 y6 y( [! i/ x: {6 R   setxy   ( xcor-of turtle d + x )
  N3 U7 d& K' m: j0 s0 n6 a           (ycor-of turtle d + y ) - Q0 ], i3 {8 i* [% K1 ]; f/ _9 Q
          ; X0 s' D& Q5 D0 b/ q
            # p5 ]& y- P0 v) B* `
if (remainder who 5 = 3) [set k who6 w. _# E6 u  a, A+ _
                          set x( Wid / 2)  
3 s% F( ~. S8 y5 J                          set y (0 - Dep / 2 ) ]3 P5 U& Y' P& i2 D
                          set f int (k / 5) * 5: W" E% c% W" l4 W5 c9 O& m
  setxy   ( xcor-of turtle f + x )7 ^( h& C/ f; E
           (ycor-of turtle f + y )
# u& d! }# X, ?           
, ?" V& u; U& k8 L* R1 ~: X0 J4 c           
/ H6 P8 C8 C) V0 Bif (remainder who 5 = 4) [set g who* g5 l. R1 T" J! c) r
                          set x Wid / 2 0 o( I, o5 P; c5 A7 n
                          set y  Dep / 2 ]
6 l; _$ m( S( r# c2 F; R# g                          set h  int (g / 5) * 5* r/ `) A% L+ n. H
  setxy   ( xcor-of turtle h + x )
) T9 C7 O9 S/ e- f% a           (ycor-of turtle h + y )
+ t: V# R6 i/ {                          
  _1 n0 [' a' Z# Z) W                          
! V/ Q+ f3 ^: N9 ]" O                          ]5 D( f' B# K% m. w5 ?0 l7 ?; y
end
1 I' o, ~0 |6 P; u+ j. y
" h: ?2 T- I; h[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# a" Z$ c% F) k  N* c4 J0 N
应该是  ^* y! M* E" ^/ Z
ask turtles [
- f6 B6 R) W3 l4 J. oif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * T# \; H* O. A0 s
                          set y  Dep / 2
5 v' o) `/ h8 o           set b  int (who / 5) * 5
" \7 F( W7 Q$ g; F$ O1 y    setxy ( xcor-of turtle b + x )1 g6 q1 S( A6 e- n3 a, s1 r% q* L3 j
          ( ycor-of turtle b + y )]]
! S, i" V- b9 U' Zend" X" d! o( d, v' h: J  ]' C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-17 14:12 , Processed in 0.017497 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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