Java ——简易俄罗斯方块( 四 )


实现效果如下:

Java ——简易俄罗斯方块

文章插图
(2)接收键盘指令并响应
游戏和玩家紧密关联 , 所以接下来我们需要使玩家能够通过键盘控制四格方块移动 。
因此 , 我们要开启键盘监听来达到玩家实时控制游戏的目的 , 并且通过不同的按键调用四格方块移动的不同方法 。
具体代码如下:
//开启键盘监听事件KeyListener l=new KeyAdapter() {public void keyPressed(KeyEvent e){//获取以下键子的代号int code=e.getKeyCode();switch (code) {case KeyEvent.VK_DOWN:softDropAction();break;case KeyEvent.VK_LEFT:moveLeftAction();break;case KeyEvent.VK_RIGHT:moveRightAction();break; }repaint();}};this.addKeyListener(l);this.requestFocus();while(true){/** 当程序运行到此 , 会进入睡眠状态* 睡眠时间为300毫秒 , 单位为毫秒* 300毫秒后会自动执行后续代码*/try {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}if(canDrop()){currentOne.softDrop();}else{landToWall();//将下一个下落的四格方块赋值给正在下落的变量currentOne=nextOne;nextOne=Tetromino.randomOne();}/** 下落之后 , 要重新进行绘制 , 才会看到下落后的位置* repaint方法也是Jpanel类中提供的* 此方法调用了paint方法*/repaint();}}
实现效果如下:
Java ——简易俄罗斯方块

文章插图