次のコードは機能しません。キーを押す方法を使用してプレーヤーを左、右、上、下に移動しようとしていますが、キーを押しても反応しません。コード全体を貼り付けたのではなく、ボックスを移動する部分だけを貼り付けました。他のコンテンツの移動を実現するための他の if ステートメントがあります。
public class innerClassKeyPressed {
void keyPressed( KeyEvent e)
{
int key= e.getKeyCode();
if(key==KeyEvent.VK_LEFT){
dx=-1;
}
if(key==KeyEvent.VK_RIGHT){
dx=1;
}
if (key==KeyEvent.VK_UP){
dy=-1;
}
if (key==KeyEvent.VK_DOWN){
dy=1;
}
if (key == 82)
{
initLevel(currlevel);
} //R
if (key == 78)
{
currlevel++;
initLevel(currlevel);
}
if ( (key == KeyEvent.VK_LEFT ) && ( key == KeyEvent.VK_RIGHT ) &&
(key == KeyEvent.VK_UP ) && ( key == KeyEvent.VK_DOWN )) {
return;
}
for (int row=0; row < myArray.length; row++)
{
for (int column=0; column < myArray[row].length; column++)
{
if( myArray[row][column]== Contents.PLAYER) {
if (myArray[row+dy][column+dx] == Contents.BOX)
{
if (myArray[row+dy*2][column+dx*2] == Contents.EMPTY)
{
myArray[row+dy][column+dx]= Contents.PLAYER;
myArray[row][column]= Contents.EMPTY;
myArray[row+dy*2][column+dx*2]= Contents.BOX;