实现效果如下:
文章插图
(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();}}
实现效果如下:
文章插图
- 杭州桑拿
- 电信云2.0——助力5G在云原生时代领跑“下一个十年”
- 粤港澳大湾区,又一座超大型工程将跨越伶仃洋——深中通道建设扎实推进 产经观察·走进重大工程一线③ 世界之最2016
- 雷杜德的玫瑰、奥杜邦的火烈鸟、海克尔的水母——这些博物画究竟有多美? 世界之最图册
- 古宅新韵架起文化沟通桥梁——三位“老外”和传统村落的故事 另类世界之最
- 王老凿
- 甜心安妮
- 帝国花园
- RFT API学习之——TestObject
- 北辰时代大厦 北辰时代广场