设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8554|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
8 X% ]; k, U+ h% g- e( T  [( {# m' o6 M5 m7 ?
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 {% _  M/ z% N, d# t- D
1 w( c" T$ T+ m: e6 ~turtles-own [a b c d k f g h
! u9 |  n$ O5 B) C) v  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
/ Z" b! b/ ^/ ]: J]
& N5 N' s& W5 H  @' C7 ]4 Fto new* G$ ?3 U' ]% e. G& S
  ca
7 t( M) b; R. e  crt 5 * num_of_building
5 S+ J$ K0 U1 Q% W# l  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) L' ^& l, H1 _* H
  scatter     ;;keep center-turtle random positions 2 Q8 O1 p/ l# Q' t
  unit_plan   ;;make up the building plan
5 `8 n* v/ d/ {: l( ~9 p: @: dend6 I% Q6 ?& P# X3 U7 E0 q
to scatter
/ h1 u9 ?9 X0 D* bask turtles with [remainder who 5 = 0]6 a7 {" R4 _2 h8 W' ~( ]% j" t
[
' q6 ~+ k* Q% m) O, Hset xcor xcor - 6 + random-float 15
6 d9 @6 I& A' m) v' O$ i( O% y3 R; sset ycor ycor - 6 + random-float 15
. p' |; @- V* F! u& {]
' }3 e! V, H- u. jend: @5 ]: |" Y& q/ C$ ~
to unit_plan 5 v' I! H! \& ?. ?) o0 a1 ?
ask turtles [* P: r5 u+ c( T* ]: S; M
if (remainder who 5 = 1) [set a who + Y) a4 Z# }3 z" L' h2 w. v
                          set x ( 0 - Wid / 2 ) 4 w+ |5 j" ^# p# Y5 J* ~
                          set y  Dep / 2 ]
7 X: y8 ?5 l, N, h; I0 w& W           set b  int (a / 5) * 5* a& P% {  \' F# R5 n/ U) H
    setxy ( xcor-of turtle b + x )
$ K) Y6 Z0 w( `" p; s9 v4 g- n* o          ( ycor-of turtle b + y )' F! F/ p! u# \7 U
if (remainder who 5 = 2) [set c who3 ~) _2 ^, b; ~  I
                          set x ( 0 - Wid / 2 )
! A. {2 V# H+ @( ^' k" v                          set y (0 - Dep / 2 )  ]  n, y0 Z* [4 ?+ n: ]
                          set d int (c / 5) * 5
$ N) [- e0 L. r+ V$ m8 q$ \   setxy   ( xcor-of turtle d + x )
- {3 j$ U/ u- M4 A! Q4 y1 V! @3 }           (ycor-of turtle d + y ) - @5 S3 J  Q, x" s: ?& N$ p
         
( g4 T! o+ M7 ]6 f            % t! K9 R5 [0 V) u
if (remainder who 5 = 3) [set k who% z; W/ A9 y' B; E
                          set x( Wid / 2)  8 L) ~9 c6 B& T1 p
                          set y (0 - Dep / 2 ) ]& S; R2 j& }& W
                          set f int (k / 5) * 57 u' A) H6 V* A$ F4 l
  setxy   ( xcor-of turtle f + x )
9 K# w$ J; @- f3 p' I; I; T  S, T           (ycor-of turtle f + y )
, D# d8 w0 G6 ~/ f/ X) ~/ t/ y           & H9 b- ?, \, d) q. Y
           % [5 }& W; b6 k+ `  v! N
if (remainder who 5 = 4) [set g who# p* ~6 v4 i6 W+ [
                          set x Wid / 2 7 w9 U/ a6 t4 B. L
                          set y  Dep / 2 ]
) c9 d3 s/ \; r                          set h  int (g / 5) * 5' p3 {/ O6 Z# c+ F" c1 |+ S
  setxy   ( xcor-of turtle h + x )
# [! o$ C3 u5 s6 f( l           (ycor-of turtle h + y ) . t4 p9 R7 z( I2 I
                          
# b1 I# U- x% r9 a* g+ s, e% k                          ( [! e' G. r: q1 v: E
                          ]
- p8 l, s( U9 Q* b1 z/ aend
: q8 O7 P1 d- R, c2 v+ L
: x( v6 T- X& Z- L4 }. O2 f. C- [8 b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: v; q3 V# _0 o& x9 W
应该是# S5 u, l9 B0 C( ]" Y, ~! q
ask turtles [
! x0 j3 p5 N0 X4 ]; r, J& dif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 5 z* Z: A5 ~+ `- Y& m% O. \
                          set y  Dep / 2
' q% \  m9 F- F8 k) R# n           set b  int (who / 5) * 5
% o* I5 x7 F% j8 v9 t    setxy ( xcor-of turtle b + x )
4 Q7 q8 Y/ j" P) u          ( ycor-of turtle b + y )]]
. B5 k& E! w  g# I# F' |end0 y1 Q  X& t0 l! Y9 H
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-11 04:22 , Processed in 0.016355 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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