Esta é a especificaçao da parte 2 do projeto Retome o seu projeto - parte 1 e nele inclua as seguintes funcionalidades: a) Exceções b) Threads - relógios e - AUTOSAVE (isso envolve mexer com arquivos e serialização )!!!! c) .. ainda nesta etapa especificarei o uso de Collections.... Adotarei o exemplo do Xadrez para explicar o que deve ser feito. *************** EXCEÇÕES ****************** Crie classes (provavelmente seguinte um esquema de herança) de exceções para tratar erros do seu projeto. Por exemplo: vários "erros" ou exceções podem acontecer ao se jogar xadrez. 1) Movimento inválido; 2) Venceu o tempo de jogada (veja porque no próximo ítem); 3) aconteceu xeque-mate, etc... Quando um erro ou evento diferente acontecer (exceção) então uma exceção deverá ser identificada e alguma mensagem deve aparecer na sua interface. Vc pode ainda pensar num esquema de heranca de classes de heranca (Classe Mãe -> XadrezException, que é base para MovimentoInvalidoXadrezException, etc......) ********************** THREADS ******************* Inclua no seu projeto threads a) Relógio(s). Um jogo de xadrez tem o tempo GLOBAL de jogo e o tempo de jogo para cada jogador. Então seu projeto pode ter 3 relógios... cada um é uma thread..... b) Crie uma thread do tipo auto-save, que grava em disco (um simples arquivo que reside na raiz do seu projeto...) o estado do seu jogo. Voce pode inclusive estabelecer na sua interface qual o intervalo deste auto-save.... Como esta funcionalidade pode ser testada?? Por exemplo, se existe um estado do jogo gravado, ao RE-iniciar o jogo, o seu programa pode perguntar se deseja iniciar uma nova partida ou RETOMAR a última partida jogada... é isso ... mãos à obra...