各プレイヤーがスレッドとして実装される 4 プレイヤーのサイコロ ゲームの実装を提供したいと考えています。各プレイヤーは、プレイヤー番号順にサイコロを振るチャンスを得ます。各投げダイスは、1 から 6 までの数字のみを返します。いずれかのプレイヤーが 25 ポイント以上の勝者を獲得するたびに、ゲームは停止します。
クラスの作成を考えています
ダイスを扱うためのダイス
すべてのスレッドとプレイヤー スコアを処理するためのボード
ゲーム を開始するためのゲーム
私のクラスのサイコロ
import java.util.Random;
public class Dice {
Random dice;
public Dice()
{
dice=new Random();
}
public int throwDice()
{
int a= dice.nextInt(70);
a=a/10;
if (a==0)
return 1;
else return a;
}
}
私のプレイヤークラス
public class Player extends Thread {
Board board;
int num;
public Player(Board b,int n)
{
board=b;
num=n;
}
public void run()
{
System.out.println("Player "+num+" is started, playing game...");
while(board.flag)
{
board.play(num);
}
}
}
ゲームクラス
public class TheGame {
public static void main(String[] args) {
System.out.println("Initializing board...");
Board b=new Board(); //Creating object of class board
System.out.println("Initializing players...");
Player p1=new Player(b,1); // Every player is Thread
Player p2=new Player(b,2);
Player p3=new Player(b,3);
Player p4=new Player(b,4);
p1.start(); //Starting Thread
p3.start();
p2.start();
p4.start();
}
}
ロジックを考えることができず、クラスのボードでどこから始めればよいかを決めることができません。ボードコードで私を助けてください
これは課題や宿題ではありません。自分でやりたいのですが、スレッド化の同期について深い考えがありません
私はコードを作成しようとしていますが、完全なチュートリアルを求めているのではなく、プレイヤー 1 がチャンスを逃した後にプレイヤー 1(スレッド) が実行されたときに順序を設定する方法を尋ねているだけです。