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

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

java swing框架實現貪吃蛇游戲

瀏覽:18日期:2022-08-19 13:25:05

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

1、編寫main方法

package game;import java.awt.Graphics;import javax.swing.*;public class snakeMain extends JFrame { public snakeMain() { snakeWin win = new snakeWin(); add(win); setTitle('̰貪吃蛇v1.0'); setSize(435,390); setLocation(200, 200); setVisible(true); } public static void main(String[] args) { new snakeMain(); }}

2、編寫實體類

package game;public class snakeAct { private int x; private int y; 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; } }

3、編寫主要程序

package game;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;import java.util.List;public class snakeWin extends JPanel implements ActionListener,KeyListener,Runnable{ int fenShu=0,Speed=0; boolean start = false; int rx=0,ry=0; int eat1=0,eat2=0; JDialog dialog = new JDialog(); JLabel label = new JLabel('你掛了!你的分數'+fenShu+''); JButton ok = new JButton('T_T'); Random r = new Random(); JButton newGame,stopGame; List<snakeAct> list = new ArrayList<snakeAct>(); int temp=0; Thread nThread; public snakeWin() { newGame = new JButton('開始'); stopGame = new JButton('結束'); newGame.addActionListener(this); stopGame.addActionListener(this); this.addKeyListener(this); this.setLayout(new FlowLayout(FlowLayout.LEFT)); this.add(newGame); this.add(stopGame); dialog.setLayout(new GridLayout(2, 1)); dialog.add(label); dialog.add(ok); dialog.setSize(200, 200); dialog.setLocation(200, 200); dialog.setVisible(false); ok.addActionListener(this); } public void paintComponent(Graphics g){ super.paintComponent(g); g.drawRect(10, 40, 400, 300); g.drawString('分數'+fenShu, 150, 15); g.drawString('速度'+Speed, 150, 35); g.setColor(new Color(0, 255, 0)); if(start){ g.fillRect(10+rx*10, 40+ry*10, 10, 10); for (int i = 0; i < list.size(); i++) { g.setColor(new Color(0, 0, 255)); g.fillRect(10+list.get(i).getX()*10, 40+list.get(i).getY()*10, 10, 10); } } } public void actionPerformed(ActionEvent e) { if(e.getSource()==newGame){ newGame.setEnabled(false); start = true; rx=r.nextInt(40);ry=r.nextInt(30); snakeAct tempAct = new snakeAct(); tempAct.setX(20); tempAct.setY(15); list.add(tempAct); this.requestFocus(); nThread = new Thread(this); nThread.start(); repaint(); } if(e.getSource()==stopGame){ System.exit(0); } if(e.getSource()==ok){ list.clear(); start=false; newGame.setEnabled(true); dialog.setVisible(false); fenShu=0; Speed=0; repaint(); } } private void eat() { if (rx==list.get(0).getX()&&ry==list.get(0).getY()) { rx = r.nextInt(40);ry = r.nextInt(30); snakeAct tempAct = new snakeAct(); tempAct.setX(list.get(list.size()-1).getX()); tempAct.setY(list.get(list.size()-1).getY()); list.add(tempAct); fenShu = fenShu+100*Speed+10; eat1++; if(eat1-eat2>=4){ eat2=eat1; Speed++; } } } public void otherMove(){ snakeAct tempAct = new snakeAct(); for (int i = 0; i < list.size(); i++) { if (i==1) { list.get(i).setX(list.get(0).getX()); list.get(i).setY(list.get(0).getY()); }else if(i>1){ tempAct=list.get(i-1); list.set(i-1, list.get(i)); list.set(i, tempAct); } } } public void move(int x,int y){ if (minYes(x, y)) { otherMove(); list.get(0).setX(list.get(0).getX()+x); list.get(0).setY(list.get(0).getY()+y); eat(); repaint(); }else { nThread = null; label.setText('你掛了!你的分數'+fenShu+''); dialog.setVisible(true); } } public boolean minYes(int x,int y){ if (!maxYes(list.get(0).getX()+x,list.get(0).getY()+ y)) { return false; } return true; } public boolean maxYes(int x,int y){ if (x<0||x>=40||y<0||y>=30) { return false; } for (int i = 0; i < list.size(); i++) { if (i>1&&list.get(0).getX()==list.get(i).getX()&&list.get(0).getY()==list.get(i).getY()) { return false; } } return true; } public void keyPressed(KeyEvent e) { if(start){ switch (e.getKeyCode()) { case KeyEvent.VK_UP: move(0, -1); temp=1; break; case KeyEvent.VK_DOWN: move(0, 1); temp=2; break; case KeyEvent.VK_LEFT: move(-1, 0); temp=3; break; case KeyEvent.VK_RIGHT: move(1, 0); temp=4; break; default: break; } } } public void keyReleased(KeyEvent e) {} public void keyTyped(KeyEvent e) {} public void run() { while (start) { switch (temp) { case 1: move(0, -1); break; case 2: move(0, 1); break; case 3: move(-1, 0); break; case 4: move(1, 0); break; default: break; } repaint(); try { Thread.sleep(300-30*Speed); } catch (InterruptedException e) { e.printStackTrace(); } } }}

4、效果圖

java swing框架實現貪吃蛇游戲

更多有趣的經典小游戲實現專題,分享給大家:

C++經典小游戲匯總

python經典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經典游戲 玩不停

javascript經典小游戲匯總

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

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品男女| av资源新版天堂在线| 99视频一区| 日韩精品社区| 欧美国产偷国产精品三区| 国产精品亲子伦av一区二区三区 | 日本在线不卡视频| 日韩激情中文字幕| 九九久久国产| 国产精品久久久久av电视剧| 亚洲精品精选| 免费一区二区三区在线视频| 亚洲深夜福利| 成人高清一区| 国产私拍福利精品视频二区| 久久精品高清| 91av一区| 国产精品白浆| 国产精品婷婷| 老色鬼精品视频在线观看播放| 播放一区二区| 日韩黄色av| 在线视频亚洲| caoporn视频在线| 黑丝一区二区三区| 久久伊人亚洲| 日韩中文欧美在线| 久久uomeier| 国产另类在线| 亚洲丝袜啪啪| 亚洲精品一区三区三区在线观看| 亚洲aa在线| 蜜桃tv一区二区三区| 色爱综合av| 国内精品伊人| 久久精品国产网站| 国产精品一在线观看| 日韩综合小视频| 一本一本久久| 欧美二三四区| 美女一区网站| 成人午夜精品| 久久男人av资源站| 欧美激情综合| 久久国产麻豆精品| 91p九色成人| 亚洲不卡视频| 亚洲毛片网站| 久色成人在线| 中文字幕亚洲在线观看| 国产专区一区| 136国产福利精品导航网址| 亚洲综合电影| 国产资源在线观看入口av| 91成人在线| 欧美国产先锋| 久久九九精品| 欧美日韩尤物久久| 亚洲欧美网站在线观看| 久久婷婷国产| 日韩午夜精品| 大香伊人久久精品一区二区| 免费一区二区视频| 成人日韩av| 亚洲美女91| 久久精品二区三区| 美女精品视频在线| 视频一区二区三区入口| 精品国产麻豆| 精品在线播放| 神马久久午夜| 国产精品久久免费视频| 精品72久久久久中文字幕| av资源新版天堂在线| 樱桃视频成人在线观看| 色88888久久久久久影院| 国产精品免费看| 国产亚洲精aa在线看| 亚洲国产福利| 视频在线观看一区二区三区| 国产日韩欧美一区二区三区在线观看| 久久久久久久久99精品大| 国产99亚洲| 久久国产乱子精品免费女| 国产精品对白| 午夜亚洲福利在线老司机| 美女视频网站久久| 免费在线看一区| 中文字幕高清在线播放| 亚洲中字黄色| 日韩精品免费一区二区在线观看| 91亚洲无吗| 夜夜嗨网站十八久久| 成人一区而且| 日本久久一区| 国产视频一区在线观看一区免费| 欧美好骚综合网| 日韩av不卡一区二区| 黄色日韩在线| 国产精品传媒麻豆hd| 黄色成人精品网站| 欧美日韩在线观看首页| 日韩av网站在线观看| 久久国产精品久久久久久电车| 国产在线日韩精品| 亚洲一区二区免费看| 亚洲精品高潮| 国产精品一区三区在线观看| 国产一区二区三区精品在线观看| 亚洲香蕉久久| 国产模特精品视频久久久久| 日韩在线观看一区二区| 日韩午夜视频在线| 卡一卡二国产精品| 麻豆精品视频在线观看免费| 精品一区二区三区的国产在线观看 | 五月综合激情| 久久国产麻豆精品| 国产精品v日韩精品v欧美精品网站| 国产精品视频一区二区三区综合 | 欧美韩一区二区| 国产午夜精品一区在线观看| 国产探花在线精品一区二区| 国产精品**亚洲精品| 日韩精品中文字幕第1页| 亚洲国产成人精品女人| 免费国产亚洲视频| 国产精品白丝一区二区三区| 伊人久久视频| 视频在线观看一区| 国产精品久av福利在线观看| 日韩专区精品| 日韩一区二区三区精品| 精品国产欧美日韩| 欧美日韩国产探花| 国产探花在线精品| 日本黄色精品| 日韩在线一二三区| 日本久久综合| 日韩欧美中文字幕在线视频| 国产精品对白| 国产精品porn| 丝袜诱惑一区二区| 久久精品一区| 久久激情一区| 亚洲精品极品少妇16p| 国产综合亚洲精品一区二| 免费久久精品视频| 久久久久97| 伊人成人网在线看| 尤物网精品视频| 在线精品亚洲| 国产精品一区毛片| 女同性一区二区三区人了人一 | 日韩免费久久| 国产农村妇女精品一区二区| 91精品在线免费视频| 成人精品天堂一区二区三区| 日韩精品社区| 色吊丝一区二区| 免费日韩精品中文字幕视频在线| 鲁鲁在线中文| 国产精品一区二区av交换| 欧美韩一区二区| 欧美日本不卡高清| 亚洲一级影院| 精品美女在线视频| 日韩亚洲精品在线观看| 国产精品久久久久久模特| 日本电影久久久| 麻豆精品视频在线| 国产视频网站一区二区三区| 麻豆一区二区三| 国产一区亚洲| 日本免费在线视频不卡一不卡二| 激情中国色综合| 久久国产99| 国产suv精品一区二区四区视频 | 亚洲一区二区动漫| 国产精品mm| 国产午夜精品一区在线观看| 日韩不卡一区二区三区| 亚洲成人三区| 久久中文字幕av| 久久a爱视频| 国产日韩一区| 久久国内精品视频| 国产日产精品_国产精品毛片| 亚洲三级在线| 久久国产精品久久久久久电车| 久久久久国产精品一区三寸| 国产极品一区| 精品不卡一区| 欧美综合另类| 99在线精品免费视频九九视| 亚洲综合精品| 91久久精品无嫩草影院| 欧美a级一区二区| 另类亚洲自拍| 国产欧美欧美|