Jogo

4 respostas
java
Emanuelli_Maira

Olá, preciso realizar uma atividade usando Threads, porém estou com dificuldade se alguém conseguir me ajudar.

Criar uma aplicação Java usando Threads que simule um jogo de tabuleiro com dados. Neste jogo, ganha quem
chegar primeiro à casa de número 60. Serão três jogadores ao total. A cada rodada, os jogadores jogarão o dado
(simular usando um número randômico de 1 a 6), e tanto o número do dado como a casa em que o jogador se
encontra devem ser mostrados na tela. O jogo somente termina quando ao menos um jogador chegar ou passar
da casa de número 60. Lembre-se, todos os jogadores têm o direito de jogar o dado, e caso mais de um jogador
passar da casa de número 60, ganha o que chegar mais longe, sendo que o jogo deve prosseguir até que haja
desempate. Ao final, a aplicação deverá mostrar na tela quem é o ganhador, e em que casa os outros dois
jogadores chegaram.

4 Respostas

darlan_machado

E o que você já fez?

Emanuelli_Maira

olá, desculpe a demora, consegui resolver. vou deixar o código, apesar que ainda ficou um pouco incorreto.

public class Jogo {
    public static void main(String[] args) {
        JogadorA ja = new JogadorA();
        JogadorB jb = new JogadorB();
        JogadorC jc = new JogadorC();
        ja.start();
        jb.start();
        jc.start();
    }
}

import java.util.Random;

public class JogadorA extends Jogo{
	    
	    JogadorA(){
	        super();
	    }
	    public void run(){
	        Random r = new Random();
	        for(int i=1; i<=10; i++){
	            System.out.println("JogadorA");
	            
	          try {
					Thread.sleep(r.nextInt(1000));
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
	        }
	        
	       
	    }
		public void start() {
			// TODO Auto-generated method stub
			
		}
	}

import java.util.Random;

public class JogadorB extends Jogo {

	    JogadorB() {
	        super();
	    }

	    public void run() {
	        Random t = new Random();
	        for (int i = 1; i <= 10; i++) {
	            System.out.println("JogadorB");

	            try {
	                Thread.sleep(t.nextInt(1000));
	            } catch (InterruptedException e) {
	                // TODO Auto-generated catch block
	                e.printStackTrace();
	            }

	        }
	    }

		public void start() {
			// TODO Auto-generated method stub
			
		}
}


---
import java.util.Random;

public class JogadorC extends Jogo  {

	    public JogadorC() {
	        super();
	    }
	    public void run() {
	    Random r = new Random();
	    
	        for (int i = 0; i < 10; i++) {
	            System.out.println("JogadorC");
	            try {
	                Thread.sleep(r.nextInt(1000));
	            } catch (Exception e) {
	                e.printStackTrace();
	            }
	        }
	    
	    }
		public void start() {
			
		}
		public void start1() {
			
		}
	    
	    
	}
darlan_machado

O que está incorreto?

Dica: quando postar código, selecione o trecho e clique em </> acima do editor. Isso fará com que op mesmo seja formatado por completo.

staroski

Não entendi porque JogadorA, JogadorB e JogadorC estendem a classe Jogo pois um Jogador não é um Jogo.

Também não faz sentido criar uma classe para cada Jogador, bastaria criar uma classe Jogador, aí cada jogador será um objeto dessa classe.

Criado 9 de outubro de 2019
Ultima resposta 20 de nov. de 2019
Respostas 4
Participantes 3