日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

java實(shí)現(xiàn)簡易貪吃蛇游戲

瀏覽:116日期:2022-08-18 18:56:32

本文實(shí)例為大家分享了java實(shí)現(xiàn)貪吃蛇游戲的具體代碼,供大家參考,具體內(nèi)容如下

1.封裝貪吃蛇身體,抽象出貪吃蛇結(jié)點(diǎn)類Node,結(jié)點(diǎn)用ArrayList存儲

import java.awt.*;public class Node { private int x; private int y; public Node(int x, int y) { this.x = x; this.y = y; } public Node(){ } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public void drawNode(int i, Graphics g){ if(i==0){//頭繪制成圓 g.fillOval(this.x,this.y,20-1,20-1); }else{//身體繪制成矩形 g.fillRect(this.x,this.y,20-1,20-1); } }}

2.主類

import java.awt.*;import java.awt.event.*;import java.util.ArrayList;public class Snake extends Frame implements KeyListener , ActionListener { //初始蛇移動方向 String fx='right'; //碰撞判斷 boolean is_attack=false; private ArrayList<Node> body=new ArrayList<Node>(); { body.add(new Node(160, 60)); body.add(new Node(140, 60)); body.add(new Node(120, 60)); int x=(int)(Math.random()*580); int y=(int)(Math.random()*580); body.add(new Node(x-x%20,y-y%20)); } /** * 貪吃蛇 * 1、窗體 * 位置(坐標(biāo)) * 標(biāo)題 * 大小 * 背景顏色 * 窗體的大小不可變 * 可見 * 2、繪制蛇 */ public Snake(){ //窗體標(biāo)題 super.setTitle('貪吃蛇游戲'); //窗體位置 super.setLocation(100,100); //窗體大小 super.setSize(600,600); //背景顏色 super.setBackground(new Color(252,255, 208)); //設(shè)置窗體可見 super.setVisible(true); // 窗體大小不可變 super.setResizable(false); //給關(guān)閉按鈕添加事件 super.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); //獲取聚焦 super.setFocusable(true); //添加鍵盤監(jiān)聽 super.addKeyListener(this); start(); } public void start(){ while(!is_attack){ try{ Thread.sleep(200); }catch (Exception e){ e.printStackTrace(); } //碰撞檢測 attack_check(); //刷新窗體,調(diào)用paint方法 repaint(); } } //碰撞檢測 public void attack_check(){ //撞到身體檢測 for(int i=1;i<body.size()-1;i++){ if (body.get(0).getX()==body.get(i).getX()&&body.get(0).getY()==body.get(i).getY()){ is_attack=true; } } //撞到邊界 if(body.get(0).getX()==0||body.get(0).getX()==600||body.get(0).getY()==0||body.get(0).getY()==600){ is_attack=true; } } //移動貪吃蛇 public void move(){ //吃到食物判斷,頭結(jié)點(diǎn)坐標(biāo)和食物坐標(biāo)相等 if ((body.get(0).getX()==body.get(body.size()-1).getX())&&(body.get(0).getY()==body.get(body.size()-1).getY())) { //出現(xiàn)下一個食物 int x=(int)(Math.random() * 580); int y=(int)(Math.random() * 580); body.get(body.size()-1).setX(x-x%20); body.get(body.size()-1).setY(y-y%20); //蛇身加一個結(jié)點(diǎn) body.add(body.size()-1,new Node(0,0)); } //移動頭尾節(jié)點(diǎn),使貪吃蛇移動 Node node=body.get(0); if (fx.equals('up')){ node=new Node(node.getX(),node.getY()-20); //加頭 body.add(0,node); //去尾 body.remove(body.size()-2); }if (fx.equals('down')){ node=new Node(node.getX(),node.getY()+20); //加頭 body.add(0,node); //去尾 body.remove(body.size()-2); }if (fx.equals('right')){ node=new Node(node.getX()+20,node.getY()); //加頭 body.add(0,node); //去尾 body.remove(body.size()-2); }if (fx.equals('left')){ node=new Node(node.getX()-20,node.getY()); //加頭 body.add(0,node); //去尾 body.remove(body.size()-2); } } /** * 展示窗體|每一次刷新窗體都會執(zhí)行的方法 * @param g 畫筆 */ @Override public void paint(Graphics g) { g.setColor(new Color(105, 78,255)); for(int i=0; i<body.size(); i++){ body.get(i).drawNode(i,g); } move(); //游戲結(jié)束繪制 if(is_attack){ g.setColor(new Color(255, 67, 40)); Font ft = new Font('宋體', Font.PLAIN, 40); g.setFont(ft); g.drawString('很遺憾,游戲結(jié)束',150,300); } } //事件監(jiān)聽 @Override public void actionPerformed(ActionEvent e) { } @Override public void keyPressed(KeyEvent e) { int keyCode=e.getKeyCode(); if(keyCode==KeyEvent.VK_UP){ fx='up'; }if (keyCode==KeyEvent.VK_DOWN){ fx='down'; }if (keyCode==KeyEvent.VK_LEFT){ fx='left'; }if (keyCode==KeyEvent.VK_RIGHT){ fx='right'; } } @Override public void keyTyped(KeyEvent e) { } @Override public void keyReleased(KeyEvent e) { } /** * main方法 * @param args */ public static void main(String[] args) { new Snake(); }}

運(yùn)行圖片

java實(shí)現(xiàn)簡易貪吃蛇游戲

游戲結(jié)束

java實(shí)現(xiàn)簡易貪吃蛇游戲

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费成人av在线播放| 青青伊人久久| 国产精品videossex久久发布| 日韩精品成人| 亚洲精品伊人| 久久精品亚洲| 麻豆精品蜜桃| 日韩精品中文字幕第1页| 九九久久电影| 免费观看在线综合色| 在线亚洲精品| 国产欧美亚洲一区| 久久久五月天| 国产毛片精品久久| 欧美欧美黄在线二区| 欧洲av一区二区| 亚洲三级欧美| 亚洲午夜久久久久久尤物| 奇米狠狠一区二区三区| 亚洲精品影视| 国产精品网站在线看| 成人在线丰满少妇av| 性色一区二区| 精品成av人一区二区三区| 日韩在线卡一卡二| 亚洲精品无播放器在线播放| 欧美一区不卡| 国产一区二区久久久久| 99精品视频在线| 热久久免费视频| 国产毛片久久久| 91视频一区| 视频精品一区| 久久激情五月婷婷| 日本黄色精品| 黄色成人91| 国产欧美一区二区三区精品酒店| 成人免费电影网址| 欧美日韩视频| 91av一区| 日韩成人综合| 免费久久精品视频| 久久超级碰碰| 欧美日韩国产免费观看视频| 日本少妇精品亚洲第一区| 风间由美中文字幕在线看视频国产欧美| 日韩久久精品| 蜜臀a∨国产成人精品| 久久99免费视频| 免费不卡中文字幕在线| 日韩三区四区| 中文在线а√天堂| 亚洲综合激情在线| 国内精品福利| 亚洲精品进入| 日韩精品电影| 日韩av三区| 久久婷婷久久| 欧美一区91| 久久在线免费| 国产精品久久久久77777丨| 欧美片第1页| 日韩激情综合| 欧美日韩水蜜桃| 国产欧美日韩一区二区三区四区 | 日本91福利区| 欧美国产小视频| 日韩va欧美va亚洲va久久| 精品国产亚洲一区二区三区在线| 欧美午夜精品一区二区三区电影| 国产伦理一区| 免费看精品久久片| 99精品网站| 鲁大师精品99久久久| 国产美女亚洲精品7777| 不卡在线一区| 国产成人免费| 欧美另类中文字幕| 午夜在线视频观看日韩17c| 色网在线免费观看| 久久成人福利| 日韩精品亚洲aⅴ在线影院| 国产精品99一区二区| 国产一区二区久久久久| 亚欧洲精品视频在线观看| 精品一区毛片| 日韩大片在线播放| 久久尤物视频| 亚洲欧洲日韩精品在线| 亚洲激情五月| 午夜欧美巨大性欧美巨大| 久久免费福利| 欧美精品中文字幕亚洲专区| 久久亚洲视频| 亚洲深夜福利| 亚洲午夜av| 视频小说一区二区| 日韩在线综合| 91视频一区| 欧美成人精品午夜一区二区| 日本久久一区| 日韩三级精品| 亚洲三级国产| 蜜桃一区二区三区在线观看| 免费观看久久av| 电影亚洲精品噜噜在线观看| 国产一区国产二区国产三区| 久久久国产精品网站| 国产乱子精品一区二区在线观看 | 日本成人在线网站| 国产麻豆综合| 午夜欧美理论片| 精品日韩毛片| 亚洲二区三区不卡| 天堂网在线观看国产精品| 免费视频国产一区| 久久美女精品| 国产精品99一区二区| 亚洲成av人片一区二区密柚| 日韩中文在线电影| 日韩视频网站在线观看| 欧美aa在线观看| 久久高清免费| 91精品久久久久久久久久不卡| 日韩伦理一区| 国产精品字幕| 久久香蕉国产| 亚洲免费成人| 亚洲一区国产| 免费一区二区视频| 日韩欧美高清一区二区三区| 97精品国产99久久久久久免费| 欧美一区免费| 麻豆国产精品一区二区三区| 91亚洲成人| 欧美午夜精品一区二区三区电影| 欧美jjzz| 热久久免费视频| 日本电影久久久| 国产日韩视频在线| 欧美激情视频一区二区三区免费 | 欧美粗暴jizz性欧美20| 性欧美69xoxoxoxo| 巨乳诱惑日韩免费av| 男人操女人的视频在线观看欧美| 日韩在线一二三区| 欧美日韩va| 久久av偷拍| 成人国产精品一区二区免费麻豆| 五月激情久久| 久久av在线| 欧美在线看片| 成人在线免费观看网站| 亚洲午夜久久久久久尤物 | 蜜桃av一区二区三区电影| 日韩中文一区二区| 国产精品jk白丝蜜臀av小说| 岛国av在线网站| 国产一区导航| 欧美亚洲人成在线| 成人午夜在线| 亚洲成人免费| 日韩av午夜在线观看| 精品日本视频| 欧美日韩国产精品一区二区亚洲| 亚洲精品日韩久久| 精品国产乱码久久久久久樱花| 99久精品视频在线观看视频| 亚洲不卡视频| 国产在线不卡一区二区三区| 女人天堂亚洲aⅴ在线观看| 日韩一区网站| 97人人精品| 蜜桃av一区二区| 精品一区av| 国产综合精品| 日韩不卡在线观看日韩不卡视频| 欧美激情另类| 在线免费观看亚洲| 韩日一区二区| 蜜芽一区二区三区| 精品国产三区在线| 亚洲欧美日韩国产一区二区| 国产精品1luya在线播放| 欧美日韩激情| 国产精久久久| 亚洲综合二区| 精品国产aⅴ| 免费的成人av| 成人自拍av| 欧美日本不卡高清| 91精品国产成人观看| 国产情侣一区在线| 亚洲激情欧美| 久久一区视频| 亚洲精品在线a| 91精品久久久久久久久久不卡| 国产免费播放一区二区| 欧美特黄一区| 国产91欧美|