设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8654|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! `1 `! b+ A5 q  b$ r4 V
: |& ?# r, S0 v; v  d2 W( O& h但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; k; a" C* U2 _8 n0 H. `
4 `2 Y4 b5 N- M
turtles-own [a b c d k f g h
9 m8 g3 @/ q8 E" J  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* N" M- Q8 X2 e( a' w' p  F]7 o3 ^+ f: O: f+ s; A7 S& q( g3 k
to new
) D% q8 d, n' o- [7 w8 T, I  e  ca8 l5 \! V8 ]5 F8 f6 |( p- X
  crt 5 * num_of_building
* u, E7 W# x9 }' J' T$ P/ e4 d8 S  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ F, |6 ^: m' }. Z, o% y
  scatter     ;;keep center-turtle random positions / e4 `: ]# s& w% g
  unit_plan   ;;make up the building plan+ x9 f- a2 S, |# _4 p7 f
end
! \1 j" c- S% `( ?" xto scatter
) i! Z, J% P3 a  {6 V- gask turtles with [remainder who 5 = 0]. B- D# _; z4 Y! v
[8 ^6 t1 c7 M+ x7 X8 g
set xcor xcor - 6 + random-float 15( R. \! l1 s0 k1 [$ H8 A
set ycor ycor - 6 + random-float 15
8 }7 n& ?& d8 h9 z" r]' L4 c3 W4 u) X8 R9 J
end
) i# G' X8 h6 Q8 i/ b6 X2 V; D! vto unit_plan
  i( W8 j6 v2 D$ Nask turtles [; D6 `6 O! y$ F: v' ^7 A5 \  O  }
if (remainder who 5 = 1) [set a who
* R; u9 O/ k  V' m: W9 q                          set x ( 0 - Wid / 2 )
7 ^( j, e7 \0 g: v                          set y  Dep / 2 ]
) _: [8 y4 y4 ^3 T# e; _4 ?8 B           set b  int (a / 5) * 59 y; s4 l( M9 c2 g- {9 G5 E
    setxy ( xcor-of turtle b + x )
* ~3 q. n* G, Y          ( ycor-of turtle b + y )
+ S/ |9 X+ H& y( w; e. e" hif (remainder who 5 = 2) [set c who; p- }, |2 k# A$ l( ]
                          set x ( 0 - Wid / 2 )   F1 Z1 C5 R$ J. u+ z; h
                          set y (0 - Dep / 2 )  ]
4 |0 L; K) S7 v8 X1 }! x$ M8 ~                          set d int (c / 5) * 50 e3 G+ f' j2 ?6 X' j" g' C8 z
   setxy   ( xcor-of turtle d + x )
2 T% _( @2 `9 S           (ycor-of turtle d + y )
) h& _3 P) V3 p7 W8 P" m         
2 S6 e% l3 V/ y) _            
) V. R9 R* p% e+ o. Jif (remainder who 5 = 3) [set k who
9 t/ r9 d, C0 k* O: _                          set x( Wid / 2)  
& O5 i/ c3 Q2 i! M                          set y (0 - Dep / 2 ) ]
3 t9 u1 f5 T8 V* d9 R                          set f int (k / 5) * 5! O, O$ y1 @, Y$ @
  setxy   ( xcor-of turtle f + x )" d8 P6 C; R4 r* U
           (ycor-of turtle f + y )
4 D! ^% p3 U; c5 I+ p% P* v8 J           
: n7 R- t, O" y; F, R$ c+ E           
; o; D, g( h) S; {) K: ^. Y) wif (remainder who 5 = 4) [set g who! u% E! M4 o# w  q' y  {3 Q
                          set x Wid / 2
3 A/ ]! |; k( O2 \                          set y  Dep / 2 ]
& {/ K# N: o+ s, e# g" }# W3 n0 h                          set h  int (g / 5) * 5& u2 E) W( P; E2 r" ~; E) M5 Y
  setxy   ( xcor-of turtle h + x )! I% V! }2 R% X0 r6 E# U: t
           (ycor-of turtle h + y ) 7 Z/ G4 T0 y) d9 R7 v
                          ; z, }7 ]& a$ q1 j7 I% C" X
                          0 Y+ g' q" f; h8 d1 W. H! I
                          ]$ r4 Y+ X6 M; J, p9 N" E
end' G: e* j) Y- t. k# {( _2 t# R- ?

# X# H4 a% H' h( M+ i: m[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# f. R8 p& \5 P: `( `* v
应该是2 W2 ^1 K, G2 K- \$ {
ask turtles [
- H) Y/ x. x" k! K6 H1 kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' G% f2 o8 f1 t5 ~+ s                          set y  Dep / 2 3 P3 o! G( F% p% Z
           set b  int (who / 5) * 5; T# q. p( `, D# z3 U5 M  I
    setxy ( xcor-of turtle b + x )  z/ m3 z8 F5 U' ^5 n$ y3 I
          ( ycor-of turtle b + y )]]. p% @# c4 \1 t' {* y' v
end) v' f0 ~( ^+ C1 Z9 R  O7 ?
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-20 14:49 , Processed in 0.021685 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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