【发布时间】:2023-03-13 05:42:01
【问题描述】:
我的程序基本上是用 2 个玩家玩井字游戏,每个玩家在不同的线程上运行。现在我的问题是我不知道如何让两个线程一个接一个地运行,直到其中一个玩家获胜。这是我的代码:
final HumanPlayer p1 = new HumanPlayer();
final HumanPlayer p2 = new HumanPlayer();
Thread tr1 = new Thread()
{
public void run()
{
System.out.printf("Player %s's turn\n",p1Name);
System.out.printf("Insert row number:\n");
row = Integer.parseInt(s.nextLine());
System.out.printf("Insert column number:\n");
col = Integer.parseInt(s.nextLine());
p1.fillBoard(p1.index(row,col),board,1);
p1.printBoard(board);
if(p1.checkWin(board, p1Name) != null)
{
System.out.printf("Player %s won.\n",p1Name);
}
}
};
Thread tr2 = new Thread()
{
public void run()
{
System.out.printf("Player %s's turn\n",p2Name);
System.out.printf("Insert row number:\n");
row = Integer.parseInt(s.nextLine());
System.out.printf("Insert column number:\n");
col = Integer.parseInt(s.nextLine());
p2.fillBoard(p2.index(row,col),board,2);
p2.printBoard(board);
if(p2.checkWin(board, p2Name) != null)
{
System.out.printf("Player %s won.\n",p2Name);
}
}
};
tr1.start();
tr1.join();
tr2.start();
tr2.join();
}
【问题讨论】:
标签: java multithreading java-threads