bem, pelo fato de no final do joguinho, apresentar quem é o ganhador, acho q os métodos não serão synchronized... pq se forem, a saida será sempre a mesma..., Ratinho, como o Samuel disse, tu vai usar Threads pra isso, digamos, a tua classe pizza seria algo como:
class Pizza {
private int pedacos;
public Pizza()
{
pedacos = 100;
}
public Pizza( int pedacos )
{
this.pedacos = pedacos;
}
public void comeUmPedaco()
{
pedacos--;
}
}
..ai, tu teria a classe Ratinho, q seria o comedor de pizza.. aehhae
class Ratinho extends Thread {
...
... e na classe Ratinho, tu implementa o método run(), e teria um objeto Pizza compartilhado pelos 2 Ratinhos, ficaria algo como:
public void run()
{
while ( objetoPizza.comeUmPedaco() > 0 );
}
...pra iniciar o processo:
Ratinho r = new Ratinho();
r.start();
...é só uma idéia :D