📄 tetirs.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 + -