Sono nuovo alla programmazione orientata agli oggetti, a java e alla programmazione in generale, e come primo vero progetto sto provando a programmare il gioco da tavolo Monopoly.
Quello che ho ottenuto finora è un array che può memorizzare oggetti della classe Square (che ha varie sottoclassi, come proprietà, ferrovie, carte chance ecc.). Gli oggetti del giocatore a turno si muovono sulla scacchiera, chiamando un metodo landedOn () per qualsiasi campo su cui si fermano. Le proprietà possono essere contrassegnate con un proprietario, e quindi questo proprietario riceverà denaro se qualcuno atterra sulla sua proprietà.
Tutto sta andando bene finora, ma c'è una piccola cosa che mi infastidisce. Non sono sicuro di come dividere elegantemente le case in gruppi o colori. Ci sono un paio di gruppi di strade sul tabellone e puoi comprare solo case se possiedi tutte le proprietà nel gruppo. Posso immaginare come programmarlo, ma la soluzione mi sembra un po 'sporca e "non generale". Come posso creare una buona soluzione generale?
Per chiarire: voglio essere in grado di controllare se tutte le proprietà di un tipo sono di proprietà dello stesso giocatore, in un modo generale, in modo che se i gruppi vengono modificati, viene aggiunta una proprietà, o cambia gruppo, ecc. ., Non dovrei cambiare molto codice.