文档详情

JAVA面向对象..doc

发布:2016-12-29约4.52万字共46页下载文档
文本预览下载声明
Java OOP Day04 Top 贪吃虫游戏——实现Worm方向改变 贪吃虫游戏——实现Food抓取 DMS2.0——完成DMSFrame窗体的设计和布局 DMS2.0——完成DMSFrame监听方法的实现 1 贪吃虫游戏——实现Worm方向改变 1.1 问题 如何利用键盘的方向键驱动贪吃虫的运行方向. 1.2 方案 利用Swing的监听键盘事件的方法监听键盘事件, 根据获取的按键值驱动贪吃虫向不同的方向运行: ????public void action() { ????????worm = new Worm(); ????????food = randomFood(); ????????timer.schedule(new CreepTask(this), 0, 200); ????????requestFocus();//请求当前绘图面板获取输入焦点 ????????//添加键盘事件监听器 ????????addKeyListener(new KeyAdapter() { ????????????//在有按键按下时候执行 ????????????public void keyPressed(KeyEvent e) { ????????????????int keyCode = e.getKeyCode();//获取按下的按键值 ????????????????switch (keyCode) {//检查按键值 ????????????????case KeyEvent.VK_DOWN://方向键 下 ????????????????????worm.changeDirection(Worm.DIRECTION_DOWN); ????????????????????creepForFood(); ????????????????????break; ????????????????case KeyEvent.VK_UP: ????????????????????worm.changeDirection(Worm.DIRECTION_UP); ????????????????????creepForFood(); ????????????????????break; ????????????????case KeyEvent.VK_LEFT: ????????????????????worm.changeDirection(Worm.DIRECTION_LEFT); ????????????????????creepForFood(); ????????????????????break; ????????????????case KeyEvent.VK_RIGHT: ????????????????????worm.changeDirection(Worm.DIRECTION_RIGHT); ????????????????????creepForFood(); ????????????????????break; ????????????????} ????????????} ????????}); ????} 1.3 实现 重构Worm类, 增加改变运行方向的方法: ????/** 改变方向 */ ????public boolean changeDirection(int direction) { ????????if (direction + currentDirection != 0) { ????????????currentDirection = direction; ????????????return true; ????????} ????????return false; ????} 重构WormStage类的action方法, 增加对键盘事件的监听 ????public void action() { ????????worm = new Worm(); ????????food = randomFood(); ????????timer.schedule(new CreepTask(this), 0, 200); ????????requestFocus();//请求当前绘图面板获取输入焦点 ????????//添加键盘事件监听器 ????????addKeyListener(new KeyAdapter() { ????????????//在有按键按下时候执行 ????????????public void keyPressed(KeyEvent e) { ????????????????int keyCode = e.getKeyCode();//获取按下的按键值 ???????
显示全部
相似文档