贪吃蛇小游戏代码html,自制贪吃蛇小游戏代码
package game;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Game_Start extends JFrame{
JFrame frame = new JFrame();
JButton btn1 = new JButton("开始游戏");
JButton btn2 = new JButton("游戏介绍");
JButton btn3 = new JButton("退出游戏");
Image start = (new ImageIcon("src/icon/start.jpg")).getImage();
Font f = new Font("微软雅黑",Font.BOLD,30);
public Game_Start() {
setSize(1400,1200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setResizable(false);
setTitle("贪吃蛇开始界面");
add(new Pane());
}
public class Pane extends JPanel{
public Pane() {
setLayout(null);
Button();
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
new Operation();
dispose();
}
});
btn2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JDialog dialog=new JDialog();
dialog.setSize(800,600);
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);
dialog.setTitle("游戏介绍");
String strMsg1 = "____通过键盘的上下左右键控制小蛇的移动";
String strMsg2 = "____当小蛇吃到食物会增长身体一单位长度";
String strMsg3="____当蛇头碰到墙壁或身体则游戏结束";
String strMsg4="____点击空格游戏开始,游戏结束可点击空格重新开始游戏";
String strMsg = "
" + strMsg1 + "
" + strMsg2 + "
"+strMsg3+"
"+strMsg4+"";
JLabel label = new JLabel(strMsg);
label.setFont(f);
dialog.add(label);
}
});
btn3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
}
public void paintComponent(Graphics g) {
super.paintComponents(g);
g.drawImage(start,0,0,1400,1200,this);
}
public void Button() {
add(btn1);
add(btn2);
add(btn3);
btn1.setBounds(575,350,200,100);
btn2.setBounds(575,500,200,100);
btn3.setBounds(575,650,200,100);
btn1.setFont(f);
btn2.setFont(f);
btn3.setFont(f);
}
}
public static void main(String[]args) {
new Game_Start();
}
}
package game;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;
import javax.swing.*;
public class Operation extends JFrame {
public Operation() {
setSize(1400,1200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setLocationRelativeTo(null);
setTitle("贪吃蛇小游戏");
add(new Panel());
}
public class Panel extends JPanel implements ActionListener, KeyListener {
Image up = (new ImageIcon("src/icon/up.png")).getImage();
Image down = (new ImageIcon("src/icon/down.png")).getImage();
Image left = (new ImageIcon("src/icon/left.png")).getImage();
Image right = (new ImageIcon("src/icon/right.png")).getImage();
Image body = (new ImageIcon("src/icon/body.png")).getImage();
Image food = (new ImageIcon("src/icon/food.png")).getImage();
Image gamebg = (new ImageIcon("src/icon/gamebg.jpg")).getImage();
String fx;
boolean isStart = false;
boolean isOver = false;
int len;
int[]snakex = new int[1400];
int[]snakey = new int[1200];
Timer timer = new Timer(100,this);
int foodx;
int foody;
Random random = new Random();
int score = 0;
public Panel() {
Snake();
timer.start();
this.setFocusable(true);
this.addKeyListener(this);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.ORANGE);
g.setFont(new Font("黑体",Font.BOLD,70));
g.drawImage(gamebg,0,0,1400,1200,this);
if(fx == "U") {
g.drawImage(up, snakex[0], snakey[0], 50, 50, this);
}else if(fx == "D"){
g.drawImage(down, snakex[0], snakey[0], 50, 50, this);
}else if(fx == "L") {
g.drawImage(left, snakex[0], snakey[0], 50, 50, this);
}else if(fx == "R") {
g.drawImage(right, snakex[0], snakey[0], 50, 50, this);
}
for(int i = 1;i
g.drawImage(body,snakex[i],snakey[i],50,50,this);
}
g.drawImage(food, foodx, foody, 30, 30, this);
g.drawString("分数: "+score, 1000, 100);
if(isStart == false) {
g.drawString("按下空格键开始游戏",380,600);
}
if(isOver == true) {
g.drawString("按下空格键开始游戏", 380, 600);
}
}
public void Snake() {
len = 3;
fx = "R";
score = 0;
snakex[0] = 200;
snakey[0] = 40;
snakex[1] = 160;
snakey[1] = 40;
snakex[2] = 120;
snakey[2] = 40;
foodx = 40*random.nextInt(31);
foody = 40*random.nextInt(28);
}
public void actionPerformed(ActionEvent e) {
if(isStart&&!isOver) {
for(int i = len-1;i>0;i--) {
snakex[i] = snakex[i-1];
snakey[i] = snakey[i-1];
}
if(snakex[0] == foodx && snakey[0] == foody) {
len++;
score++;
foodx = 40*random.nextInt(31);
foody = 40*random.nextInt(28);
for(int i = len-1;i>0;i--) {
snakex[i] = snakex[i-1];
snakey[i] = snakey[i-1];}
}
if(fx == "R") {
snakex[0] += 40;
}else if(fx == "L") {
snakex[0] -= 40;
}else if(fx == "U") {
snakey[0] -= 40;
}else if(fx == "D") {
snakey[0] += 40;
}
for(int i = 1;i
if(snakex[i] == snakex[0] && snakey[i] == snakey[0]||snakex[0]>1380||snakex[0]<0|| snakey[0]<0 || snakey[0]>1120) {
isOver = true;
}
}
repaint();
}
timer.start();
}
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if(keyCode == KeyEvent.VK_SPACE) {
if(isOver) {
isOver = false;
Snake();
}
isStart = !isStart;
repaint();
}else if (keyCode == KeyEvent.VK_LEFT && fx! = "R"){
fx="L";
}else if (keyCode == KeyEvent.VK_DOWN && fx! = "U"){
fx = "D";
}else if(keyCode == KeyEvent.VK_UP && fx! = "D") {
fx = "U";
}else if(keyCode == KeyEvent.VK_RIGHT && fx! = "L") {
fx = "R";
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
}
}
贪吃蛇小游戏代码html,自制贪吃蛇小游戏代码相关推荐
- 【机器视觉案例】(12) 自制AI视觉小游戏--贪吃蛇,附python完整代码
各位同学好,今天和大家分享一下如何使用 mediapipe+opencv 自制贪吃蛇小游戏.先放张图看效果. 规则:食指指尖控制蛇头,指尖每接触到黄色方块,计数加一,蛇身变长,方块随机切换位置.如果指 ...
- python100行代码-怎样写贪吃蛇小游戏?用100行python代码轻松解决!
大家小时候都玩过贪吃蛇吧?小编小时候可喜欢拿爸妈的手机玩了,厉害着呢!今天,小编就来用100行代码实现一个简易版的贪吃蛇.在网上,贪吃蛇教程蛮多的,但要安装蛮多库的,而且也不够清晰,今天的代码比较短, ...
- Pygame实战项目:用300行代码写出贪吃蛇小游戏
贪吃蛇是一款逻辑清晰.操作简单.老少咸宜.备受欢迎的休闲小游戏. 下面就给大家介绍一下贪吃蛇游戏的基本原理,以及实现贪吃蛇所需要的相关方法. 一.主要思路 我们的贪吃蛇游戏将主要包括三个核心模块,分别 ...
- python界面小游戏贪吃蛇_用Python实现童年贪吃蛇小游戏功能的实例代码
贪吃蛇作为一款经典小游戏,早在 1976 年就面世了,我最早接触它还是在家长的诺基亚手机中. 尽管贪吃蛇的历史相对比较久远,但它却有着十分顽强的生命力,保持经久不衰,其中很重要的原因便是游戏厂家不断的 ...
- python50行小游戏_50行python代码实现的贪吃蛇小游戏
50行python代码实现的贪吃蛇小游戏 发布于 2014-09-01 21:26:24 | 1337 次阅读 | 评论: 1 | 来源: 网友投递 Python编程语言Python 是一种面向对象. ...
- c++代码轻松实现贪吃蛇小游戏
1.游戏描述 贪吃蛇可谓是从小玩到大的经典趣味小游戏,蛇每吃到一次食物,身体就会长一节,如果撞到墙或者撞到自身,游戏结束. 2.代码实现 1.首先需要思考的问题是如何指定位置输出字符?这时候就有一个非 ...
- java小游戏代码压缩包_java 贪吃蛇小游戏 源码下载
[实例简介] 使用java程序设计语言制作的一个贪吃蛇小游戏.游戏的控制模块应该做到易懂.易操作,以给玩家一个很好的游戏环境.在这个游戏的设计中,牵涉到图形界面的显示与更新.数据的收集与更新,还要应用 ...
- 用unity开发贪吃蛇,勾起我童年乐趣的小游戏
首先理一下贪吃蛇游戏思路: 1.首先建立好两个场景中的各种按键,图标. 2.设置蛇头:蛇头的移动,蛇头移动过程中的旋转问题.蛇头与其他物体发生碰撞时的触发. 3.食物的制作:因为食物是随机在场景中生成 ...
- 利用Python自制贪吃蛇游戏
作者:丹枫无迹 来源:大龄码农的Python之路 在开始今天的正文前,首先为大家推荐一本关于数据产品经历不错的书籍: 一.游戏介绍 贪吃蛇是个非常简单的游戏,适合练手.先来看一下我的游戏 ...
最新文章
- 2011年工作总结和展望(上篇)
- HDU3208(区间指数和)
- 通过CISA的一些经验分享(原文写于09年)
- 【CCCC】L3-014 周游世界 (30分),,DFS搜索最短路,路径打印
- 小米手机用什么蓝牙耳机好?高颜值游戏专属蓝牙耳机推荐
- 在国内程序员是吃青春饭的职业吗?
- vs2008 sp1 regex
- 微信小程序云开发入门详细教程
- 有关错误:buffer i/o error on device fd0,logical block 0
- 使用PLC-Recorder快速连接PLC记录数据
- [-NDK 导引篇 -] 在NDK开发之前你应知道的东西
- 为什么word文档在前面打字会把后面的文字覆盖掉?
- 教你在CorelDRAW中制作水印
- Project中最常用的注意点
- Flask 学习-9. 开启调试模式(debug模式)的2种方法
- python 爬虫保存封面_Python爬虫Demo--获取网易云音乐专辑封面
- ThinkCMF框架任意内容包含漏洞
- 屏蔽浏览器f1帮助,启用自己的帮助
- PDF转CAD后比例不对怎么办
- 使用邮箱地址标识用户
热门文章
- Python采集黄色软件剧本杀数据并做可视化
- 猎豹移动2016研发工程师笔试题
- Python中Gradient Boosting Machine(GBM)调参方法详解
- Mac安装淘宝镜像权限问题的解决方式
- python爬取饿了么外卖商家销量_如何让外卖店铺销量达到9999+
- 智慧食堂真稳住了吗?你可千万别错过了
- hive学习(5)--- Partitions分区的使用(包括动态分区)
- 性能之Hibernate大批量保存数据优化
- IDRISI Andes V15.0 (交互式GIS和影像处理)\
- 电效应和普朗克常量的测定