【基于Java+Swing

----------- 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 ------------------------------------------------------------

下面是游戏的几个效果展示:

我玩儿的菜哈,各位见谅~~

【基于Java+Swing_第1张图片

【基于Java+Swing_第2张图片

【基于Java+Swing_第3张图片

【基于Java+Swing_第4张图片

[](()(2)游戏设置


为何颜色不一样呢?因为是可以自定义游戏中方块的颜色、游戏难度、游戏背景音乐、游戏中方块落下的速度、方块是否自动上升、游戏背景图片…:

【基于Java+Swing_第5张图片

【基于Java+Swing_第6张图片

【基于Java+Swing_第7张图片

其余界面这里不再展示~~

[](()(二)源代码实例

=======================================================================

Version.java

package view;

import javax.swing.*;

import javax.swing.event.*;

import java.awt.*;

public class Version extends JDialog{

JLabel jl1=new JLabel("CSDN博客 ");

JLabel jl2=new JLabel(“作者: 追光者♂”);

JLabel jl3=new JLabel(“俄罗斯方块8.0”);

JPanel jp=new JPanel();

public Version(JFrame j,String s,boolean b){

super(j,s,b);

this.setBounds(400, 120, 200, 200);

this.setVisible(true);

this.setResizable(false);

jp.setLayout(new GridLayout(3, 1));

jp.add(jl1);

jp.add(jl2);

jp.add(jl3);

this.add(jp);

}

}

GameCanvas.java

package view;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.util.Random;

import javax.swing.JPanel;

import javax.swing.border.EtchedBorder;

import model.Block;

import model.Box;

public class GameCanvas extends JPanel {

private Color backColor = Color.GRAY, frontColor = Color.orange;

private int rows, cols, score = 0, scoreForLevelUpdate = 0;

private Box[][] boxes;

private int boxWidth=25, boxHeight=25;

private boolean gameOver=false;

public boolean pau=false;

/**

  • 画布类的构造函数

  • @param rows int, 画布的行数

  • @param cols int, 画布的列数

  • 行数和列数决定着画布拥有方格的数目

*/

public GameCanvas(int rows, int cols) {

this.rows = rows;

this.cols = cols;

this.setOpaque(false);

boxes = new Box[rows][cols];

for (int i = 0; i < boxes.length; i++) {

for (int j = 0; j < boxes[i].length; j++) {

boxes[i][j] = new Box(false);

}

}

setBounds(0, 0, 300, 500);//设置相对位置坐标

setBorder(new EtchedBorder(

EtchedBorder.RAISED, Color.white, new Color(148, 145, 140)));

}

/**

  • 画布类的构造函数

  • @param rows 与public GameCanvas(int rows, int cols)同

  • @param cols 与public GameCanvas(int rows, int cols)同

  • @param backColor Color, 背景色

  • @param frontColor Color, 前景色

*/

public GameCanvas(int rows, int cols,

Color backColor, Color frontColor) {

this(rows, cols);

this.backColor = backColor;

this.frontColor = frontColor;

}

/**

  • 设置游戏背景色彩

  • @param backColor Color, 背景色彩

*/

public void setBackgroundColor(Color backColor) {

this.backColor = backColor;

}

/**

  • 取得游戏背景色彩

  • @return Color, 背景色彩

*/

public Color getBackgroundColor() {

return backColor;

}

/**

  • 设置游戏方块色彩

  • @param frontColor Color, 方块色彩

*/

public void setBlockColor(Color frontColor) {

this.frontColor = frontColor;

}

/**

  • 取得游戏方块色彩

  • @return Color, 方块色彩

*/

public Color getBlockColor() {

return frontColor;

}

/**

  • 取得画布中方格的行数

  • @return int, 方格的行数

*/

public int getRows() {

return rows;

}

/**

  • 取得画布中方格的列数

  • @return int, 方格的列数

*/

public int getCols() {

return cols;

}

/**

  • 取得游戏成绩

  • @return int, 分数

*/

public int getScore() {

return score;

}

/**

  • 取得自上一次升级后的积分

  • @return int, 上一次升级后的积分

*/

public int getScoreForLevelUpdate() {

return scoreForLevelUpdate;

}

/**

  • 得到某一行某一列的方格引用。

你可能感兴趣的:(Java,经验分享,架构,java)