Vorrei creare una scacchiera intesa come array di pezzi dove i pezzi non sono tutti dello stesso tipo (ad esempio i pezzi degli scacchi) ma ogni pezzo è dotato di un metodo pezzo.mossa(casella) in modo tale che a seconda del pezzo su cui richiamo la mossa venga eseguita una diversa funzione (es: la mossa del cavallo, la mossa della torre...).
Come mi consigliate di gestire la cosa?