设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8173|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。- O+ c! D2 y9 Z0 Q$ \$ H* a' C
- r+ N* m4 Y9 J/ A) A$ v
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' m& L3 W! A( C# ]+ X: M8 J- p

/ y- e6 Z3 y& C. i  @) W# R& }2 rturtles-own [a b c d k f g h
6 |; w6 Z2 y/ R, }& s  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& |" s( U# m, z]
/ p* m. h) e1 w  D9 mto new# B" @& ?! o/ g' k
  ca
- e, `$ V+ Z! G8 e& p0 ~  crt 5 * num_of_building! Z# P! N3 b4 U, ~6 \
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
0 ~# c2 o7 R1 C7 u  scatter     ;;keep center-turtle random positions
# ?2 g$ S: O3 b% [( y! a4 A  unit_plan   ;;make up the building plan
4 K( |, s0 _9 b" c2 E7 R; ^0 X, \end
: y: h8 G5 ]$ g0 v8 f  x1 i% kto scatter* m4 `3 L+ D: U4 @
ask turtles with [remainder who 5 = 0]
# o) U' W! ^- Q' y+ g3 a[
$ m5 ?( j  U- h& J* t+ cset xcor xcor - 6 + random-float 15) F/ v# k, ^# N4 v( |, A7 O% D
set ycor ycor - 6 + random-float 15$ [8 X# q( ?8 n" x: B
], E5 U6 x# R' Z% n% U  E
end
. a/ d* ^$ v- P& dto unit_plan
) ]) I$ U5 ?3 J- M6 @  |# Nask turtles [) E' t' a6 v( R& l
if (remainder who 5 = 1) [set a who & F0 A( j1 F* Q
                          set x ( 0 - Wid / 2 ) # W( b) J7 v/ {- P) I
                          set y  Dep / 2 ]7 D5 A* m% e( a: q. P% `5 i4 O" l
           set b  int (a / 5) * 5* l/ M/ E4 z, ~1 w" e. Z0 n
    setxy ( xcor-of turtle b + x )/ Y. N4 }  S  n0 o4 g- I0 I
          ( ycor-of turtle b + y )8 Z/ @$ N$ R0 X2 ~6 N* F
if (remainder who 5 = 2) [set c who; l1 Y  h0 R2 w5 B" Z8 W
                          set x ( 0 - Wid / 2 ) 8 l3 ^0 F$ }+ i/ t, K9 ?4 M1 |
                          set y (0 - Dep / 2 )  ]
* p, A, E5 m" Y# M2 f! q1 |                          set d int (c / 5) * 5, B, }, e3 s7 h- I
   setxy   ( xcor-of turtle d + x )0 Q2 ~, A+ l, G2 T9 z0 X% v
           (ycor-of turtle d + y )
3 x" f8 e- u$ d' r         
" }0 {" F* E, `  Y6 \- r            
9 b6 ]7 v: O9 [if (remainder who 5 = 3) [set k who. O' K! a7 K  J& R
                          set x( Wid / 2)  
; Y* I- g) p8 b% l  h                          set y (0 - Dep / 2 ) ]/ W* y5 B9 E: [. A% U2 t: v3 `
                          set f int (k / 5) * 53 B, u" s; g& |) m
  setxy   ( xcor-of turtle f + x ), h% D+ y+ p0 t. _$ r
           (ycor-of turtle f + y ) 5 K: O% {' M( I& _) ]0 n
           
3 Z* Q) M2 N! n* F% z1 h3 V( ]           
$ W8 h) c6 M7 N* D! c1 aif (remainder who 5 = 4) [set g who5 V( Q/ P3 N! G% @! D
                          set x Wid / 2
# t3 \4 c& `. R& b                          set y  Dep / 2 ]
0 ?% ^, t9 t' x2 c3 \( ^% w                          set h  int (g / 5) * 56 c. d  z  H/ ]9 O
  setxy   ( xcor-of turtle h + x )
* x! Y+ L$ S: N           (ycor-of turtle h + y )
- B# z% h% e, w1 H, S                          # \' D" ?- v# }2 \; ^$ u* \
                          
7 m: |3 Z& U- r# l                          ]; W- Y( `+ x# y& D1 S) l
end4 X% F3 s( v+ l- m

# E# q4 F) k& p; K% p$ `0 M* P% a[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,( c- _. T7 [* @, R
应该是) i; R* \& [* `( d
ask turtles [( y  j# O0 F, h) H2 M
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 y. ^3 c4 W, ^4 q" S1 H                          set y  Dep / 2
/ s! N8 z# ]2 e2 Q           set b  int (who / 5) * 5
: R4 k- J7 B! E1 O6 m    setxy ( xcor-of turtle b + x )
1 E, N2 V9 I8 [$ e# a; F( P1 V& b          ( ycor-of turtle b + y )]]1 I! a) X8 h0 q$ L& d% h$ ]' F
end) y. y1 J+ n/ x# E; {, F
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-14 16:06 , Processed in 0.016885 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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