我正在使用Slick2D
进行游戏,并且有很多“ if”语句,而我想摆脱它。现在这是我的代码:
if((playerPositionX>570 && playerPositionX<835) && (playerPositionY>16 && playerPositionY<260)){
g.setColor(Color.red);
g.drawString("Ready to play? press enter!", 400,350);
}
一切都很好,但是我很喜欢8以及这些,显然坐标不同。
因此,我想知道是否可以使用switch和case方法来解决此问题。
最佳答案
您不能将带有范围的开关用作大小写。换句话说,是这样的:
Switch(playerPosition)
case 570-835:
....
不存在。您可以这样做:
int num;
if (playerPositionX>570 && playerPositionX<835){
num = 0;
if (playerPositionX>836 && playerPositionX<1000){
num = 1;
接着
Switch(num){
case 0:
...
case 1:
...
但您仍然必须使用if语句。