设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8538|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( P6 |8 W. N& k+ M
7 B1 w- m. j) s3 {( x  b4 h9 z4 [
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 v% M1 s  q1 I6 S# M- f6 N$ B( \/ r! k( s+ |, T
turtles-own [a b c d k f g h
4 b# s, }- C. Y% d; i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle - Z4 I! D8 U* N' n5 \" Q+ h4 ?
]: }! g* b; N  `8 @
to new3 Q, d- W* H6 ~1 J
  ca
8 o2 t9 p9 x/ O  ?! k% M# l2 a  crt 5 * num_of_building
, K/ C+ c, W+ I% u- x! G& U  ?6 n' \0 I  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. X: e( J- n4 }  q2 M/ x
  scatter     ;;keep center-turtle random positions
! d$ S/ N' `( d0 q# ?  unit_plan   ;;make up the building plan$ p* H9 @' y1 G9 h- e
end& Y* y2 {9 P- |, Q. m/ a) E7 J. c
to scatter
4 F8 N4 y! ~& k7 _  `6 t- zask turtles with [remainder who 5 = 0]5 c6 b% k- |5 q0 G# }  u; u) @
[* i4 B" M+ S0 H5 I1 Q
set xcor xcor - 6 + random-float 15
! b* V, \2 n0 N! @5 I. \& [, Pset ycor ycor - 6 + random-float 15
3 {+ F9 y' ?* u]+ |6 e4 b' f2 m' T! L+ r1 ]
end1 h1 O6 ?# X5 G0 m) J# p2 ?% r+ _5 q
to unit_plan
! @0 k9 a4 T, ^; x# E% W3 V! o9 k, @ask turtles [
/ I0 h* r1 B% }6 I3 I: dif (remainder who 5 = 1) [set a who   B. ]# R1 H" b: }
                          set x ( 0 - Wid / 2 )
- K; h3 K; F/ e( s                          set y  Dep / 2 ]
' N' \; d3 u  r           set b  int (a / 5) * 5- z4 `, T/ E' T. u8 Q
    setxy ( xcor-of turtle b + x )
# i/ c2 I( Y+ M/ K( f  Y+ _/ e0 f          ( ycor-of turtle b + y )1 X2 G8 F: Q% o: P/ t1 n
if (remainder who 5 = 2) [set c who$ l) a6 s$ N* |4 u/ J/ D9 j; @2 |
                          set x ( 0 - Wid / 2 )
( o: L. X( b2 K7 l+ d0 \% S+ G                          set y (0 - Dep / 2 )  ]# `2 t& O/ i& F1 W
                          set d int (c / 5) * 57 O, K8 C- G4 {4 ]0 }
   setxy   ( xcor-of turtle d + x )1 D3 S# t* E% k! l7 B: K
           (ycor-of turtle d + y ) 5 W8 D, P5 f& A  [6 j( V
         
( L/ p. W; ^3 g3 R4 f            9 N. h0 v7 K& f0 T
if (remainder who 5 = 3) [set k who
  s; y9 U7 U) v0 m9 N, D2 C! k( E  O                          set x( Wid / 2)  
# T4 @1 v9 j4 a, K/ {7 {. \                          set y (0 - Dep / 2 ) ]
" @$ M1 y$ A- H" e2 `. c- n+ ~% ~9 s                          set f int (k / 5) * 5+ y. `) X/ H0 S# X1 i! ]! D
  setxy   ( xcor-of turtle f + x )
4 b# H# r; `4 z/ ]! t- P           (ycor-of turtle f + y ) & A) x! _4 b* X$ r) U9 @1 E7 y& N
           6 f2 b: x: a8 S' q' r6 [
           
6 l$ X4 K$ E/ F; A9 b6 Z* iif (remainder who 5 = 4) [set g who- b5 j# y: C! ^! g/ A2 w
                          set x Wid / 2
. q6 s2 v1 C: n                          set y  Dep / 2 ]( Q" c# G; S" b- a& B: @) c
                          set h  int (g / 5) * 5
* L' L5 B! ~4 O, ?9 F  setxy   ( xcor-of turtle h + x )$ S- ?0 V: ^! o4 k
           (ycor-of turtle h + y )
1 _/ F# |; S8 [8 K0 D0 z                          
+ K1 w/ N$ H" v/ e/ @, R                          
8 a% S! b) }1 e: ^8 d+ a5 `                          ]
3 d+ b0 X/ C, K6 O& [, Hend
5 b0 o* B# f/ d* _( s2 s& }! a% {, `6 Z  ?" h6 n! K! {5 H
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 z, f5 L+ p! o* C8 f8 Y应该是
, g7 Z# U( ^7 p. i+ Cask turtles [
- `- Q8 r5 x/ t& Lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
0 e, Q* r4 i- O$ i& p' c  E                          set y  Dep / 2
/ d( P' T% l6 q, `/ D9 k           set b  int (who / 5) * 5/ G) ]. I4 |5 N4 V# b
    setxy ( xcor-of turtle b + x )" O8 {# n4 w' i! T
          ( ycor-of turtle b + y )]]# j+ s7 R$ y' y; z
end
" }6 }8 e2 c  f1 q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-10 07:12 , Processed in 0.015424 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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