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

您的位置:首頁技術文章
文章詳情頁

java實現簡易貪吃蛇游戲

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

本文實例為大家分享了java實現貪吃蛇游戲的具體代碼,供大家參考,具體內容如下

1.封裝貪吃蛇身體,抽象出貪吃蛇結點類Node,結點用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、窗體 * 位置(坐標) * 標題 * 大小 * 背景顏色 * 窗體的大小不可變 * 可見 * 2、繪制蛇 */ public Snake(){ //窗體標題 super.setTitle('貪吃蛇游戲'); //窗體位置 super.setLocation(100,100); //窗體大小 super.setSize(600,600); //背景顏色 super.setBackground(new Color(252,255, 208)); //設置窗體可見 super.setVisible(true); // 窗體大小不可變 super.setResizable(false); //給關閉按鈕添加事件 super.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); //獲取聚焦 super.setFocusable(true); //添加鍵盤監聽 super.addKeyListener(this); start(); } public void start(){ while(!is_attack){ try{ Thread.sleep(200); }catch (Exception e){ e.printStackTrace(); } //碰撞檢測 attack_check(); //刷新窗體,調用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(){ //吃到食物判斷,頭結點坐標和食物坐標相等 if ((body.get(0).getX()==body.get(body.size()-1).getX())&&(body.get(0).getY()==body.get(body.size()-1).getY())) { //出現下一個食物 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); //蛇身加一個結點 body.add(body.size()-1,new Node(0,0)); } //移動頭尾節點,使貪吃蛇移動 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); } } /** * 展示窗體|每一次刷新窗體都會執行的方法 * @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(); //游戲結束繪制 if(is_attack){ g.setColor(new Color(255, 67, 40)); Font ft = new Font('宋體', Font.PLAIN, 40); g.setFont(ft); g.drawString('很遺憾,游戲結束',150,300); } } //事件監聽 @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(); }}

運行圖片

java實現簡易貪吃蛇游戲

游戲結束

java實現簡易貪吃蛇游戲

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美自拍| 亚洲性图久久| 97精品在线| 国产精品久久亚洲不卡| 日本成人一区二区| 日韩有吗在线观看| 日本欧洲一区二区| 久久国产精品久久久久久电车| 日韩精品国产欧美| 亚洲综合福利| 亚州国产精品| 麻豆91精品| 日韩精品一区第一页| 视频在线观看91| 亚洲涩涩av| 日韩高清电影免费| 国产精品一在线观看| 麻豆视频一区| 精品日韩一区| 久久久男人天堂| 亚洲a在线视频| 欧美一区三区| 免费久久99精品国产自在现线| 免费久久99精品国产自在现线| 亚洲有吗中文字幕| 日韩成人精品一区二区三区| 综合国产在线| 偷拍亚洲精品| 国产欧美啪啪| 国产精品xxx在线观看| 国产精品日本欧美一区二区三区| 美女久久一区| 亚洲字幕久久| 国产欧美日韩免费观看| 97精品国产一区二区三区 | 天堂精品久久久久| 国产亚洲电影| 国产精品亚洲人成在99www| 国产一区二区三区网| 激情黄产视频在线免费观看| 久久麻豆精品| 亚洲在线一区| 国产日韩一区二区三免费高清 | 噜噜噜躁狠狠躁狠狠精品视频| 日韩高清在线观看一区二区| 欧美91在线|欧美| 久久精品123| 日本亚洲欧洲无免费码在线| 国产一区二区三区日韩精品| 99国产精品| 国产美女久久| 国产h片在线观看| 国产视频久久| 日本午夜精品视频在线观看| 欧美天堂视频| 亚洲人成网77777色在线播放| 麻豆精品蜜桃视频网站| 久久99蜜桃| 美女91精品| 成人三级高清视频在线看| 蜜桃一区二区三区在线观看| 久久精品国产免费| 香蕉成人久久| 精品国产鲁一鲁****| 亚洲激情av| 久久精品国产福利| 香蕉久久国产| 久久一区精品| 亚洲精品一级| 国产不卡人人| 日韩精品免费一区二区夜夜嗨| 日韩欧美不卡| 欧美日韩中文| 欧美午夜不卡| 都市激情国产精品| 日韩黄色免费网站| 国产精品av一区二区| 你懂的亚洲视频| 在线免费观看亚洲| 成人羞羞视频播放网站| 国产亚洲久久| 亚洲激情精品| 福利一区和二区| 91福利精品在线观看| 欧美午夜不卡| 日韩国产一区二区三区| 欧美久久一区二区三区| 先锋亚洲精品| 亚洲天堂1区| 精品五月天堂| 日韩二区三区四区| 免费人成在线不卡| 99精品综合| 久久av日韩| 欧美久久亚洲| 日韩在线网址| 中文字幕亚洲精品乱码| 激情欧美一区| 久久国产日韩| 国产成人精品免费视| 国产精品xvideos88| 日韩欧美激情| 蜜臀精品一区二区三区在线观看| 亚洲午夜久久久久久尤物| 波多视频一区| 国产精品蜜芽在线观看| 精品中文字幕一区二区三区四区| 综合一区在线| 亚洲欧美网站在线观看| 国产日韩综合| 亚洲精品国产偷自在线观看| 国产在线|日韩| 97欧美在线视频| 色婷婷亚洲mv天堂mv在影片| 麻豆视频一区二区| 国产精品白丝久久av网站| 日韩av在线播放中文字幕| 日韩中文字幕视频网| 亚洲精品福利| 久热re这里精品视频在线6| 欧美日韩日本国产亚洲在线 | 久久久久久网| 成人在线丰满少妇av| 国产日本亚洲| 国产日韩欧美一区在线| 日本不卡视频在线观看| 蜜桃一区二区三区在线| 日韩一区二区三区四区五区| 日韩av中文在线观看| 日本精品国产| 国产视频一区二| 国产精品手机在线播放| 国产精品传媒麻豆hd| 欧美亚洲自偷自偷| 国产精品一区二区免费福利视频| 国产精品久久久久久久久久妞妞| 日韩激情啪啪| 国产精品网在线观看| 精品国内亚洲2022精品成人| 色综合狠狠操| 日韩一区三区| 欧美日韩精品免费观看视完整| 性欧美videohd高精| 九一精品国产| 合欧美一区二区三区| 日韩中文字幕91| 亚洲精品国产日韩| 青青草伊人久久| 国产精品2区| 肉色欧美久久久久久久免费看| 999国产精品视频| 中文一区二区| 婷婷成人av| 麻豆久久久久久久| 成人日韩在线| 91精品二区| 久久国产精品毛片| 久久精品av麻豆的观看方式| 国产精品久久久久久久久久妞妞 | 免费在线亚洲| 日韩中文首页| 日韩一级精品| 日本不卡的三区四区五区| 国产极品模特精品一二| 久久久久久一区二区| 精品一区在线| 久久亚洲一区| 国产精品色在线网站| 亚洲精品88| 蜜臀精品一区二区三区在线观看 | 亚洲制服少妇| 91精品国产一区二区在线观看| 精品国内亚洲2022精品成人| 久久久久国产一区二区| 视频精品一区二区| 国产精品一区二区三区av麻 | 国产精品欧美在线观看| 亚洲精品**中文毛片| 激情欧美丁香| 人人精品久久| 色在线中文字幕| 久久国产精品99国产| 国产精品自拍区| 欧美高清不卡| 日韩高清国产一区在线| 色黄视频在线观看| 久久99伊人| 国产 日韩 欧美 综合 一区| 亚洲黄色影院| 精品午夜av| 国产亚洲精品自拍| 国产精品chinese| 久久久久久久久久久9不雅视频| 日韩手机在线| 成人看片网站| 国产精一区二区| 午夜欧美精品| 精品三区视频| 亚洲精选久久| 亚洲二区免费|