JAVA俄罗斯方块源码
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
import javax.swing.Timer;
public class Tetris extends JFrame {
public Tetris() {
Tetrisblok a = new Tetrisblok();
addKeyListener(a);
add(a);
}
public static void main(String[] args) {
Tetris frame = new Tetris();
JMenuBar menu = new JMenuBar();
frame.setJMenuBar(menu);
JMenu game = new JMenu("游戏");
JMenuItem newgame = game.add("新游戏");
JMenuItem pause = game.add("暂停");
JMenuItem goon = game.add("继续");
JMenuItem exit = game.add("退出");
JMenu help = new JMenu("帮助");
JMenuItem about = help.add("关于");
menu.add(game);
menu.add(help);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(220, 275);
frame.setTitle("Tetris内测版");
// frame.setUndecorated(true);
frame.setVisible(true);
frame.setResizable(false);
}
}
// 创建一个俄罗斯方块类
class Tetrisblok extends JPanel implements KeyListener {
// blockType 代表方块类型
// turnState代表方块状态
private int blockType;
private int score = 0;
private int turnState;
private int x;
private int y;
private int i = 0;
int j = 0;
int flag = 0;
// 定义已经放下的方块x=0-11,y=0-21;
int[][] map = new int[13][23];
// 方块的形状 第一组代表方块类型有S、Z、L、J、I、O、T 7种 第二组 代表旋转几次 第三四组为 方块矩阵
private final int shapes[][][] = new int[][][] {
// i
{ { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 },
{ 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 } },
// s
{ { 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
// z
{ { 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } },
// j
{ { 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },
{ 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
java各知识点详细总结_计算机软件及应用_IT/计算机_专业资料。java知识点详细总结,每次看都有不同的收获!Java 基础知识总结 写代码: 1,明确需求。我要做什么? 2...
Java_笔试选择题6_IT/计算机_专业资料。外包公司java面试和笔试题Java 选择题 1. 下面的不是 Java 的特点的是 的特点的是() A. 动态性 B. 面向对象 C. ...
java_计算机软件及应用_IT/计算机_专业资料。java课后习题,4-8章 第四章 选择题 4-1 Applet 类是属于 java.applet 包的。 4-2 下列关于 Applet 程序的描述...
{ ROTUNDITY;SQUARENESS;DIAMOND } 12、阅读下面的java代码 public satic void main(String args[]){ FileReader fr=new FileReader("d:\\testFile.txt"); -...
java_理学_高等教育_教育专区。javaJava 语言是平台无关的语言。T 类的静态方法中可以访问该类的非静态数据成员.F Java 中方法调用时参数传递都是按值传递的,因...
JAVA_WEB项目新闻发布管理系统第四篇_计算机软件及应用_IT/计算机_专业资料。重庆达渝仁科技官网:www.cqdyr.com 下面实现前台首页,新闻分类(体育新闻,科技新闻等)...
Java 备考-答案-2009-3-9_IT/计算机_专业资料。JAVA面试题和答案Java Application 源程序文件的扩展名为( .java) ;如果利用编译器对源文件进行编译,编译 后将产...
页码,1/14 深入分析 Java I/O 的工作机制许 令波, Java 工程师, 淘宝网 简介: I/O 问题可以说是当今互联网 Web 应用中所面临的主要问题之一,因为当前在...
Java运算符+(优先级、目数)+_IT/计算机_专业资料 暂无评价0人阅读0次下载举报文档Java运算符+(优先级、目数)+_IT/计算机_专业资料。Java运算符+(优先级、...
that: E. 2to1odds: (3)下列哪些是 Java 关键字(A D G) A. B. C. D. E. F. G. goto null FALSE native const malloc extends (4)下列哪些不是...

我要评论