iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java怎么实现简单的贪吃蛇游戏
  • 764
分享到

Java怎么实现简单的贪吃蛇游戏

2023-06-20 15:06:29 764人浏览 泡泡鱼
摘要

本篇内容主要讲解“Java怎么实现简单的贪吃蛇游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现简单的贪吃蛇游戏”吧!本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供

本篇内容主要讲解“Java怎么实现简单的贪吃蛇游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现简单的贪吃蛇游戏”吧!

本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下

代码

启动类

package snake;import javax.swing.*;//游戏的主启动类public class StartGame {    public static void main(String[] args) {        JFrame frame = new JFrame("贪吃蛇");        frame.setBounds(10,10,900,720);        frame.setResizable(false);      //窗口不可调整        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);        //正常游戏界面都应该在面板上        frame.add(new GamePanel());        frame.setVisible(true);    }}

游戏画板

package snake;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import java.util.Random;//游戏面板public class GamePanel extends JPanel implements KeyListener, ActionListener {    int lenth;      //蛇的长度    int [] snakeX = new int[600];       //定义蛇的坐标X    int [] snakeY = new int[500];       //定义蛇的坐标Y    String fx ;//定义方向R:右 L:左 U:上 D:下    boolean isStart = false; //游戏是否开始    Timer timer = new Timer(120,this);//定时器    //定义一个食物    int foodx;    int foody;    Random random = new Random();    //定义死亡判断    boolean isFail = false;//默认不失败    //积分系统    int score;    //构造器    public GamePanel(){        init();        //获取键盘的监听事件        this.setFocusable(true);        this.addKeyListener(this);        timer.start();    }    //初始化    public void init(){        lenth = 3;        snakeX[0] = 100;snakeY[0] = 100;//头部坐标        snakeX[1] = 75;snakeY[1] = 100;//第一个身体坐标        snakeX[2] = 50;snakeY[2] = 100;//第二个身体坐标        fx = "R";//蛇头初始方向        //初始化食物        foodx = 25 + 25 * random.nextInt(34);        foody = 75 + 25 * random.nextInt(24);        score = 0;    }    //绘制面板,游戏中的所以东西都使用这个东西来画    @Override    protected void paintComponent(Graphics g) {        super.paintComponent(g); //清屏作用        //绘制静态的面板        this.setBackground(Color.white);        Data.header.paintIcon(this,g,25,11);        //放进头部广告        g.fillRect(25,75,850,600);        //默认游戏界面        //画一条静态的小蛇        if (fx.equals("R")){            Data.right.paintIcon(this,g,snakeX[0],snakeY[0]);        }else if (fx.equals("L")){            Data.left.paintIcon(this,g,snakeX[0],snakeY[0]);        }else if (fx.equals("U")){            Data.up.paintIcon(this,g,snakeX[0],snakeY[0]);        }else if (fx.equals("D")){            Data.down.paintIcon(this,g,snakeX[0],snakeY[0]);        }        //蛇的身体长度通过length来控制        for (int i = 1;i < lenth;i++){            Data.body.paintIcon(this,g,snakeX[i],snakeY[i]);        }        //画积分        g.setColor(Color.white);        g.setFont(new Font("微软雅黑",Font.BOLD,20));        g.drawString("长度"+lenth,700,45);        g.drawString("分数"+score,780,45);        //画食物        Data.food.paintIcon(this,g,foodx,foody);        //游戏提示:是否开始        if (isStart == false){            //画一个文字String来提示开始            g.setColor(Color.white);    //定义颜色            g.setFont(new Font("微软雅黑",Font.BOLD,40));   //设置字体            g.drawString("按下空格开始游戏",300,300);        }        //失败提醒        if (isFail){            //画一个文字String来提示失败            g.setColor(Color.RED);    //定义颜色            g.setFont(new Font("微软雅黑",Font.BOLD,40));   //设置字体            g.drawString("游戏失败,按下空格重新开始",200,300);        }    }//接收键盘的输入:监听事件    @Override//键盘按下,未释放    public void keyPressed(KeyEvent e) {        //获取按下键盘的信息        int keyCode = e.geTKEyCode();        if(keyCode==KeyEvent.VK_SPACE){//如果按下空格键            if (isFail){//游戏失败,重新开始                isFail = false;                init();//重新初始化游戏            }else {//暂停游戏                isStart = !isStart;            }            repaint();//刷新界面,重置        }        //键盘控制走向        if (keyCode==KeyEvent.VK_LEFT){            fx = "L";        }else if (keyCode==KeyEvent.VK_RIGHT){            fx = "R";        }else if (keyCode==KeyEvent.VK_UP) {            fx = "U";        }else if (keyCode==KeyEvent.VK_DOWN) {            fx = "D";        }    }    //定时器,监听时间,帧,执行定时操作    @Override    public void actionPerfORMed(ActionEvent e) {        //如果游戏处于开始状态,并且游戏没有失败        if (isStart && isFail == false){            //右移            for (int i = lenth-1 ;i > 0;i--){ //身体向前移动                snakeX[i] = snakeX[i-1];                snakeY[i] = snakeY[i-1];            }            //通过控制方向让头部移动            if (fx.equals("R")){                snakeX[0] = snakeX[0] + 25;//头部移动                if (snakeX[0]>850){ snakeX[0] = 25; }//右边界判断            }else if (fx.equals("L")){                snakeX[0] =snakeX[0] - 25;//头部移动                if (snakeX[0]<25){ snakeX[0] = 850;}//左边界判断            }else if (fx.equals("U")){                snakeY[0] =snakeY[0] - 25;//头部移动                if (snakeY[0]<75){ snakeY[0] = 650;}//上边界判断            }else if (fx.equals("D")){                snakeY[0] =snakeY[0] + 25;//头部移动                if (snakeY[0]>650){ snakeY[0] = 75;}//下边界判断            }            //如果食物和蛇头坐标重合            if (snakeX[0]==foodx && snakeY[0]==foody){                lenth ++;//蛇的身体长度加一                score = score + 10;                //重新生成食物                foodx = 25 +25 * random.nextInt(34);                foody = 75 +25 * random.nextInt(24);            }            //结束判断            for (int i = 1; i<lenth;i++){                if (snakeX[0]==snakeX[i] && snakeY[0]==snakeY[i]){                    isFail = true;                }            }            repaint();//刷新界面        }        timer.start();//让时间动起来    }    @Override//键盘按下,弹起    public void keyTyped(KeyEvent e) {    }    @Override//释放某个键    public void keyReleased(KeyEvent e) {    }}

游戏数据(存放图片)

package snake;import javax.swing.*;import java.net.URL;//数据中心public class Data {    //相对路径 tx.jpg 绝对路径  /相当于当前的项目    //头部图片  URL 定位图片地址    public static URL headerURL = Data.class.getResource("/statics/header.png");    public static ImageIcon header = new ImageIcon(headerURL);     //上下左右移动    public static URL upUrl = Data.class.getResource("/statics/up.png");    public static ImageIcon up = new ImageIcon(upUrl);    public static URL downUrl = Data.class.getResource("/statics/down.png");    public static ImageIcon down = new ImageIcon(downUrl);    public static URL leftUrl = Data.class.getResource("/statics/left.png");    public static ImageIcon left = new ImageIcon(leftUrl);    public static URL rightUrl = Data.class.getResource("/statics/right.png");    public static ImageIcon right = new ImageIcon(rightUrl);    //身体    public static URL bodyUrl = Data.class.getResource("/statics/body.png");    public static ImageIcon body = new ImageIcon(bodyUrl);    //食物    public static URL foodUrl = Data.class.getResource("/statics/food.png");    public static ImageIcon food = new ImageIcon(foodUrl);}

到此,相信大家对“Java怎么实现简单的贪吃蛇游戏”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Java怎么实现简单的贪吃蛇游戏

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

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

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

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

下载Word文档
猜你喜欢
  • Java实现简单的贪吃蛇游戏
    本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 代码 启动类 package snake; import javax.swing.*; /...
    99+
    2024-04-02
  • Java怎么实现简单的贪吃蛇游戏
    本篇内容主要讲解“Java怎么实现简单的贪吃蛇游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现简单的贪吃蛇游戏”吧!本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供...
    99+
    2023-06-20
  • Java实现简单版贪吃蛇游戏
    本文实例为大家分享了Java实现简单版贪吃蛇游戏的具体代码,供大家参考,具体内容如下 这是一个比较简洁的小游戏,主要有三个类,一个主类,一个食物类,一个贪吃蛇类。 1、首先定义主类...
    99+
    2024-04-02
  • java实现简单贪吃蛇小游戏
    本文实例为大家分享了java实现贪吃蛇小游戏,供大家参考,具体内容如下 有两个类,放在同一文件下下即可,背景图片,标题,蛇尾可自行更改 import java.awt.*; im...
    99+
    2024-04-02
  • Java实现简单的贪吃蛇小游戏
    本文实例为大家分享了Java实现简单的贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 1. 程序结构 程序结构图如图: 2. 程序设计思路 2.1 Data类 作用:连接stat...
    99+
    2024-04-02
  • python实现简单的贪吃蛇游戏
    本文实例为大家分享了python实现贪吃蛇游戏的具体代码,加入按钮、难度、音乐、得分功能,供大家参考,具体内容如下 贪吃蛇小游戏,可以显示出得分,又背景音乐,难度选择和开始重启按钮设...
    99+
    2024-04-02
  • unity实现简单的贪吃蛇游戏
    本文实例为大家分享了unity实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 SatUIController代码 using UnityEngine; using Un...
    99+
    2024-04-02
  • 基于Java实现简单贪吃蛇游戏
    本文实例为大家分享了Java实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 贪吃蛇小游戏制作方法 首先需要的准备有: 1、掌握Java基础知识,即Java SE 2、了解一定...
    99+
    2024-04-02
  • python实现简单贪吃蛇小游戏
    本文实例为大家分享了python实现简单贪吃蛇的具体代码,供大家参考,具体内容如下 1. 导入游戏库 import pgzrun import random 2.游戏初始化 # 窗口...
    99+
    2024-04-02
  • java如何实现简单贪吃蛇小游戏
    这篇文章给大家分享的是有关java如何实现简单贪吃蛇小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下有两个类,放在同一文件下下即可,背景图片,标题,蛇尾可自行更改import java....
    99+
    2023-06-15
  • C++实现简单贪吃蛇小游戏
    本文实例为大家分享了C++实现简单贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 1 贪吃蛇游戏原理 1.1 构造蛇身:定义一个坐标数组,存放的是蛇的每一节蛇身所在的坐标位置。 1...
    99+
    2024-04-02
  • Java实现贪吃蛇游戏
    下面是一个简单的Java实现贪吃蛇游戏的示例代码:```javaimport javax.swing.*;import java.a...
    99+
    2023-08-09
    Java
  • C语言实现简单的贪吃蛇游戏
    本文实例为大家分享了C语言实现简单贪吃蛇游戏的具体代码,供大家参考,具体内容如下 用指针数组来表示蛇,p[0]表示蛇头 控制方向:w,s,a,d-->上下左右  j,...
    99+
    2024-04-02
  • 基于Pygame实现简单的贪吃蛇游戏
    目录导入相关的包设置屏幕大小以及基本参数设置贪吃蛇的位置,以及移动的大小绘制蛇让蛇动起来实现贪吃蛇拐弯实现随机食物吃食物完整代码 导入相关的包 import pygame, sy...
    99+
    2024-04-02
  • C++实现简易贪吃蛇游戏
    C++实现建议贪吃蛇(不会闪屏幕) 使用vs2013完成。记录踏上游戏开发的道路。 效果图 代码 // 2021.7.24.1贪吃蛇.cpp : 定义控制台应用程序的入口点。 ...
    99+
    2024-04-02
  • Java实现简易GUI贪吃蛇小游戏
    本文实例为大家分享了Java实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 主启动类 import javax.swing.*; //主启动类 public class...
    99+
    2024-04-02
  • python如何实现简单贪吃蛇小游戏
    本篇内容介绍了“python如何实现简单贪吃蛇小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 导入游戏库import p...
    99+
    2023-07-02
  • 怎么用C语言实现简单的贪吃蛇游戏
    这篇文章主要讲解了“怎么用C语言实现简单的贪吃蛇游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C语言实现简单的贪吃蛇游戏”吧!本文实例为大家分享了C语言实现简单贪吃蛇游戏的具体代码...
    99+
    2023-06-20
  • 原生js实现简单贪吃蛇小游戏
    本文实例为大家分享了js实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 先上图 话不多说,代码奉上,喜欢的请留下你的小星星♥(ˆ◡ˆ...
    99+
    2024-04-02
  • 使用js怎么实现简单贪吃蛇小游戏
    本篇文章给大家分享的是有关使用js怎么实现简单贪吃蛇小游戏,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。<!DOCTYPE html><html&n...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作