设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7498|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
  u9 i# F, f# C3 p& p5 v; m, k7 x# s( n
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。3 @1 R* F! Q% ^% L* P2 u

* ], E+ U& C/ f, A* _& @6 B% Lturtles-own [a b c d k f g h
9 ]1 U7 V" K8 J" X) \3 K, y  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ Z4 D/ @' z2 }1 o]
, Z3 A( y6 B& Y/ `4 k+ eto new+ |, P4 \) l: Z$ G
  ca
+ e7 B. D$ h' S) I: O* ~4 L/ l/ Y5 e# j* T  crt 5 * num_of_building
+ |. F5 e+ F, \  g  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
- s6 \" O7 ~4 s8 L  b) W  scatter     ;;keep center-turtle random positions / O8 d+ n- u4 T0 L6 _! c  L
  unit_plan   ;;make up the building plan3 w9 h8 c" S* {! X6 R  A5 C
end
' L9 C& j. k( b. q: g+ B9 Sto scatter" X( Q7 C; r1 B2 M
ask turtles with [remainder who 5 = 0]* q- o9 w9 M' s, x6 ^7 O, _; n
[
! L. _/ k+ C) e$ N! r0 zset xcor xcor - 6 + random-float 15
* M8 L& `8 i, @( Y2 T( Kset ycor ycor - 6 + random-float 15: H  m: r4 f" o& j/ @
]: y- U. w3 m4 y- O/ q
end
- t+ Z! C0 W0 g" u* xto unit_plan 5 S! Z2 d3 b: P  e$ D' Z- Y" F
ask turtles [" N; f. H) V1 X, w2 J3 [
if (remainder who 5 = 1) [set a who
7 F$ N) I4 C2 E. S                          set x ( 0 - Wid / 2 ) . {: _5 ?0 k1 H( c) p% q6 z8 b
                          set y  Dep / 2 ]
$ j5 N9 X0 ]; E8 o  ~% `           set b  int (a / 5) * 5& H- K, X" V( [) ^
    setxy ( xcor-of turtle b + x )
% y* H7 O. M. r, i  y          ( ycor-of turtle b + y )0 Y2 y' Z3 C; V# e
if (remainder who 5 = 2) [set c who
& c/ `$ g+ K) k. U! C                          set x ( 0 - Wid / 2 )
+ s7 k* n  ^) @1 {# p1 x1 S                          set y (0 - Dep / 2 )  ]2 {  i! K! A! D. k3 M  j5 p
                          set d int (c / 5) * 5
1 f0 F9 v) Y6 m& _+ Z/ r   setxy   ( xcor-of turtle d + x ), J( T* N, A) A' `/ c
           (ycor-of turtle d + y ) + j$ M/ g: R, y$ j- U  o1 n; O4 B
          / |2 U  U! B+ ]0 O. l$ x
            $ Y0 I- Z' u# H$ U% a. y4 A( p
if (remainder who 5 = 3) [set k who
+ k; n- l: s' v0 `% P6 L' |                          set x( Wid / 2)  9 p  E9 H" K& ]
                          set y (0 - Dep / 2 ) ]1 k/ P1 Y  X7 I# |6 i% Q+ U
                          set f int (k / 5) * 5* }  R! X- {- q& q
  setxy   ( xcor-of turtle f + x )0 D) o, j1 K& m3 {" s+ c# S
           (ycor-of turtle f + y ) * E5 W: z( e3 D# P/ `
           
$ E4 P7 E" F7 F; K. \           
, R: Z+ s8 E3 J1 qif (remainder who 5 = 4) [set g who/ \. n0 v! e/ D( b4 i- z1 f
                          set x Wid / 2
! A- H/ f  Z7 x6 Q" e5 S/ X; P                          set y  Dep / 2 ]
$ q+ ^" t% F, D5 I* t                          set h  int (g / 5) * 5& |4 y, w. c1 s+ S% {* f4 Z; Q
  setxy   ( xcor-of turtle h + x )
& u3 b7 s- O. [+ I- K3 v           (ycor-of turtle h + y ) / q7 K; y2 F# c+ m8 X9 J: v
                          
7 f. l# \# B6 Z) j9 M3 L                          
: D, z3 q% P' A4 d                          ]$ R4 W* `& S9 ^* Q& W' n' U/ Q4 f
end
4 z1 C4 u0 T8 f  o" h$ I) V, y2 ~& \: V  {
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ Z( n! S) h) Q5 _! B& c
应该是
1 x' z6 B' h2 d8 q/ R, K8 Bask turtles [
. m# k; `" |" W0 J) Tif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) , A* u4 U: c% M. v
                          set y  Dep / 2
. G% [. M( \, [" P2 [           set b  int (who / 5) * 5
( P7 o; n( y# [' I% \$ r" t, _    setxy ( xcor-of turtle b + x )
' y& q; ?; R- ^/ r          ( ycor-of turtle b + y )]]
& j3 @$ R+ [- Fend9 D8 W4 m7 A" r  j
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-18 21:37 , Processed in 0.021206 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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