av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

java實(shí)現(xiàn)簡(jiǎn)單貪吃蛇小游戲

瀏覽:116日期:2022-08-11 17:18:23

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

有兩個(gè)類,放在同一文件下下即可,背景圖片,標(biāo)題,蛇尾可自行更改

import java.awt.*;import javax.swing.*;import java.awt.event.*;public class MyJFrame extends JFrame{ public MyJFrame() { int x= Toolkit.getDefaultToolkit().getScreenSize().width; int y = Toolkit.getDefaultToolkit().getScreenSize().height; setLocation((x-800)/2, (y-800)/2); setSize(800,800); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); setTitle('貪吃蛇'); setLayout(null); getLayeredPane().setLayout(null); JLabel background = new JLabel(new ImageIcon('C:UsersHPDesktopjavaabackground3.jpg'));//注意此處路徑 JLabel title = new JLabel(new ImageIcon('C:UsersHPDesktopjavaatitle1.jpg'));//注意此處路徑 background.setBounds(20,80,750,650); title.setBounds(0,0,800,75); getLayeredPane().add(background,new Integer(Integer.MIN_VALUE)); getLayeredPane().add(title,new Integer(Integer.MIN_VALUE+1)); ((JPanel)getContentPane()).setOpaque(false); MyPanel mypanel = new MyPanel(); mypanel.setBounds(0,0,getWidth(),getHeight()); add(mypanel); } public static void main(String[] args) { new MyJFrame(); }}

import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.util.Random;public class MyPanel extends JPanel implements ActionListener{ int lenght ; int score1; Boolean jieshux = false; JLabel scorel = new JLabel('分?jǐn)?shù):'+score1); JLabel lenghl = new JLabel('長(zhǎng)度:'+lenght); JLabel shibai = new JLabel('按下空格開始游戲!'); JLabel jieshu = new JLabel('游戲失敗!按空格重新開始!'); String dir = 'R'; Boolean isstart = false; int[][] snake = new int[300][2]; Random r = new Random(); int x,y; //初始化 public void initialize() { snake[0][0]=70; snake[0][1]=80; snake[1][0]=45; snake[1][1]=80; snake[2][0]=20; snake[2][1]=80; isstart = true; jieshux = false; lenght = 3; score1 = 0; dir = 'R'; repaint(); } public MyPanel() { setLayout(null); scorel.setBounds(700, 20, 50, 30); lenghl.setBounds(700, 40, 50, 30); shibai.setBounds(300,400,200,60); shibai.setFont(new Font('黑體',Font.BOLD,20)); jieshu.setFont(new Font('黑體',Font.BOLD,20)); jieshu.setVisible(false); jieshu.setBounds(250,400,300,60); add(scorel); add(lenghl); add(shibai); add(jieshu); x = r.nextInt(29)*25+20; y = r.nextInt(25)*25+80; //this.setFocusable(true); //焦點(diǎn)獲取 setOpaque(false); initialize(); Timer t = new Timer(200,this); this.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_SPACE && isstart==false) { isstart=true; }else if(e.getKeyCode()==KeyEvent.VK_SPACE && isstart==true &&jieshux == false){ isstart = false; }else if(e.getKeyCode()==KeyEvent.VK_W && isstart==true && dir!='D'&&jieshux == false) { dir='U'; }else if(e.getKeyCode()==KeyEvent.VK_A && isstart==true && dir!='R'&&jieshux == false) { dir='L'; }else if(e.getKeyCode()==KeyEvent.VK_D && isstart==true && dir!='L'&&jieshux == false) { dir='R'; }else if(e.getKeyCode()==KeyEvent.VK_S && isstart==true && dir!='U'&&jieshux == false) { dir='D'; }else if(e.getKeyCode()==KeyEvent.VK_SPACE && jieshux==true) { initialize(); } } }); t.start(); } @Override public void actionPerformed(ActionEvent e) { this.requestFocus(true); if(isstart&&dir.equals('R')&&!jieshux) { for(int i=0;i<lenght-1;i++) { if(snake[i][0]>=745) { //snake[i][0]=20; jieshux = !jieshux; //isstart = !isstart; break; }else { snake[lenght-i-1][0]=snake[lenght-i-2][0]; snake[lenght-i-1][1]=snake[lenght-i-2][1]; } } if(!jieshux) snake[0][0]=snake[1][0]+25; } else if(isstart&&dir.equals('D')&&!jieshux) { for(int i=0;i<lenght-1;i++) { if(snake[i][1]>=705) { //snake[i][1]=80; jieshux = !jieshux; //isstart = !isstart; break; }else { snake[lenght-i-1][0]=snake[lenght-i-2][0]; snake[lenght-i-1][1]=snake[lenght-i-2][1]; } } if(!jieshux) snake[0][1]=snake[1][1]+25; }else if(isstart&&dir.equals('U')&&!jieshux) { for(int i=0;i<lenght-1;i++) { if(snake[i][1]<=80) { //snake[i][1]=705; jieshux = !jieshux; //isstart = !isstart; break; }else { snake[lenght-i-1][0]=snake[lenght-i-2][0]; snake[lenght-i-1][1]=snake[lenght-i-2][1]; } } if(!jieshux) snake[0][1]=snake[1][1]-25; }else if(isstart&&dir.equals('L')&&!jieshux) { for(int i=0;i<lenght-1;i++) { if(snake[i][0]<=20) { jieshux = !jieshux; //isstart = !isstart; break; }else { snake[lenght-i-1][0]=snake[lenght-i-2][0]; snake[lenght-i-1][1]=snake[lenght-i-2][1]; } } if(!jieshux) snake[0][0]=snake[1][0]-25; } if(snake[0][1]==y&&snake[0][0]==x) { x = r.nextInt(29)*25+20; y = r.nextInt(25)*25+80;score1+=10; lenght++; snake[lenght-1][1]=snake[lenght-2][1]; snake[lenght-1][0]=snake[lenght-2][0];add(scorel); add(lenghl); } if(isstart==false) { shibai.setVisible(true); }else { shibai.setVisible(false); if(jieshux == false) { jieshu.setVisible(false); }else { jieshu.setVisible(true); } } for(int i = 1;i<lenght;i++) { if(snake[0][0]==snake[i][0]&&snake[0][1]==snake[i][1]) { jieshux=true; } } if(isstart&&!jieshux)repaint(); } public void paint(Graphics g) { super.paint(g); //邊界為(20,80),(770,730) scorel.setText('分?jǐn)?shù):'+score1); lenghl.setText('長(zhǎng)度:'+lenght); g.drawLine(18, 78, 18, 732); g.drawLine(18, 78, 772, 78); g.drawLine(18, 732, 772, 732); g.drawLine(772, 78, 772, 732); //豎線 for(int i=20;i<=770;i+=25) { g.drawLine(i,80,i,730); //g.drawLine(0,i,600,i); } //橫線 for(int i=80;i<=750;i+=25) { //g.drawLine(i,50,i,780); g.drawLine(20,i,770,i); } for(int i = 0;i<lenght;i++) { if(i>0) { g.drawImage(new ImageIcon('C:UsersHPDesktopjavaabody.png').getImage(), snake[i][0],snake[i][1],this);//注意此處路徑 }else { g.fillOval(snake[i][0], snake[i][1], 25, 25); } } g.setColor(Color.red); g.fillOval(x, y, 25, 25); }}

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 久久久久久黄色 | 成人一区在线观看 | 一级做a视频| 91午夜精品亚洲一区二区三区 | 91久色| 人人草人人干 | 亚洲无人区一线二线三线 | 成人羞羞国产免费 | 国产视频www | 欧美日韩国产在线观看 | 夜夜骑天天干 | 国产中文字幕在线播放 | 久草免费福利视频 | 特级西西444www大精品视频 | 欧美日韩精品 | 午夜aaa| 久久精品一区二区三区四区 | 午夜久久精品 | 免费av在线网站 | 欧美日韩精品一区二区在线播放 | 国产精品美女在线观看 | 亚洲激情视频 | 久久视频在线免费观看 | 日批视频免费在线观看 | 国产精品久久久久久久免费看 | 色综合88 | 免费三级网站 | 黄色成人在线观看 | 欧美 日韩 国产 成人 在线 | 91精品看片| 五月天精品 | www.成人网 | 国产在线一 | 五月天在线 | 一级特黄色片 | 国产成人精品一区二区三区视频 | 日韩欧美国产高清91 | 欧美专区第一页 | 国产一区二区自拍 | 午夜视频在线播放 | 手机看片1024日韩 |