做一个简单的java小游戏--贪吃蛇
做一个简单的java小游戏–贪吃蛇
贪吃蛇游戏博客链接:(方法一样,语言不一样)
c++贪吃蛇:https://blog.csdn.net/weixin_46791942/article/details/106850986
python贪吃蛇:https://blog.csdn.net/weixin_46791942/article/details/110383746
java贪吃蛇:https://blog.csdn.net/weixin_46791942/article/details/112095059
编写的是最简单的贪吃蛇游戏(实现最基本的功能)
效果图:
附上代码:
SnakeFrame.java
package javasnake;import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;import javax.swing.JFrame;
import javax.swing.WindowConstants;public class SnakeFrame extends JFrame{public static SnakeBoard snakeboard;public SnakeFrame(String title){setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);setTitle(title);setVisible(true);setLocationRelativeTo(null);snakeboard = new SnakeBoard();add(snakeboard);pack();addKeyListener(new keylistener());}public static void main(String[] args) throws InterruptedException {SnakeFrame snakeframe = new SnakeFrame("java贪吃蛇");game();}public class keylistener implements KeyListener{public void keyTyped(KeyEvent e) {}public void keyPressed(KeyEvent e) {switch(e.getKeyCode()) {case KeyEvent.VK_DOWN: if(snakeboard.way!=4)snakeboard.way = 2;break;case KeyEvent.VK_UP: if(snakeboard.way!=2)snakeboard.way = 4; break;case KeyEvent.VK_LEFT: if(snakeboard.way!=1)snakeboard.way = 3;break;case KeyEvent.VK_RIGHT: if(snakeboard.way!=3)snakeboard.way = 1; break;}}public void keyReleased(KeyEvent e) {}}public static void game() throws InterruptedException{while(true) {Thread.sleep(100);if(snakeboard.way == 1)snakeboard.snake_x+=1;if(snakeboard.way == 2)snakeboard.snake_y+=1;if(snakeboard.way == 3)snakeboard.snake_x-=1;if(snakeboard.way == 4)snakeboard.snake_y-=1;if(snakeboard.board[snakeboard.snake_x][snakeboard.snake_y]>0 || snakeboard.snake_x<1 || snakeboard.snake_y >60)System.exit(0);snakeboard.board[snakeboard.snake_x][snakeboard.snake_y] = snakeboard.snake_lon;if ((snakeboard.snake_x == snakeboard.food_x) && (snakeboard.snake_y == snakeboard.food_y)) {snakeboard.snake_lon += 1;while (snakeboard.board[snakeboard.food_x][snakeboard.food_y] != 0) {snakeboard.food_x = (int)Math.round(Math.random()*59)+1;snakeboard.food_y = (int)Math.round(Math.random()*39)+1;}}snakeboard.board[snakeboard.food_x][snakeboard.food_y] = -1;snakeboard.draw();}}
}
SnakeBoard.java
package javasnake;import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JComponent;public class SnakeBoard extends JComponent{public int snake_lon = 3;public int[][] board = new int[62][42];public int food_x;public int food_y;public int snake_x = 10;public int snake_y = 10;public int size = 10;public int way = 1;public SnakeBoard() {food_x = (int)Math.round(Math.random()*59)+1;food_y = (int)Math.round(Math.random()*39)+1;board[food_x][food_y]=-1;}public void paint(Graphics g) {super.paint(g);for(int i = 1;i<=60;i++) {for(int j = 1;j<=40;j++) {if(board[i][j]==0) continue;if(board[i][j]>0) {board[i][j]-=1;g.setColor(Color.green);g.fillRect((i-1)*size, (j-1)*size, size, size);}else {g.setColor(Color.red);g.fillRect((i-1)*size, (j-1)*size, size, size);}}}}public void draw() {repaint();}public Dimension getPreferredSize() {return new Dimension(600,400);}
}
做一个简单的java小游戏--贪吃蛇相关推荐
- 用pygame做一个简单的python小游戏---贪吃蛇
用pygame做一个简单的python小游戏-贪吃蛇 贪吃蛇游戏博客链接:(方法一样,语言不一样) c++贪吃蛇:https://blog.csdn.net/weixin_46791942/artic ...
- 做一个简单的java小游戏--单机版五子棋
做一个简单的java小游戏–单机版五子棋 学了java有一段时间了,今天就来搞一个简单的单机版五子棋游戏. 实现功能:那必须能进行基础的输赢判断.还有重新开始的功能,悔棋的功能,先手设置的功能和退出的 ...
- 用pygame做一个简单的python小游戏---七彩同心圆
用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便加强一下pygame库的学习. 玩法:每次点击鼠标时,会以鼠标 ...
- 用pygame做一个简单的python小游戏---生命游戏
用pygame做一个简单的python小游戏-生命游戏 生命游戏(Game of Life) 生命游戏(Game of Life)是剑桥大学约翰·何顿·康威(John Horton Conway)教授 ...
- python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆
用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...
- Java小游戏——贪吃蛇
Java小游戏之贪吃蛇 系统目标 贪吃蛇是一个益智类游戏,通过本游戏的设计和实现,可以提升Java技术能力,提升自己独立开发的能力及掌握项目的开发流程. 开发环境 系统环境:Windows 开发工具: ...
- 用所学JS的知识做一个简单的坦克小游戏
代码如下: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF- ...
- java小游戏贪吃蛇
开发工具 :eclips 运行主要代码截图 实现的功能: (1)播放bgm并且可以通过空格暂停 (2)空格实现游戏暂停,再次空格可以继续游戏 (3)头碰到尾巴会结束游戏 (4)右上角可以记录贪吃蛇的长 ...
- 《游戏学习》教你上手一个简单的java小游戏《打纸飞机》附源码
源码下载地址: https://download.csdn.net/download/weixin_40986713/20701376 项目结构目录 部分代码展示 import java.awt.Fo ...
最新文章
- python中choicebox_学习python的第四天笔记
- 在Ubuntu kylin 14 64位上flashplayer 插件
- 算法与数据结构(归并排序)
- OCS 2007 R2将前端加入到企业版池
- 【Java网络编程(四)】手写TCP聊天室——控制台版
- XCTF_Web_新手练习区:view_source
- .NET 6 中的 Logging Source Generator
- Win32动态库 Lib文件哪去了
- aspiration定义_志愿者的定义、理念与精神核心
- sqlserver复制表的结构、内容到另一个数据库
- 模拟退火算法求解超市布局问题
- 匿名邮件实现的方式及原理
- 高盛区块链79页完整报告:从理论到实践!
- 【随笔记】做事要讲究轻重缓急,一定要把握主次轻重。
- pool(二)——动手入门
- android 模拟自动点击,自动点击模拟器app
- 用python制作一张简单的节日贺卡
- 双下划线一粗一细怎么加_为什么下划线粗细不一样
- ak和sk的意思及用法
- 存储空间都去哪了?占用空间比文件大太多?可能是文件系统和默认簇大小惹的祸