设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7191|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 ^1 K) j, R5 R8 O3 v

" E/ E; \: z/ o, g但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 T  L$ L: L* v& K/ A. T
( J- l4 b# a) b5 Cturtles-own [a b c d k f g h
1 v, G1 y# w* f  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * k  ^" v' G; o4 E3 S7 f: E7 `2 K
]! K: E$ Q* u2 r8 f: ?! i' G; g
to new2 ~! W9 r0 j  a" ^7 g
  ca- |6 Z) }8 ^- b$ M/ q+ h6 ~! [
  crt 5 * num_of_building: K) j( H) e# A1 w7 C1 |
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
* C. I* t5 B( p* a  scatter     ;;keep center-turtle random positions " K) `6 d! K& [6 O  A" N
  unit_plan   ;;make up the building plan2 f) u/ m' M3 ^1 q( b6 ]4 |
end! t* N8 Z, F2 v2 f' D: ?
to scatter
+ \' C0 |& ^1 v' Z; ~! l! o, B2 iask turtles with [remainder who 5 = 0]8 x. t6 j" ^; Y+ q; r2 t4 w2 C
[
# v# t! k/ h; Yset xcor xcor - 6 + random-float 15# L/ F! Z  s) k% H8 ^3 H* O% ?
set ycor ycor - 6 + random-float 159 c$ c8 O# I0 a4 J% X. `
]
3 p: g. n+ D. q9 k/ Z' yend7 i. Y% k6 B4 D
to unit_plan 2 H9 e1 h% ]9 V1 _
ask turtles [( [. a6 Y0 q1 M( h# Y
if (remainder who 5 = 1) [set a who
1 ]2 h& A- z' t- I                          set x ( 0 - Wid / 2 ) ) W% n( y* d: F3 f3 \1 I
                          set y  Dep / 2 ]
' K* L3 K- t, C           set b  int (a / 5) * 5* g8 N) v# m' h
    setxy ( xcor-of turtle b + x )& N- ]2 O7 M% v
          ( ycor-of turtle b + y )
+ `, F. S. J3 Pif (remainder who 5 = 2) [set c who
8 ]  d* G# B% H9 z                          set x ( 0 - Wid / 2 ) & V: l' K5 x% j* D7 D# l. ?5 m
                          set y (0 - Dep / 2 )  ]4 c, \! M+ m9 t# k5 n
                          set d int (c / 5) * 5% m9 R: N5 j0 ]) H
   setxy   ( xcor-of turtle d + x )# f4 g7 g, U3 A$ f2 Y$ O; ~
           (ycor-of turtle d + y )
+ T( B5 Y5 L3 ^1 C          5 m. ?! L4 L' i( T5 H, [  R
            
! k0 Q4 _: L8 z- I4 uif (remainder who 5 = 3) [set k who
' z) t% ~4 Y8 I- {, K9 ?+ s1 l                          set x( Wid / 2)  
" X# K& h9 O; ^                          set y (0 - Dep / 2 ) ]" Y9 a: t& B! k% s7 x1 K$ V/ U  S
                          set f int (k / 5) * 5; a  z9 j! I" ~1 D+ V
  setxy   ( xcor-of turtle f + x )
# ?# [" }' c8 P           (ycor-of turtle f + y )
& B0 q% e+ \. m( b0 q( N           ! E: A4 y' R- p: z6 v! `! C. X: ]
           
2 F6 z% a: m: j& mif (remainder who 5 = 4) [set g who
5 E- Y' V! t) o$ y                          set x Wid / 2
  q0 C: a4 ?' y) r. p5 m5 s8 S                          set y  Dep / 2 ]
/ o* j. X- e5 [6 L) Z3 }: Z                          set h  int (g / 5) * 5
; h: [; r- ^$ ^; Z$ Q$ F' U' X  setxy   ( xcor-of turtle h + x )
6 X% j+ x9 @$ V' n0 t; J9 v! M: V           (ycor-of turtle h + y )
$ A; o( |3 o+ ]# i% r. y                          
" j- R2 y2 B5 w3 U8 D                          
; l2 x, ^" a) O+ P9 a/ X                          ]3 |8 V0 e5 l0 Z3 O" M
end6 n% t- c# A% c
, A9 U- e7 ?6 ?; r  A
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 M9 w# ~) G3 V. x3 K应该是+ ?1 K  R4 Q+ @7 c& `
ask turtles [
3 ?* p$ B  H9 s$ k  J5 Hif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
. H8 b# ^8 a( Y. Q. g' x                          set y  Dep / 2 # H" ^7 U! J$ H! H0 E2 j# P
           set b  int (who / 5) * 5' Q( J$ ~% F9 {8 N1 y( ]6 S7 R
    setxy ( xcor-of turtle b + x )5 ^2 c  _9 `/ i8 t0 L( Q) I- @
          ( ycor-of turtle b + y )]]
( \% C9 @2 _" w+ T: B/ Q2 k, d6 oend
( e8 v8 n' F. p& U8 K9 y/ i之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-14 22:20 , Processed in 0.016495 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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