设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8355|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: D, G9 k9 g! C+ p" i: @
/ d# t# k, D' G, Y但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# y; ^0 z% a% x- w& i4 ~, V$ w7 v$ Q8 I
turtles-own [a b c d k f g h
1 r$ N* S* T5 N' V4 l' j' N! V  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 R- ]0 ^9 C; K$ v! G
]
3 s  F8 @- ?# w# {- G' M3 J; bto new
( P# D( `& w' |, L  ca- V2 o. S" g5 u! A& X$ v, C
  crt 5 * num_of_building) ]+ L0 ^+ I, X
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 ^& a9 [5 e6 d6 Z8 W4 q  scatter     ;;keep center-turtle random positions 2 T7 I8 I9 _' e- v5 j) y: i$ G
  unit_plan   ;;make up the building plan
& G3 H8 `/ @, b& p7 \3 F1 f1 O+ Oend0 t  B, U& q; ]
to scatter
, S7 I8 C: X& }ask turtles with [remainder who 5 = 0]
$ T  q+ I0 R7 h9 e: e' a! _[- N  z; Q, L7 g+ c! J4 g
set xcor xcor - 6 + random-float 154 v3 ?& O9 Q9 z* {( \; q1 s# I
set ycor ycor - 6 + random-float 15
) n6 E* K2 i( b8 i8 i' O]
8 W! s7 m$ }( m0 [9 }$ Y6 P) S) B4 _. Eend6 G: Q9 X8 Z0 r- z5 V( |
to unit_plan 2 r" A6 m& p* x( ~2 J/ m
ask turtles [
; g% h% i6 t  D3 q$ nif (remainder who 5 = 1) [set a who ! B+ i4 P' }' ^, j# S
                          set x ( 0 - Wid / 2 )
# v- b( m! Z$ ]" X4 t                          set y  Dep / 2 ]
$ {$ k; `, r2 o5 W& }           set b  int (a / 5) * 5
! d3 \: y+ _( w& I! o; o    setxy ( xcor-of turtle b + x )
) ~6 G1 }# h0 \& K: x$ ~          ( ycor-of turtle b + y )3 d: F! O" J# m+ P0 V0 ?
if (remainder who 5 = 2) [set c who
( X, |4 ~* Q+ u( \- w                          set x ( 0 - Wid / 2 )
) t$ n/ z) J2 j6 e+ [; s' {9 G                          set y (0 - Dep / 2 )  ]
: }5 B1 [# Q# z# T' m) ^* Z# d& K. }' l                          set d int (c / 5) * 57 K9 `6 T, u8 i8 \
   setxy   ( xcor-of turtle d + x )3 N! E# p1 c7 I% K
           (ycor-of turtle d + y )
! O$ j+ P' m1 Y2 W         
7 f% X3 [1 n6 k            
. Z6 d( Z! w0 J6 B  a! v2 Iif (remainder who 5 = 3) [set k who; U  i5 `8 ?( y* |7 A* F$ S
                          set x( Wid / 2)  
9 D$ P. J4 j3 Y3 V: f% o- _                          set y (0 - Dep / 2 ) ]$ _$ n# w& B& P0 `1 t" F1 _1 m
                          set f int (k / 5) * 5& h% f: G, P# E) j9 d$ o/ p
  setxy   ( xcor-of turtle f + x )" S) E+ a. o# L
           (ycor-of turtle f + y )
& g: [7 Z: i3 Q# Q4 W5 W+ E5 s           : X8 }, f6 h) k: M1 \
           ; E4 C& B0 ]" l
if (remainder who 5 = 4) [set g who, O+ k3 R# O$ I1 V; G
                          set x Wid / 2 $ p) V% Y, e2 [' e
                          set y  Dep / 2 ]
/ \/ T1 K6 B) A8 ?6 ?8 c% Q                          set h  int (g / 5) * 5( s4 j/ R# _9 Z
  setxy   ( xcor-of turtle h + x )
7 r/ F( E' B! q& u5 w           (ycor-of turtle h + y ) , M% g- u, {: d7 o- Z
                          
7 ^$ d9 G/ j  `) U                          
; H: V: E$ O7 o5 v                          ]
, n' ?9 O* J) [8 o$ w* }! J* Iend3 P  H; f9 X: `

) v/ r* K8 X4 h( w[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
- M' I6 Z# K/ K2 U- T, ^% R应该是% |( \; |1 I0 ], F( U* e3 s5 S
ask turtles [- ?; Q; |1 }1 t7 `! N  i
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
. l, h& y6 r+ `' K* T  M' U+ C) H                          set y  Dep / 2
8 X0 l' `) o6 W           set b  int (who / 5) * 5
! }, R% z* Y+ h    setxy ( xcor-of turtle b + x )8 J! F( v) G  C4 v: b5 w. A
          ( ycor-of turtle b + y )]]" W# r$ W- [: U  ^6 j
end4 [. K5 B- u: l0 O; g$ J! r- X
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-14 15:16 , Processed in 0.015830 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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