Una soluzione potrebbe essere di avere una classe partita che può contenere 2 oggetti, ognuno può essere una partita o un giocatore. Quando giochi la partita, se hai due giocatori risolvi normalmente, se hai una partita propaghi il gioco. In questo modo giocando l'ultima partita il calcolo si propaga fino alla base.