成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

java swing框架實(shí)現(xiàn)貪吃蛇游戲

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

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

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、編寫實(shí)體類

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('你掛了!你的分?jǐn)?shù)'+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('結(jié)束'); 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('分?jǐn)?shù)'+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('你掛了!你的分?jǐn)?shù)'+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框架實(shí)現(xiàn)貪吃蛇游戲

更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:

C++經(jīng)典小游戲匯總

python經(jīng)典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經(jīng)典游戲 玩不停

javascript經(jīng)典小游戲匯總

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

標(biāo)簽: Java
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产91精品久久久久久久网曝门| 高清不卡在线观看av| 久久99热这里只有精品| 在线日本高清免费不卡| 久久久国产综合精品女国产盗摄| 麻豆中文一区二区| 久久久久久久久久码影片| 洋洋av久久久久久久一区| 在线观看日韩av电影| 国产情人综合久久777777| 成人少妇影院yyyy| 欧美一区二区精美| 国产精品一区在线观看你懂的| 91黄色免费看| 日韩中文字幕不卡| 久久久久综合一区二区三区| 亚洲午夜av在线| 国产欧美日韩一级| 一区二区三区精品| 亚洲一区三区电影在线观看| 欧美日韩精品欧美日韩精品一| 日韩精品色哟哟| 91精品国产综合久久福利软件| 国产精品久久久久久久久快鸭 | 久草在线在线精品观看| 欧美不卡一卡二卡免费版| 精品国产三级电影在线观看| 国产一区二区三区成人欧美日韩在线观看| 中文字幕视频一区二区三区久| 欧美日韩三级电影在线| 亚洲国产精品ⅴa在线观看| 成人国产精品免费观看动漫 | 99热精品在线观看| 亚洲精品videosex极品| 99精品热6080yy久久| 午夜一区二区三区在线观看| 色婷婷av一区二区三区大白胸| 琪琪久久久久日韩精品| 91久久精品网| 韩国欧美国产1区| 欧美一区二区黄| 91丝袜美腿高跟国产极品老师| 国产亚洲人成网站| 欧美jizzhd精品欧美巨大免费| 国产精品免费视频观看| 99香蕉国产精品偷在线观看| 亚洲成人中文在线| 色视频成人在线观看免| 美日韩一区二区三区| 欧美精品成人一区二区三区四区| 国产成人免费视频精品含羞草妖精| 欧美mv和日韩mv国产网站| 91免费观看视频在线| 国产精品色在线观看| 亚洲精品一区二区三| 亚洲成人www| 欧美三级视频在线播放| 色哟哟欧美精品| 精品一区二区三区视频在线观看 | 一区视频在线播放| 国产日韩欧美三区| 日韩av午夜在线观看| 欧美一级电影网站| 91麻豆成人久久精品二区三区| 亚洲美女视频在线观看| 色综合久久天天| 粉嫩久久99精品久久久久久夜| 亚洲国产精品99久久久久久久久| 国产精品一区免费观看| 麻豆精品在线播放| 日韩免费看网站| 韩国一区二区三区美女美女秀| 亚洲图片欧美色图| 91精品国产综合久久久久久久 | 色美美综合视频| 国产激情一区二区三区四区 | 国产精品一区在线| 国产欧美一区二区在线观看| 国产日韩欧美三区| 从欧美一区二区三区| 亚洲色图第一区| 精品视频1区2区| 欧美在线网址| 天天综合天天做天天综合| 日韩一区二区三区在线| 好吊日精品视频| 日韩av网站在线观看| 欧美精品一区二区三区一线天视频 | 亚洲人成久久| 韩国视频一区二区| 亚洲欧洲三级电影| 欧美群妇大交群中文字幕| 亚洲天堂成人| 韩国精品主播一区二区在线观看 | 国产精品日韩成人| 色天天综合久久久久综合片| 91原创在线视频| 五月婷婷久久综合| 亚洲精品一区在线观看| 香蕉久久国产| 99久久精品国产精品久久| 午夜精品影院在线观看| 久久久亚洲欧洲日产国码αv| 久久精品日产第一区二区| 成人的网站免费观看| 亚洲大片精品永久免费| 亚洲精品在线观看视频| 国产精品一区视频网站| 99久久精品费精品国产一区二区| 天天综合网 天天综合色| 久久久精品国产免大香伊| 色噜噜久久综合| 国产精品va| 国产在线视频一区二区三区| 亚洲色图在线看| 欧美成人一级视频| 色哟哟一区二区在线观看 | 好吊日精品视频| 国产91对白在线观看九色| 亚洲一区二区三区四区五区中文| 26uuu欧美| 欧洲av在线精品| 悠悠资源网久久精品| 不卡电影一区二区三区| 蜜臀精品一区二区三区在线观看 | 成人丝袜高跟foot| 日本欧美加勒比视频| 18欧美亚洲精品| 精品va天堂亚洲国产| 欧美在线999| 亚洲青涩在线| 99精品桃花视频在线观看| 精品一区二区三区免费观看| 亚洲国产日韩一级| 中文字幕不卡三区| 日韩欧美国产电影| 欧美在线一区二区| 久久国产精品高清| 国内精品久久久久久久97牛牛| 国产黄人亚洲片| 免费一级欧美片在线观看| 亚洲综合色噜噜狠狠| 国产日产亚洲精品系列| 日韩欧美国产1| 欧美日韩激情在线| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲欧美精品午睡沙发| 久久久午夜精品理论片中文字幕| 欧美亚洲动漫另类| 国产精品一区在线播放| 极品av少妇一区二区| 91免费观看在线| 成人激情小说网站| 国产中文字幕一区| 久久66热re国产| 麻豆精品在线看| 美国欧美日韩国产在线播放| 天天影视色香欲综合网老头| 亚洲色大成网站www久久九九| 久久免费的精品国产v∧| 欧美一区国产二区| 欧美在线免费观看亚洲| 久久久久国产精品一区二区| 亚洲日本激情| 亚洲清纯自拍| 亚洲人久久久| 亚洲三级国产| 在线亚洲一区| 亚洲一区日韩在线| 午夜在线a亚洲v天堂网2018| 在线亚洲伦理| 一区二区三区四区五区视频| 日韩亚洲国产精品| 亚洲福利国产| 一本色道久久综合| 国产日韩一区欧美| 午夜精品久久久久久久99樱桃| 亚洲国产精品久久一线不卡| 亚洲一区中文在线| 一二三区精品福利视频| 亚洲一区二区三区小说| 亚洲国产精品人人做人人爽| 亚洲成人www| 日韩激情在线观看| 美女脱光内衣内裤视频久久网站| 久久精品国产精品亚洲红杏| 久久不见久久见免费视频7| 黑人巨大精品欧美一区| 国产91精品一区二区麻豆网站| 成人午夜视频福利| 91网站视频在线观看| 国产精品国产三级欧美二区| 亚洲高清资源综合久久精品| 91久久久一线二线三线品牌| 亚洲一区二区三区涩| 久久久精品五月天| 欧美性大战久久久久久久| 91精品欧美一区二区三区综合在| 精品精品国产高清a毛片牛牛| 久久精品无码一区二区三区|