设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5884|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。# w/ \5 `2 i9 r" ^

' q+ @: P; X, E/ y7 {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' P9 j: t, c0 c+ k( @/ w
$ W) Q- @9 e: V8 t3 g6 r& D% tturtles-own [a b c d k f g h
! Q6 b  R8 U- T$ |( t  x y     ;; these are the leaf-turtle's offsets relative to center-turtle / `- z( i9 z* u. y! n; X" i, f4 J
]0 Y4 y& h0 |( D/ n
to new$ R" G9 l% [% W
  ca) u9 D; F& ~' n3 c+ D9 G# X
  crt 5 * num_of_building
: y0 r5 G/ \, Q  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
/ [7 X; B& c; S& J  scatter     ;;keep center-turtle random positions ! K% v& G& [3 @
  unit_plan   ;;make up the building plan  c: ]  D* b3 @: ~: q" U4 F# x
end* E& Z' q, p" z! d
to scatter9 Y# o/ c) z* j7 b/ c
ask turtles with [remainder who 5 = 0]( ~" R7 G. t# s4 X$ }8 J6 b0 {/ D, f
[
( f0 v5 s4 T4 W. t2 D4 [9 ]; ]set xcor xcor - 6 + random-float 15/ l( y9 B* u0 ^: ?# q
set ycor ycor - 6 + random-float 157 w: y4 K8 z- O6 s; o# c
]
& _, n' n  l' B3 _! n; N. @end
3 K: d- p% s4 T1 c5 K5 @8 [to unit_plan
7 E2 ?% n9 d# u8 x: yask turtles [4 q3 z6 O; Q* l: N0 T& k
if (remainder who 5 = 1) [set a who
: W& N( q' |5 H& N) a6 J4 i                          set x ( 0 - Wid / 2 ) " k) U% w) ^+ w7 c+ I- H
                          set y  Dep / 2 ]
" `: K1 g/ W/ l0 \+ V* }* r* k           set b  int (a / 5) * 5) U+ L# v; D- K6 ^3 o* j
    setxy ( xcor-of turtle b + x )5 V; D+ L, p* \% t% z
          ( ycor-of turtle b + y )" R# n+ F2 ^7 l& Z8 S$ O- v
if (remainder who 5 = 2) [set c who, J' D. H& L& ?7 `2 I
                          set x ( 0 - Wid / 2 ) 9 k) y! f; Z( M3 n, b8 Y7 U
                          set y (0 - Dep / 2 )  ]
: N; a. n1 a: R# c: F                          set d int (c / 5) * 5
2 P* w# q5 U) w$ b9 L& u   setxy   ( xcor-of turtle d + x )
( F# D. D/ s. z8 I, `           (ycor-of turtle d + y ) 7 g# K, T/ p3 v$ u! {* {
         
$ M) u0 L7 E% w% Q            6 g' N: F" v* E
if (remainder who 5 = 3) [set k who, R0 l2 O* {* T0 _9 V% ^
                          set x( Wid / 2)  
; A! x; Y4 n8 k; b) x                          set y (0 - Dep / 2 ) ]
0 i. i% E7 u  P4 X# {                          set f int (k / 5) * 5* r7 r$ |1 s9 ]8 V8 _
  setxy   ( xcor-of turtle f + x )
$ c, z2 j) E+ e           (ycor-of turtle f + y )
* `  X/ h- H0 _/ Z' I6 \0 v; d+ y           
( ?! t/ C) p4 n$ w+ k5 _5 j           
5 x& N" r8 }' Xif (remainder who 5 = 4) [set g who
2 k. P& R' H  q/ g" M                          set x Wid / 2
9 S8 r: n2 H, j3 e; ?0 \                          set y  Dep / 2 ]! }0 V" x, V0 A2 q6 f% r3 P
                          set h  int (g / 5) * 5
* L. |  E, T7 @/ T: F* v1 e  setxy   ( xcor-of turtle h + x )
& o. ?7 y/ S$ ^* z) S( x           (ycor-of turtle h + y ) : v4 T: U: U2 D
                          % R! A* Y6 k  O
                          1 ?& p( j: ]3 H: F# w
                          ]
. T1 J1 u! R, m9 A/ K* t, Vend
% `) e) w$ x1 t  m
7 F2 O* s0 o, c[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" Y+ W9 v' k9 ~9 S应该是
" J) [: N$ X/ c+ l8 C. t$ V$ cask turtles [
" ]7 \& K0 M; W5 j' B9 Lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 k. b" U. u0 y) n* t
                          set y  Dep / 2
' [0 H% u  X8 S, r0 ]" C* {           set b  int (who / 5) * 5) w$ y8 H9 [+ x' E/ _
    setxy ( xcor-of turtle b + x )
( L2 f: s0 n  e; B/ t5 |  k9 O# T          ( ycor-of turtle b + y )]]
: m3 @' |+ ?4 V4 p; s& Cend
8 r. C/ X0 t+ y" Y: n) }0 @7 i之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-28 05:33 , Processed in 0.015265 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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