Final exam version with mass and speed
This commit is contained in:
@@ -1,57 +1,75 @@
|
||||
@startuml
|
||||
skinparam classAttributeIconSize 0
|
||||
|
||||
class SpaceObject {
|
||||
x
|
||||
y
|
||||
radius
|
||||
color
|
||||
update()
|
||||
draw()
|
||||
x
|
||||
y
|
||||
radius
|
||||
color
|
||||
mass
|
||||
update()
|
||||
draw()
|
||||
}
|
||||
|
||||
class Star {
|
||||
name
|
||||
planets
|
||||
add_planet()
|
||||
set_position()
|
||||
update()
|
||||
draw()
|
||||
name
|
||||
planets
|
||||
add_planet()
|
||||
set_position()
|
||||
update()
|
||||
draw()
|
||||
}
|
||||
|
||||
class Planet {
|
||||
star
|
||||
orbit_number
|
||||
orbit_radius
|
||||
angle
|
||||
speed
|
||||
direction
|
||||
calculate_position()
|
||||
update()
|
||||
draw_orbit()
|
||||
draw()
|
||||
star
|
||||
orbit_number
|
||||
orbit_radius
|
||||
angle
|
||||
speed
|
||||
angular_speed
|
||||
linear_speed
|
||||
direction
|
||||
calculate_position()
|
||||
update()
|
||||
draw_orbit()
|
||||
draw()
|
||||
}
|
||||
|
||||
class SolarSystem {
|
||||
stars
|
||||
show_orbits
|
||||
paused
|
||||
create_system()
|
||||
resize()
|
||||
update()
|
||||
draw()
|
||||
toggle_pause()
|
||||
toggle_orbits()
|
||||
width
|
||||
height
|
||||
stars
|
||||
show_orbits
|
||||
paused
|
||||
create_system()
|
||||
get_direction()
|
||||
resize()
|
||||
update()
|
||||
draw()
|
||||
toggle_pause()
|
||||
toggle_orbits()
|
||||
get_all_objects()
|
||||
get_total_mass()
|
||||
get_planet_count()
|
||||
}
|
||||
|
||||
class SolarApp {
|
||||
system
|
||||
handle_events()
|
||||
draw_panel()
|
||||
run()
|
||||
screen
|
||||
clock
|
||||
system
|
||||
save_callback
|
||||
draw_panel()
|
||||
handle_events()
|
||||
run()
|
||||
}
|
||||
|
||||
class save_system_to_file
|
||||
|
||||
SpaceObject <|-- Star
|
||||
SpaceObject <|-- Planet
|
||||
Star "1" o-- "many" Planet
|
||||
SolarSystem "1" o-- "2" Star
|
||||
SolarSystem *-- Star
|
||||
Star *-- Planet
|
||||
SolarApp --> SolarSystem
|
||||
SolarApp --> save_system_to_file
|
||||
|
||||
@enduml
|
||||
|
||||
Reference in New Issue
Block a user