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

📄 tetirs.java

📁 原创的俄罗斯方块java小游戏
💻 JAVA
字号:
//Filename:Tetirs.java
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;

public class Tetirs extends JFrame implements KeyListener,MouseMotionListener,MouseWheelListener,MouseListener
{
  static SingleTetirs ST;
  static int GRIDX,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 + -