设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7168|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 W) \1 Q( }* j- O) }4 \6 T. X: d
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
3 |/ {6 y3 Z. z; t
. t2 x! e: H, {. ^1 kturtles-own [a b c d k f g h. W5 C3 r  [6 |2 k0 z
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! ]% m& v4 E; Y0 ~+ b]5 ^2 r6 M0 E/ R3 B: j
to new2 D1 i6 ~1 J* H  z( [9 s9 `5 L8 F
  ca) \4 T/ z1 ?' o* N
  crt 5 * num_of_building3 [, I2 c: `$ r+ o! Z9 V
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  Q* A! n( v5 b! M6 [& n  scatter     ;;keep center-turtle random positions ! |' y5 w: ~' T
  unit_plan   ;;make up the building plan- s9 E3 J! Y. A. g
end
$ ^0 T: H! W  c9 x2 uto scatter5 g0 B' O3 _0 _* ^6 i; A; b
ask turtles with [remainder who 5 = 0]
( u& n& Q1 q. L  }- [[& D  r" I" s& E1 R, w0 z  V
set xcor xcor - 6 + random-float 15
! M, ?* ?4 \  d7 f& g5 W% z5 Eset ycor ycor - 6 + random-float 15
) g( _- m2 n8 Q/ d]. R8 c1 g, b6 X: G; O1 p5 [
end
  h- |. b* V' c$ ]( ~0 v3 x% ?2 J  pto unit_plan * W& k7 }9 f% c" k+ U
ask turtles [
( j- Z& S" p8 Y. jif (remainder who 5 = 1) [set a who
% m9 m- z5 W' f% ~% X* g                          set x ( 0 - Wid / 2 )
  f4 N, x9 e# ]. ~8 |" ~. \# d: Y                          set y  Dep / 2 ]
3 D& }" Z) `/ @  C, z$ |1 @           set b  int (a / 5) * 56 n* M( I; r! U& h
    setxy ( xcor-of turtle b + x )
. l8 E) E& g% d# r( d- k          ( ycor-of turtle b + y )+ {5 Z; E- D3 a$ w1 H% r
if (remainder who 5 = 2) [set c who! F7 G) Y3 J5 X
                          set x ( 0 - Wid / 2 ) 7 s' h' }. z1 b1 d; [/ h8 n0 F
                          set y (0 - Dep / 2 )  ]% v& [5 G# q8 _% n; m
                          set d int (c / 5) * 5
# N/ K, n" F; g   setxy   ( xcor-of turtle d + x )
: A4 |1 S8 G" j, J           (ycor-of turtle d + y )
. a% e; _. Q( A* X8 G         
7 w' q6 f6 D* K2 u# R" K, y4 b            & ~; p% N  N! J- C0 d
if (remainder who 5 = 3) [set k who
( S( G  {( d9 ?                          set x( Wid / 2)    a) g6 ^: e2 A; x: C  \2 z
                          set y (0 - Dep / 2 ) ]
4 U! }0 ]% Z# F, x. X* K                          set f int (k / 5) * 5
. m0 X: j5 L' c- A1 v! A  setxy   ( xcor-of turtle f + x )& K  R$ b" b. K( r
           (ycor-of turtle f + y ) " e) s: u. |% |0 G% R
           
' g6 j$ t* Q. x4 b# Q* t$ E' {           3 B8 s9 a5 H* a2 z, ?& j$ p
if (remainder who 5 = 4) [set g who: O6 D+ S3 t/ ^
                          set x Wid / 2
6 m) U; O, H7 _( b1 e9 S                          set y  Dep / 2 ]
: V% h/ ^0 Q# ~                          set h  int (g / 5) * 5! W- x- k  ]$ Q! f" y( _
  setxy   ( xcor-of turtle h + x )0 I2 s( D) n3 }2 a2 F% g; Z
           (ycor-of turtle h + y )
5 U, r& r9 o5 n2 s% z6 P: b                          8 X# e! v$ L, d3 L6 i; L& x$ b
                          % k  F5 F$ f% x+ |
                          ]8 d# x) X* X0 [4 N( L
end* @% V" j$ k1 \) Q! V
! x, ~# L- b3 Y! e, T% `
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 H7 _' {/ }2 V! g+ z应该是2 Y6 e8 a6 {3 ?( X  ?1 }" ^. n* B- M
ask turtles [
1 `% u, G: I8 U3 T9 p% K1 n. G7 d' Eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
+ U0 s: e  |- |* i  z                          set y  Dep / 2 & n/ p  R' j# n) n
           set b  int (who / 5) * 5
/ A$ C% h  f1 V5 h( \    setxy ( xcor-of turtle b + x )
: T/ o- Y* r  {          ( ycor-of turtle b + y )]]- {& ?$ ]" E% \
end
' R0 \# a9 o/ i之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-11 16:08 , Processed in 2.848516 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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