我正在制作一个多人游戏,每个玩家在屏幕上都有自己的输入/输出控制台。我在尝试这样做时遇到了一些麻烦。我不希望每个玩家看到其他玩家的输入/输出。
使用类比,我想做playerOneConsole.out.println("Player One String");
而不是System.out.println("Player One String");
,而每个人都可以看到玩家的东西。
阅读完一些文档之后,我尝试了这个,但它没有按预期工作,因为它抛出了NullPointerException:
public class Player {
String myName;
Console myConsole;
public Player(String name) {
myName = name;
myConsole = System.console();
}
public void takeTurn(String playerOptions){
myConsole.writer().print(playerOptions); //This is not right.
}
}
我希望playerOptions
专门打印到该播放器的控制台,而不是System
控制台。
顺便说一句,如果有所不同,我正在使用NetBeans IDE 8.0.2。
答案 0 :(得分:6)
使用google.maps.DistanceMatrixService().getDistanceMatrix
时,您必须从控制台执行Java应用程序,例如Windows CMD或Linux终端。大多数IDE不会通过控制台执行Java,因此#define STATE_1 (uint8_t)(0x00)
#define STATE_2 (uint8_t)(0x01)
...
#define STATE_n (uint8_t)(0x..)
void HandleState(uint8_t state)
{
switch(state)
{
case (uint16_t)STATE_1:
// handle state 1
break;
case (uint16_t)STATE_2:
// handle state 2
break;
...
case (uint16_t)STATE_n:
// handle state n
break;
default:
break;
}
}
会返回java.io.Console
。
顺便说一下,这段代码:
System#console
确实如此:)