Se você está iniciando em Java, recomendo tentar coisas mais simples. Mas se quer fazer um jogo, tente algo mais fácil como jogo da memória, ou mesmo algum jogo de adivinhação (um número entre 1 e 10 é sorteado, e o jogador tem que clicar em um botão ou imagem pra dar seu palpite).
Olhei um pouco do seu código e você parece precisar revisar alguns conceitos básicos. Seu jogo não tem nada de 3D, é todo 2D. Nenhum problema com isso, mas é bom ser realista. Aplicar 3D de verdade é beeem mais complicado, ainda mais em Java.
Sua classe Player contém todos os jogadores. Faria mais sentido eles serem atributos (ou mesmo uma lista de jogadores) dentro de uma classe Jogo ou Partida, por exemplo. Os jogadores poderiam ter dentro de si as suas pedras numa lista. A classe Jogo poderia ter todas as pedras sobre a mesa, controlada como uma lista de duas pontas, assim ficaria fácil saber qual é a pedra em cada ponta da mesa.
No seu JFrame que exibe o jogo, é preferencial que você sobrescreva o método paintComponent, não paint, como você fez.
Pra simplificar, cada pedra poderia ter um método draw, que poderia receber um Graphics2D como parâmetro e desenhar sobre ele, conforme seus valores. As imagens poderiam ser carregadas numa classe à parte e as pedras teriam apenas uma referências para essas imagens, assim você precisaria carregar apenas 1 vez cada imagem, e desenhá-las quantas vezes necessário.
Você também fica alternando entre usar a interface (com Java2D) e ficar exibindo mensagens no console, o que pode deixar as coisas mais confusas quanto mais você avançar nesse projeto. Se quer algo visual, use o console só pra mensagens de debug.
Não vou me estender muito. A recomendação geral é a mesma do começo: tente coisas mais simples.
Como é um projeto para aprendizado, não se apegue à escrever em inglês. Primeiro concentre-se em fazer funcionar e criar algo que faça sentido. Nomes podem ser trocados e refatorados com facilidade, ainda mais num projeto pequeno como esse.
Abraço.