iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java如何实现简单贪吃蛇小游戏
  • 152
分享到

java如何实现简单贪吃蛇小游戏

2023-06-15 06:06:33 152人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关java如何实现简单贪吃蛇小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下有两个类,放在同一文件下下即可,背景图片,标题,蛇尾可自行更改import java.

这篇文章给大家分享的是有关java如何实现简单贪吃蛇小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

有两个类,放在同一文件下下即可,背景图片,标题,蛇尾可自行更改

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:\\Users\\HP\\Desktop\\javaa\\background3.jpg"));//注意此处路径  JLabel title = new JLabel(new ImageIcon("C:\\Users\\HP\\Desktop\\javaa\\title1.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("分数:"+score1); JLabel lenghl = new JLabel("长度:"+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); //焦点获取  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("分数:"+score1);  lenghl.setText("长度:"+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:\\Users\\HP\\Desktop\\javaa\\body.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);   }}

Java的特点有哪些

Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。2.Java具有简单性、面向对象、分布式安全性、平台独立与可移植性、动态性等特点。3.使用Java可以编写桌面应用程序、WEB应用程序、分布式系统和嵌入式系统应用程序等。

感谢各位的阅读!关于“java如何实现简单贪吃蛇小游戏”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: java如何实现简单贪吃蛇小游戏

本文链接: https://www.lsjlt.com/news/278189.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java实现简单贪吃蛇小游戏
    本文实例为大家分享了java实现贪吃蛇小游戏,供大家参考,具体内容如下 有两个类,放在同一文件下下即可,背景图片,标题,蛇尾可自行更改 import java.awt.*; im...
    99+
    2024-04-02
  • java如何实现简单贪吃蛇小游戏
    这篇文章给大家分享的是有关java如何实现简单贪吃蛇小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下有两个类,放在同一文件下下即可,背景图片,标题,蛇尾可自行更改import java....
    99+
    2023-06-15
  • Java实现简单的贪吃蛇小游戏
    本文实例为大家分享了Java实现简单的贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 1. 程序结构 程序结构图如图: 2. 程序设计思路 2.1 Data类 作用:连接stat...
    99+
    2024-04-02
  • python实现简单贪吃蛇小游戏
    本文实例为大家分享了python实现简单贪吃蛇的具体代码,供大家参考,具体内容如下 1. 导入游戏库 import pgzrun import random 2.游戏初始化 # 窗口...
    99+
    2024-04-02
  • python如何实现简单贪吃蛇小游戏
    本篇内容介绍了“python如何实现简单贪吃蛇小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 导入游戏库import p...
    99+
    2023-07-02
  • C++实现简单贪吃蛇小游戏
    本文实例为大家分享了C++实现简单贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 1 贪吃蛇游戏原理 1.1 构造蛇身:定义一个坐标数组,存放的是蛇的每一节蛇身所在的坐标位置。 1...
    99+
    2024-04-02
  • Java实现简单的贪吃蛇游戏
    本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 代码 启动类 package snake; import javax.swing.*; /...
    99+
    2024-04-02
  • Java实现简单版贪吃蛇游戏
    本文实例为大家分享了Java实现简单版贪吃蛇游戏的具体代码,供大家参考,具体内容如下 这是一个比较简洁的小游戏,主要有三个类,一个主类,一个食物类,一个贪吃蛇类。 1、首先定义主类...
    99+
    2024-04-02
  • Java实现简易GUI贪吃蛇小游戏
    本文实例为大家分享了Java实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 主启动类 import javax.swing.*; //主启动类 public class...
    99+
    2024-04-02
  • 基于Java实现简单贪吃蛇游戏
    本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 贪吃蛇小游戏制作方法 首先需要的准备有: 1、掌握Java基础知识,即Java SE 2、了解一定...
    99+
    2024-04-02
  • python实现简单的贪吃蛇游戏
    本文实例为大家分享了python实现贪吃蛇游戏的具体代码,加入按钮、难度、音乐、得分功能,供大家参考,具体内容如下 贪吃蛇小游戏,可以显示出得分,又背景音乐,难度选择和开始重启按钮设...
    99+
    2024-04-02
  • 原生js实现简单贪吃蛇小游戏
    本文实例为大家分享了js实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 先上图 话不多说,代码奉上,喜欢的请留下你的小星星♥(ˆ◡ˆ...
    99+
    2024-04-02
  • Java怎么实现简单的贪吃蛇游戏
    本篇内容主要讲解“Java怎么实现简单的贪吃蛇游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现简单的贪吃蛇游戏”吧!本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供...
    99+
    2023-06-20
  • unity实现简单的贪吃蛇游戏
    本文实例为大家分享了unity实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 SatUIController代码 using UnityEngine; using Un...
    99+
    2024-04-02
  • Java+JFrame实现贪吃蛇小游戏
    分享一个Java贪吃蛇小游戏,主要用到的是Java的JFrame,适合初学者。 首先创建一个合适大小的窗口,我这里是900*720 package com.lzijin;     ...
    99+
    2024-04-02
  • Java实现贪吃蛇游戏
    下面是一个简单的Java实现贪吃蛇游戏的示例代码:```javaimport javax.swing.*;import java.a...
    99+
    2023-08-09
    Java
  • C语言实现简单的贪吃蛇小游戏
    本文实例为大家分享了C语言实现简单贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 #温馨提示:以下设计在VS2019下完美运行,完整代码附在末尾,供大家学习参考 (1)游戏进入界面...
    99+
    2024-04-02
  • c++如何实现超简单的贪吃蛇游戏
    小编给大家分享一下c++如何实现超简单的贪吃蛇游戏,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!设计思路        建议先将代码复制下来跑一遍再来看思路!!! ...
    99+
    2023-06-22
  • JS实现贪吃蛇小游戏
    目录一、初始化结构二、渲染蛇的颜色 三、蛇的运动四、蛇死亡的判定方式 蛇有两种判定死亡的方式五、食物的创建六、蛇吃食物边长七、开始游戏功能八、暂停/继续游戏功能页面效果: 贪吃蛇游...
    99+
    2024-04-02
  • 如何实现贪吃蛇Python小游戏
    这篇文章主要介绍“如何实现贪吃蛇Python小游戏”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何实现贪吃蛇Python小游戏”文章能帮助大家解决问题。贪吃蛇Python小游戏(源码+注释+粘贴即...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作