第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java貪吃蛇問題(要達到的效果是出現(xiàn)一個藍色格子在動)

java貪吃蛇問題(要達到的效果是出現(xiàn)一個藍色格子在動)

xyxxzsky 2015-06-03 12:11:30
第一個類 import?java.awt.Color; import?java.awt.Graphics; import?java.awt.event.KeyEvent; public?class?Snake?{ ????Node?head?=?null; ????Node?tail?=?null; ????int?size?=?0; ????Dir?dir?=?Dir.D; ????Node?n?=?new?Node(30,?30,?Dir.D); ????public?Snake(){ ????????head?=?n; ????????tail?=?n; ????????size?=?1; ????} ???? ????class?Node{ ????????int?row,?col; ????????Dir?dir; ????????Node?next?=?null; ????????Node?prev?=?null; ????????public?static?final?int?nodeW?=?SnakeMain.BLOCK; ????????public?static?final?int?nodeH?=?SnakeMain.BLOCK; ????????Node(int?row,?int?col,?Dir?dir?){ ????????????this.row?=?row; ????????????this.col?=?col; ????????????this.dir?=?dir; ????????}???? ???????? ????????void?draw(Graphics?g){ ????????????Color?c?=?g.getColor(); ????????????g.setColor(Color.BLUE); ????????????g.fillRect(SnakeMain.BLOCK?*?col,?SnakeMain.BLOCK?*?row,?nodeW,?nodeH); ????????????g.setColor(c);???? ????????} ????} ???? ????public?void?draw(Graphics?g){ ????????if(size?<=?0)?return; ???????? ????????for(Node?m?=?head;?m?!=?null;?m?=?m.next){ ????????????m.draw(g); ????????} ????????move(); ????} ???? ????private?void?move()?{ ????????addToHead(); ????????deleteFromTail(); ???????? ????} ???? ????private?void?deleteFromTail()?{ ????????if(size?==?0)?return; ????????tail?=?tail.prev; ????????tail.next?=?null; ????} ????public?void?addToTail(){ ????????Node?node?=?null; ????????switch(tail.dir){ ????????case?L: ????????????node?=?new?Node(tail.row,?tail.col?+?1,?tail.dir); ????????????break; ????????case?R: ????????????node?=?new?Node(tail.row,?tail.col?-?1,?tail.dir); ????????????break; ????????case?U: ????????????node?=?new?Node(tail.row?+?1,?tail.col,?tail.dir); ????????????break; ????????case?D: ????????????node?=?new?Node(tail.row?-?1,?tail.col,?tail.dir); ????????????break; ????????} ????????tail.next?=?node; ????????node.prev?=??tail; ????????tail?=?node; ????????size++; ????} ???? ????public?void?addToHead(){ ????????Node?node?=?null; ????????switch(head.dir){ ????????case?L: ????????????node?=?new?Node(head.row,?head.col?-?1,?head.dir); ????????????break; ????????case?R: ????????????node?=?new?Node(head.row,?head.col?+?1,?head.dir); ????????????break; ????????case?U: ????????????node?=?new?Node(head.row?-?1,?head.col,?head.dir); ????????????break; ????????case?D: ????????????node?=?new?Node(head.row?+?1,?head.col,?head.dir); ????????????break; ????????} ????????node.next?=?head; ????????head.prev?=?node; ????????head?=?node; ????????size++; ????} ????public?void?keyPressed(KeyEvent?e)?{ ????????int?key?=?e.getKeyCode(); ????????switch(key){ ????????case?KeyEvent.VK_UP: ????????????head.dir??=?dir.U; ????????????break; ????????case?KeyEvent.VK_DOWN: ????????????head.dir?=?dir.D; ????????????break; ????????case?KeyEvent.VK_LEFT: ????????????head.dir?=?dir.L; ????????????break; ????????case?KeyEvent.VK_RIGHT: ????????????head.dir?=?dir.R; ????????????break; ????????}??? ?????} } ???? ???? ???? ???? ???? ???第二個類 import?java.awt.*; import?java.awt.event.*; public?class?SnakeMain?extends?Frame?{ ????public?static?final?int?BLOCK?=?10; ????public?static?final?int?ROW?=?60; ????public?static?final?int?COLS?=?60; ????Snake?sn?=?new?Snake(); ????Image?offScreenImage?=?null; ????public?static?void?main(String[]?args)?{ ????????SnakeMain?sm?=?new?SnakeMain(); ????????sm.launch(); ????} ???? ????public?void?launch(){ ????????setSize(BLOCK?*?ROW,?BLOCK?*?COLS); ????????setBackground(Color.LIGHT_GRAY); ????????setResizable(false); ????????addWindowListener(new?WindowAdapter(){ ????????????public?void?windowClosing(WindowEvent?e){ ????????????????System.exit(0); ????????????} ????????}); ????????addKeyListener(new?KeyMonitor()); ????????setVisible(true); ????????new?Thread(new?PaintThread()).start(); ????} ???? ????public?void?paint(Graphics?g){ ????????Color?c?=?g.getColor(); ????????g.setColor(Color.YELLOW); ????????for(int?i?=?1;?i?<?ROW;?++i){ ????????????g.drawLine(0,?i?*?BLOCK,?BLOCK?*?ROW,?i?*?BLOCK); ????????} ????????for(int?j?=?1;?j?<?COLS;?++j){ ????????????g.drawLine(j?*?BLOCK,?0,?j?*?BLOCK,?BLOCK?*?COLS); ????????} ????????g.setColor(c); ????????sn.draw(g); ????} ???? ????public?void?update?(Graphics?g){ ????????if(offScreenImage?==?null)? ????????????offScreenImage?=?this.createImage(BLOCK?*?ROW,?BLOCK?*?COLS); ????????Graphics?gr?=?offScreenImage.getGraphics(); ????????paint(gr); ????????g.drawImage(offScreenImage,?0,?0,?null); ????} ???? ????public?class?PaintThread?implements?Runnable{ ????????public?void?run()?{ ????????????while(true){ ????????????????repaint();? ????????????????try?{ ????????????????????Thread.sleep(50); ????????????????}?catch?(InterruptedException?e)?{ ????????????????????e.printStackTrace(); ????????????????} ????????????} ???????????? ????????} ???????? ????} ???? ????public?class?KeyMonitor?extends?KeyAdapter{ ????????@Override ????????public?void?keyPressed(KeyEvent?e)?{ ????????????sn.keyPressed(e); ????????} ???????? ????} } ???? ???? ???? ???? ???? ????第三個類 ???? public?enum?Dir?{ ????D,?U,?L,?R }
查看完整描述

目前暫無任何回答

  • 0 回答
  • 2 關(guān)注
  • 1807 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號