设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7432|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
  s9 K1 q- J2 B& k+ A+ }! j
! \4 e! m, P  A8 {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 y, L4 k" D0 Y4 s+ p. y8 q- O( g/ s! T! w4 [
turtles-own [a b c d k f g h
. }; H' w# H+ p: l( H4 M/ W6 I  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* I& v- p6 i8 k" R+ {8 m]
# h0 T" W# T9 C0 b1 z& Eto new
. ~, w: H( `! K7 A" ^3 M! Q  ca
8 z6 Q# d% l3 w2 Q" Z1 C" u  crt 5 * num_of_building
7 D7 y" ^8 T) k' Q) V' I: c  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  l  T" Y7 [3 s* Q% ~* f
  scatter     ;;keep center-turtle random positions 3 V! z) b  {0 I! e. d# ~2 F) k
  unit_plan   ;;make up the building plan+ G- z! d  S( U1 d5 m9 L
end
1 V; |; }3 c) Eto scatter
$ _& R4 c' ]% ~6 y7 ?ask turtles with [remainder who 5 = 0]0 A4 J" @5 T' Z0 P0 i% v
[& ]' W% E- R( p2 {. L$ ^% i- l
set xcor xcor - 6 + random-float 15+ T, {! m6 e; E4 j, d2 n- \
set ycor ycor - 6 + random-float 15
: w5 V) i- Y+ U& z1 G& z6 s0 j6 O]% S& r+ C8 h" H
end
- F1 q1 Y7 D8 N7 A! Bto unit_plan 1 L7 ^  E) N+ \- F: ?
ask turtles [
7 o/ X" V4 n3 G9 a1 \$ U' c- A: uif (remainder who 5 = 1) [set a who
7 g" c, f4 M# N7 W; M" f                          set x ( 0 - Wid / 2 )
7 K+ ^6 c4 a9 r7 Z7 W/ j9 `                          set y  Dep / 2 ]; u. w/ C7 ]3 q2 m! w7 F
           set b  int (a / 5) * 5/ O( V# \2 Z# o8 P1 p
    setxy ( xcor-of turtle b + x )
/ u2 M: S& J4 ^% n  u          ( ycor-of turtle b + y )
2 O" e" ~2 z& v$ j7 ~if (remainder who 5 = 2) [set c who: \( W. k: C9 h1 I9 v
                          set x ( 0 - Wid / 2 ) : V% y6 l3 C3 U/ b% _
                          set y (0 - Dep / 2 )  ]! k- t7 R9 _, I8 m- z& \0 t- T
                          set d int (c / 5) * 5
+ v. p* S% M$ o" a9 x% D   setxy   ( xcor-of turtle d + x )4 ^0 b+ Z) X) J. s) b
           (ycor-of turtle d + y ) + R5 z  y1 V# ~: y+ M/ m
            Y. |! T$ d$ I2 m) X/ F5 i" i* x
            : p6 N) Z4 t( f% E
if (remainder who 5 = 3) [set k who
5 H, D( Y1 F$ Q6 ]# O                          set x( Wid / 2)  
1 v- a4 N  Q: s' f4 G) z8 L                          set y (0 - Dep / 2 ) ]
8 G( t: |" Q8 [/ }! o9 I* R                          set f int (k / 5) * 5
% I/ ^; l5 u3 C/ ~8 ~/ [  setxy   ( xcor-of turtle f + x )- J& q! E. g4 q" e7 g# i
           (ycor-of turtle f + y )
# T7 ?$ M: Z3 C& Q8 D4 ^$ V$ q           $ w9 ~/ w. x2 P- i( @
           
( F/ o9 e1 P2 |6 P7 g9 Nif (remainder who 5 = 4) [set g who) r3 A1 [3 E1 \# [& ]4 w2 v
                          set x Wid / 2 ; w. C0 Y2 z& p. x, b$ [
                          set y  Dep / 2 ]4 b0 I# j2 `2 K0 o4 G& m  W/ z
                          set h  int (g / 5) * 5
# p5 M" \- P6 Q3 l8 c: A  setxy   ( xcor-of turtle h + x )- a! D1 h& u) \3 b
           (ycor-of turtle h + y ) $ ~$ h4 H8 V; o5 _/ ~" X
                          
) ?4 z! d2 C# O& O                          5 M' @0 H9 p+ R( {
                          ]
7 V. T0 v" ^& p, i' wend
5 o& i) q, B0 c7 x2 k. \6 s" V9 `& f- t# A# c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: X' q* j" d: Z  w! S1 B
应该是' ^+ ]9 W. h/ m9 ~& o" Z2 `
ask turtles [. \8 n+ s- O! q( J8 P
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: @0 C3 G. v$ A+ a6 z& q3 I$ F                          set y  Dep / 2
- {# ?; ?2 y/ n5 Z           set b  int (who / 5) * 51 A8 x+ Y- _0 ?6 A7 t
    setxy ( xcor-of turtle b + x )
) t7 j  V! w% J          ( ycor-of turtle b + y )]]! a% L$ Z: u6 A
end7 [2 x  W7 s+ K, R) h6 D
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-10 17:53 , Processed in 0.015874 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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