⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tetirs.java

📁 关于俄罗斯方块的程序我想已经有很多了
💻 JAVA
字号:

import java.awt.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;

/**
 * @author 软件1班林小辉,17号
 *
 */
public class Tetirs extends JFrame implements KeyListener,
									 MouseMotionListener,
MouseWheelListener,

MouseListener{
	
static SingleTetirs ST;
static int GRIDX;
static int GRIDY;
public static void main(String[] args){
	
	JFrame.setDefaultLookAndFeelDecorated(true);//设定标准接口
	Tetirs myTetirs=new Tetirs();//建立实体窗口
	myTetirs.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	myTetirs.setTitle("俄罗斯方块");
	myTetirs.setBounds(0,0,500,525);//设定窗口位置大小
	myTetirs.setVisible(true);//显示窗口
	myTetirs.setResizable(false);		
	ST=new SingleTetirs(myTetirs.getContentPane().getGraphics(),
						5,5,14,24,20,1,6,true,myTetirs.getComponent(0));
	myTetirs.getContentPane().addMouseMotionListener(myTetirs);//加入鼠标事件
	myTetirs.getContentPane().addMouseListener(myTetirs);//加入鼠标事件
	myTetirs.getContentPane().addMouseWheelListener(myTetirs);//加入鼠标事件
	myTetirs.addKeyListener(myTetirs);//加入键盘事件
			
}

public void paint(Graphics g){
	super.paint(g);
	if(ST!=null)
		ST.paint();
}

//鼠标按键
public void mouseClicked(MouseEvent e){
	switch(e.getButton()){
	case MouseEvent.BUTTON1:
		ST.keyPress(KeyEvent.VK_UP);
		break;	
	case MouseEvent.BUTTON2:
		break;
	case MouseEvent.BUTTON3:
		ST.keyPress(KeyEvent.VK_SPACE);
		break;
	}
}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}

//鼠标滚轮事件
public void mouseWheelMoved(MouseWheelEvent e){
	switch(e.getWheelRotation()){
	case -1:		
		ST.keyPress(KeyEvent.VK_UP);
		break;
	case 1:		
		ST.keyPress(KeyEvent.VK_DOWN);
		break;		
	}
}

//鼠标事件
public void mouseMoved(MouseEvent e){
	int x=e.getX();
	int y=e.getY();
	if(x>5 && x<285 &&//设定X轴边界 
	   y>5 && y<485 &&//设定Y轴边界 
	   ((x-5)/20)!=(ST.NOW_BRICK_X+2)){
		
		if(((x-5)/20)>(ST.NOW_BRICK_X+2)){
			ST.keyPress(KeyEvent.VK_RIGHT);
			System.out.println("big");
		}
		else if((((x-5)/20)<(ST.NOW_BRICK_X+2))){
			ST.keyPress(KeyEvent.VK_LEFT);					
			System.out.println("small");
		}
		else{
			System.out.println("equal");
		}
	}
}
public void mouseDragged(MouseEvent e){}

//键盘按下事件
public void keyPressed(KeyEvent e){
	if(e.getKeyCode()==KeyEvent.VK_DOWN)
		ST.DownThread.stop();
	ST.keyPress(e.getKeyCode());
	if(e.getKeyCode()==KeyEvent.VK_DOWN){
		ST.DownThread=new Thread(ST);
		ST.DownThread.start();
	}
		
}
public void keyReleased(KeyEvent e){}	
public void keyTyped(KeyEvent e){}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -