Introduce architettura multi-sport con catalogo, engine scoring e overlay.
Catalogo sport in YAML, board implicito, engine per volley/basket/timed/racket/timer/generic, regia e app Android allineate. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
183
backend/config/sports.yml
Normal file
183
backend/config/sports.yml
Normal file
@@ -0,0 +1,183 @@
|
||||
# Catalogo sport Match Live TV — board e overlay impliciti, regole standard.
|
||||
# board: volley | basket | timed | racket | timer | generic
|
||||
# overlay: none | timer | volley | basket | timed | racket
|
||||
|
||||
pallavolo:
|
||||
label: Pallavolo
|
||||
board: volley
|
||||
overlay: volley
|
||||
allowed_overlays: [volley, timer, none]
|
||||
default_rules:
|
||||
sets_to_win: 3
|
||||
points_per_set: 25
|
||||
points_deciding_set: 15
|
||||
min_point_lead: 2
|
||||
|
||||
beach_volley:
|
||||
label: Beach Volley
|
||||
board: volley
|
||||
overlay: volley
|
||||
allowed_overlays: [volley, timer, none]
|
||||
default_rules:
|
||||
sets_to_win: 2
|
||||
points_per_set: 21
|
||||
points_deciding_set: 15
|
||||
min_point_lead: 2
|
||||
|
||||
sitting_volley:
|
||||
label: Sitting Volley
|
||||
board: volley
|
||||
overlay: volley
|
||||
allowed_overlays: [volley, timer, none]
|
||||
default_rules:
|
||||
sets_to_win: 3
|
||||
points_per_set: 25
|
||||
points_deciding_set: 15
|
||||
min_point_lead: 2
|
||||
|
||||
basket:
|
||||
label: Basket
|
||||
board: basket
|
||||
overlay: basket
|
||||
allowed_overlays: [basket, timer, none]
|
||||
default_rules:
|
||||
periods: 4
|
||||
period_duration_secs: 600
|
||||
overtime_duration_secs: 300
|
||||
|
||||
calcio_a_5:
|
||||
label: Calcio a 5
|
||||
board: timed
|
||||
overlay: timed
|
||||
allowed_overlays: [timed, timer, none]
|
||||
default_rules:
|
||||
periods: 2
|
||||
period_duration_secs: 1200
|
||||
overtime_duration_secs: 300
|
||||
|
||||
pallamano:
|
||||
label: Pallamano
|
||||
board: timed
|
||||
overlay: timed
|
||||
allowed_overlays: [timed, timer, none]
|
||||
default_rules:
|
||||
periods: 2
|
||||
period_duration_secs: 1800
|
||||
overtime_duration_secs: 300
|
||||
|
||||
hockey_indoor:
|
||||
label: Hockey Indoor
|
||||
board: timed
|
||||
overlay: timed
|
||||
allowed_overlays: [timed, timer, none]
|
||||
default_rules:
|
||||
periods: 2
|
||||
period_duration_secs: 1200
|
||||
overtime_duration_secs: 300
|
||||
|
||||
floorball:
|
||||
label: Floorball
|
||||
board: timed
|
||||
overlay: timed
|
||||
allowed_overlays: [timed, timer, none]
|
||||
default_rules:
|
||||
periods: 3
|
||||
period_duration_secs: 1200
|
||||
overtime_duration_secs: 300
|
||||
|
||||
tennis:
|
||||
label: Tennis
|
||||
board: racket
|
||||
overlay: racket
|
||||
allowed_overlays: [racket, timer, none]
|
||||
default_rules:
|
||||
sets_to_win: 2
|
||||
points_per_set: 6
|
||||
points_deciding_set: 7
|
||||
min_point_lead: 2
|
||||
|
||||
tennis_tavolo:
|
||||
label: Tennis Tavolo
|
||||
board: racket
|
||||
overlay: racket
|
||||
allowed_overlays: [racket, timer, none]
|
||||
default_rules:
|
||||
sets_to_win: 3
|
||||
points_per_set: 11
|
||||
points_deciding_set: 11
|
||||
min_point_lead: 2
|
||||
|
||||
badminton:
|
||||
label: Badminton
|
||||
board: racket
|
||||
overlay: racket
|
||||
allowed_overlays: [racket, timer, none]
|
||||
default_rules:
|
||||
sets_to_win: 2
|
||||
points_per_set: 21
|
||||
points_deciding_set: 21
|
||||
min_point_lead: 2
|
||||
|
||||
padel:
|
||||
label: Padel
|
||||
board: racket
|
||||
overlay: racket
|
||||
allowed_overlays: [racket, timer, none]
|
||||
default_rules:
|
||||
sets_to_win: 2
|
||||
points_per_set: 6
|
||||
points_deciding_set: 7
|
||||
min_point_lead: 2
|
||||
|
||||
pickleball:
|
||||
label: Pickleball
|
||||
board: racket
|
||||
overlay: racket
|
||||
allowed_overlays: [racket, timer, none]
|
||||
default_rules:
|
||||
sets_to_win: 2
|
||||
points_per_set: 11
|
||||
points_deciding_set: 11
|
||||
min_point_lead: 2
|
||||
|
||||
ginnastica_artistica:
|
||||
label: Ginnastica Artistica
|
||||
board: timer
|
||||
overlay: timer
|
||||
allowed_overlays: [timer, none]
|
||||
default_rules: {}
|
||||
|
||||
ginnastica_ritmica:
|
||||
label: Ginnastica Ritmica
|
||||
board: timer
|
||||
overlay: timer
|
||||
allowed_overlays: [timer, none]
|
||||
default_rules: {}
|
||||
|
||||
danza_sportiva:
|
||||
label: Danza Sportiva
|
||||
board: timer
|
||||
overlay: timer
|
||||
allowed_overlays: [timer, none]
|
||||
default_rules: {}
|
||||
|
||||
cheerleading:
|
||||
label: Cheerleading
|
||||
board: timer
|
||||
overlay: timer
|
||||
allowed_overlays: [timer, none]
|
||||
default_rules: {}
|
||||
|
||||
pattinaggio:
|
||||
label: Pattinaggio
|
||||
board: timer
|
||||
overlay: timer
|
||||
allowed_overlays: [timer, none]
|
||||
default_rules: {}
|
||||
|
||||
altro:
|
||||
label: Altro
|
||||
board: generic
|
||||
overlay: none
|
||||
allowed_overlays: [none, timer]
|
||||
default_rules: {}
|
||||
Reference in New Issue
Block a user