1

我正在制作游戏,Slick2D我有很多“如果”语句,我想摆脱它。现在这是我的代码:

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 方法来解决这个问题。

4

1 回答 1

2

您不能将具有范围的 Switch 用作案例。换句话说,是这样的:

 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 语句。

于 2013-04-07T23:07:30.710 回答