Rollerslam Environment Model
World + outTrack : OutTrack + ball : Ball + playersA : Player[2] + playersB : Player[2] + create() + accept (visitor : Visitor) > Visitor + visit (obj : World) + visit (obj : WorldObject) + visit (obj : AnimatedObject) + visit (obj : Ball) + visit (obj : OutTrack) + visit (obj : Player) > Visitable + accept (visitor : Visitor) AnimatedObject + vx : Integer = 0 + vy : Integer = 0 + ax : Integer = 0 + ay : Integer = 0 + Create ( ) + Create (psx : Integer, psy : Integer, pwidth : Integer, pheight : Integer) + accpet (visitor : Visitor) WorldObject + sx : Integer = 0 + sy : Integer = 0 + width : Integer = 0 + height : Integer = 0 + Create ( ) + Create (psx : Integer, psy : Integer, pwidth : Integer, pheight : Integer) + collidesWith (obj : WorldObject) : Boolean + accpet (visitor : Visitor) Player + team : PlayerTeam + WIDTH : Integer = 1000; + HEIGHT : Integer = 1000; + Create ( ) + Create (psx : Integer, psy : Integer, t : PlayerTeam) + accpet (visitor : Visitor) > PlayerTeam TEAM_A TEAM_B OutTrack + WIDTH : Integer = HEIGHT : Integer = Create ( ) + accpet (visitor : Visitor) Ball + Create ( ) + Create (psx : Integer, psy : Integer) + accpet (visitor : Visitor)
WorldObject + sx : Integer = 0 + sy : Integer = 0 + width : Integer = 0 + height : Integer = 0 + collidesWith (obj : WorldObject) : Boolean + accept (visitor : Visitor) AnimatedObject + vx : Integer = 0 + vy : Integer = 0 + ax : Integer = 0 + ay : Integer = 0 + accept (visitor : Visitor) > Visitable + accept (visitor : Visitor) OutTrack + WIDTH : Integer = {readonly} + HEIGHT : Integer = {readonly} + accept (visitor : Visitor) Player + team : PlayerTeam + WIDTH : Integer = 1000 {readonly} + HEIGHT : Integer = 1000 {readonly} + accept (visitor : Visitor) Ball + accept (visitor : Visitor) > PlayerTeam TEAM_A TEAM_B Goal + WIDTH : Integer = ??? {readonly} + HEIGHT : Integer = ??? {readonly} + accept (visitor : Visitor) Basket + WIDTH : Integer = ??? {readonly} + HEIGHT : Integer = ??? {readonly} + accept (visitor : Visitor)
> Visitable + accept (visitor : Visitor) World + accept (visitor : Visitor) OutTrack Ball Player playersA +playersB +outTrack +ball Goal 1 1 +goalA 1 1 +goalB Basket 1 3 +baskets
:)