Score = combo x point value (configurable, default 1); difficulty score-only at 8000

This commit is contained in:
enne2
2026-08-10 20:00:30 +02:00
parent f9837153a0
commit 54619a2385
3 changed files with 11 additions and 54 deletions
+5 -14
View File
@@ -4,20 +4,17 @@ extends Node
## al riavvio della scena.
const PATH := "user://settings.cfg"
const VERSION := 3 # incrementa quando cambiano i default, per resettare i file vecchi
const VERSION := 5 # incrementa quando cambiano i default, per resettare i file vecchi
var version := VERSION
var start_time := 4.5 # tempo iniziale (s) tra un ordine e l'altro
var min_time := 0.8 # tempo minimo (velocità massima)
var time_ramp := 180.0 # secondi di gioco per difficoltà piena
var score_ramp := 2000.0 # punteggio per difficoltà piena
var points_per_combo := 10 # punti base per ogni livello di combo
var score_ramp := 8000.0 # punteggio per difficoltà piena (velocità massima)
var points_per_combo := 1 # punti per ogni lancio corretto (lineare, default 1)
var max_combo := 5.0 # combo massimo di default (configurabile)
var combo_decay_threshold := 0.0 # combo sopra cui inizia il decay (0 = da subito)
var combo_decay_rate := 0.15 # combo persi al secondo per unità sopra la soglia
var difficulty_decay_rate := 0.3 # decay aggiuntivo legato alla difficoltà
# Curva del punteggio: 0=quadratica, 1=scaglioni, 2=radice, 3=additiva
var score_curve := 0
# Accessibilità / neurodivergenza
var gentle_errors := true # errore: combo -1 invece di azzerare
var zen_mode := false # modalità senza tempo (niente countdown né decay)
@@ -39,14 +36,12 @@ func load_settings() -> void:
return
start_time = cfg.get_value("gameplay", "start_time", start_time)
min_time = cfg.get_value("gameplay", "min_time", min_time)
time_ramp = cfg.get_value("gameplay", "time_ramp", time_ramp)
score_ramp = cfg.get_value("gameplay", "score_ramp", score_ramp)
points_per_combo = cfg.get_value("gameplay", "points_per_combo", points_per_combo)
max_combo = cfg.get_value("gameplay", "max_combo", max_combo)
combo_decay_threshold = cfg.get_value("gameplay", "combo_decay_threshold", combo_decay_threshold)
combo_decay_rate = cfg.get_value("gameplay", "combo_decay_rate", combo_decay_rate)
difficulty_decay_rate = cfg.get_value("gameplay", "difficulty_decay_rate", difficulty_decay_rate)
score_curve = cfg.get_value("gameplay", "score_curve", score_curve)
gentle_errors = cfg.get_value("accessibility", "gentle_errors", gentle_errors)
zen_mode = cfg.get_value("accessibility", "zen_mode", zen_mode)
@@ -56,14 +51,12 @@ func save_settings() -> void:
cfg.set_value("meta", "version", VERSION)
cfg.set_value("gameplay", "start_time", start_time)
cfg.set_value("gameplay", "min_time", min_time)
cfg.set_value("gameplay", "time_ramp", time_ramp)
cfg.set_value("gameplay", "score_ramp", score_ramp)
cfg.set_value("gameplay", "points_per_combo", points_per_combo)
cfg.set_value("gameplay", "max_combo", max_combo)
cfg.set_value("gameplay", "combo_decay_threshold", combo_decay_threshold)
cfg.set_value("gameplay", "combo_decay_rate", combo_decay_rate)
cfg.set_value("gameplay", "difficulty_decay_rate", difficulty_decay_rate)
cfg.set_value("gameplay", "score_curve", score_curve)
cfg.set_value("accessibility", "gentle_errors", gentle_errors)
cfg.set_value("accessibility", "zen_mode", zen_mode)
cfg.save(PATH)
@@ -72,13 +65,11 @@ func save_settings() -> void:
func reset_defaults() -> void:
start_time = 4.5
min_time = 0.8
time_ramp = 180.0
score_ramp = 2000.0
points_per_combo = 10
score_ramp = 8000.0
points_per_combo = 1
max_combo = 5.0
combo_decay_threshold = 0.0
combo_decay_rate = 0.15
difficulty_decay_rate = 0.3
score_curve = 0
gentle_errors = true
zen_mode = false