2016-04-15 4 views
-1
@Override 
public void keyPressed(KeyEvent e) { 
    int i = e.getKeyCode(); 
    if (i == KeyEvent.VK_A && direction != RIGHT && direction != DOWN && direction != UP) 
      direction = LEFT; 

    if (i == KeyEvent.VK_D && direction != LEFT && direction != UP && direction != DOWN) 
      direction = RIGHT; 

    if (i == KeyEvent.VK_W && direction != DOWN && direction != LEFT && direction != RIGHT) 
      direction = UP; 

    if (i == KeyEvent.VK_S && direction != UP && direction != LEFT && direction != RIGHT) 
      direction = DOWN; 


    if(i == KeyEvent.VK_SPACE) 
     if(over) 
      startGame(); 
     else 
      paused = !paused;   
} 
+2

ご質問はありますか? – Abdelhak

+1

これを見ると、すでに使用している方向にのみ方向を変更することができます。あなたは方向が右、下、上でないときに左に設定します - >それはすでに残っていますか? –

+0

あなたのコードをより明確にするために、角括弧{}を追加してみてください – Abdelhak

答えて

2

@ThomasBöhmがすでに述べたように、180度の回転を無効にして90度の回転を無効にすることはできないと思います。

public void keyPressed(KeyEvent e) { 
     int i = e.getKeyCode(); 
     if (i == KeyEvent.VK_A && direction != RIGHT) 
       direction = LEFT; 

     if (i == KeyEvent.VK_D && direction != LEFT) 
       direction = RIGHT; 

     if (i == KeyEvent.VK_W && direction != DOWN) 
       direction = UP; 

     if (i == KeyEvent.VK_S && direction != UP) 
       direction = DOWN; 


     if(i == KeyEvent.VK_SPACE) 
      if(over) 
       startGame(); 
      else 
       paused = !paused;   
    } 
関連する問題