简单java游戏代码_Java经典⼩游戏——贪吃蛇简单实现(附
源码)
⼀、使⽤知识
Jframe
GUI
双向链表
线程
⼆、使⽤⼯具
IntelliJ IDEA
jdk 1.8
三、开发过程
3.1素材准备
⾸先在开发之前应该准备⼀些素材,已备⽤,我主要了⼀个图⽚以及⼀段优雅的⾳乐。
在这⾥插⼊图⽚描述
3.2 开发过程
3.2.1 创建项⽬
⾸先进⼊idea⾸页 open⼀个你想放项⽬的⽂件夹
在这⾥插⼊图⽚描述
进⼊之后右键⽂件名 new ⼀个新的Directory——Snake
在这⾥插⼊图⽚描述
把准备好的素材复制到⽂件中
在这⾥插⼊图⽚描述
继续创建⽬录 src/Sanke
在这⾥插⼊图⽚描述
选中src Mark Directory as — Souces 把src添加为根⽬录
在这⾥插⼊图⽚描述
3.2.2 页⾯设计
housekeeper的中文创建java Class ⽂件 Snake - new - java class SnakeName 接下来的时候会对这个SnakeName.java⾥⾯的代码不停完善
⾸先设置窗⼝格式
package Sanke;
import javax.swing.*;
/**
**/
public class SnakeGame extends JFrame {
SnakeGame(){
this.setBounds(100, 50, 700, 500);//设置窗⼝⼤⼩
this.setLayout(null);//更改layout 以便添加组件
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗⼝的状态this.setResizable(false);//窗⼝不可以改变⼤⼩
this.setVisible(true);//设置焦点状态为true
}
public static void main(String[] args) {
new SnakeGame();
}
}
在这⾥插⼊图⽚描述
继续创建新的⽂件 SnakeGrid
package Sanke;
import java.awt.*;
/**
@author Swyee
**/
public class SnakeGrid extends Panel {
SnakeGrid(){
this.setBounds(0, 0, 700, 400);
this.setBackground(Color.black);设置背景颜⾊
}
}
将页⾯引⽤到SnakeGame.java中
package Sanke;
import javax.swing.*;
/**
@author Swyee
**/
public class SnakeGame extends JFrame {
SnakeGame(){
js定义二维数组this.setBounds(100, 50, 700, 500);//设置窗⼝⼤⼩
this.setLayout(null);//更改layout 以便添加组件
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗⼝的状态this.setResizable(false);//窗⼝不可以改变⼤⼩
this.add(snakeGrid);
this.setVisible(true);//设置焦点状态为true
}
public static void main(String[] args) {
new SnakeGame();
}
}
运⾏样式
在这⾥插⼊图⽚描述
设置背景图⽚ 背景⾳乐
在SnakeGrid.java中增加Music⽅法 设置画笔 绘图
package Sanke;
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.*;
import java.io.File;
import java.MalformedURLException;
import java.URI;
import java.URL;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
/**
@author Swyee
**/
public class SnakeGrid extends JPanel {
java手机游戏下载ImageIcon image = new ImageIcon("Snake/sky.jpg");//图⽚⽂件地址
File f= new File("Snake/music.wav");//⾳乐⽂件地址
this.setBounds(0, 0, 700, 400);
this.setBackground(Color.black);
}
/
**
设置画笔
@param g
*/
@Override
public void paint(Graphics g) {
super.paint(g);多多教程网最新
image.paintIcon(this, g, 0, 0); //设置背景图⽚}
//读取⾳乐⽂件
void Music(){
try {
URI uri = f.toURI();
URL url = URL();
AudioClip aau= wAudioClip(url); aau.loop();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
男装selected是名牌吗}
}
}
在SnakeName中调⽤
package Sanke;
import javax.swing.*;
/**
@author Swyee
**/
public class SnakeGame extends JFrame { SnakeGrid snakeGrid= new SnakeGrid();
this.setBounds(100, 50, 700, 500);//设置窗⼝⼤⼩
this.setLayout(null);//更改layout 以便添加组件
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗⼝的状态
this.setResizable(false);//窗⼝不可以改变⼤⼩
this.add(snakeGrid);
//设置焦点
snakeGrid.setFocusable(true);
snakeGrid.Music();//调⽤打开⾳乐的⽅法wps宏编程自学
this.setVisible(true);//设置焦点状态为true
}
public static void main(String[] args) {
new SnakeGame();
}
}
呈现
在这⾥插⼊图⽚描述
3.23 画蛇
蛇的⾝体将会有双向链表组成,双向链表能记录⼀个节点的上⼀个节点和下⼀个节点。蛇的移动其实就是节点的变化,从⽽达到⼀种移动的视觉。
新建java Snake 创建节点
package Sanke;
import java.awt.Graphics;
public class Snake {
public static final int span=20;//间距
public static final String up="u";
public static final String down="d";
public static final String left="l";
public static final String right="r";
class Node{
int row;
int col;
String dir;//⽅向
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论