设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8828|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 Z' v4 f% _. R7 E1 `. `- [- E; p7 _) `0 t$ V& F
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 q- o/ I6 X9 c. ~2 y7 l1 h# ?
9 P0 J) r) n7 z; B  c# Y" H
turtles-own [a b c d k f g h
6 ]: ^% E5 R) D  ?' T% t* r, Q  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
- H9 q7 _) V& c& o]
9 P; [# N2 X6 g3 mto new7 W; R6 L$ z4 u5 i
  ca
. q) L2 ^9 z, {% L" o  crt 5 * num_of_building
- X/ _3 V' g) J  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], S! I" F: _& _2 t3 B% h
  scatter     ;;keep center-turtle random positions ( ~1 x+ }  |  H2 c8 U
  unit_plan   ;;make up the building plan/ \, [2 R% z' e3 T- t! j' [, Z
end
8 u! u$ v: T: G: s9 @# S; jto scatter5 f: J- D* F8 p0 N) Y0 w. m
ask turtles with [remainder who 5 = 0]
; Y+ O3 T- Q7 I9 p) [[
' A0 x4 j' U" v" wset xcor xcor - 6 + random-float 15
) ^- Z( A+ j2 ?; bset ycor ycor - 6 + random-float 15
- P* ^. |( x. \+ l, K3 |4 V9 ]]. X' W1 V8 p- V
end
; K5 ^6 f0 N' R+ n) W4 cto unit_plan 6 x- N/ w) k2 ~$ K! j
ask turtles [7 K$ V8 v+ O5 f3 M. e: {
if (remainder who 5 = 1) [set a who
. }  P/ T# I: {+ `9 o: H                          set x ( 0 - Wid / 2 )
( }5 c" q6 ^! H- g                          set y  Dep / 2 ]9 D! z; ?7 w. f% Z" _
           set b  int (a / 5) * 5% ]) o) Y) O" A+ Y5 X7 p
    setxy ( xcor-of turtle b + x )$ W5 V" j7 I+ j& h: u- j
          ( ycor-of turtle b + y )7 W7 Y/ t1 v6 {; q
if (remainder who 5 = 2) [set c who, M( L  t, ]6 m7 V
                          set x ( 0 - Wid / 2 )
, W- Y6 _/ y8 B% j* f7 C                          set y (0 - Dep / 2 )  ]
6 H" M9 I4 t5 I& |                          set d int (c / 5) * 5' `5 E4 v- Q7 {  h" g3 [$ A) J1 u- o
   setxy   ( xcor-of turtle d + x )
( m9 p. N, }) a2 d$ D4 P6 p           (ycor-of turtle d + y )
& ^# f- T: y9 r, i$ c         
1 p0 j' r6 K( S' P, e            9 M8 C6 I4 d2 |* w& O# |4 b
if (remainder who 5 = 3) [set k who) A3 {& t+ l& t; _6 x+ Z, b9 N- L
                          set x( Wid / 2)  
* ?& x9 t# Y; n                          set y (0 - Dep / 2 ) ]- A8 f( W: t+ r( d; i2 B
                          set f int (k / 5) * 52 }4 p: ]0 A) j7 T8 C
  setxy   ( xcor-of turtle f + x )
3 }2 E2 h# v2 d% m           (ycor-of turtle f + y )
4 t$ y. ], e9 n( w% i             J8 j+ O# ?0 a* h7 C
           " ]- H% S1 S3 [6 {. }: h
if (remainder who 5 = 4) [set g who
5 L- {0 M8 i' n- p. K. \6 N1 b' m9 X                          set x Wid / 2 ; J+ _- U& ?. [4 R+ _
                          set y  Dep / 2 ]6 z/ {4 Q1 j3 L! W( k9 D
                          set h  int (g / 5) * 5
! }! g2 u; }2 U: M% S  setxy   ( xcor-of turtle h + x )6 j% r% t  N; N2 a
           (ycor-of turtle h + y ) # B  f6 |- |  w. b7 y' y% N4 Y
                          $ V. W- ]1 @  |
                          
$ O4 i& ?* k* ?- C7 A                          ]
4 ?, O% {+ N& Z  K* zend6 a  Q4 N' {2 v& e4 z
: Y7 d* C8 b6 p0 u8 ?3 W
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," |; V3 ?! T7 _% Q3 K/ y& p
应该是2 T' P/ c/ V7 Z) b) q2 i
ask turtles [% f2 w$ _. _' ?5 h: b  [
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 6 }* g6 a; v. b9 g+ R/ J* q- ^
                          set y  Dep / 2
: s% y/ ]; a, s, i3 m4 Y1 B           set b  int (who / 5) * 57 u) L4 @  F$ N2 L' G2 h- q/ _  [
    setxy ( xcor-of turtle b + x )
6 ]( c; P2 Y% D9 S5 J          ( ycor-of turtle b + y )]]
; D& \7 n& Z3 |. j+ S9 P& H; O. T4 @0 dend
9 k+ P/ a7 w+ D: a$ ?; g/ y% k之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-9 05:55 , Processed in 0.019595 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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