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

📄 mainframe.java

📁 一款java图形界面的游戏
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
              break;
            if(flagBlocks[rows[0]][cols[0]-1]!=0)
              break;
            clear();
            rows[0]--;
            rows[2]++;
            rows[3]--;
            cols[0]++;
            cols[2]--;
            cols[3]--;

            status=3;
            show();
            break;
          case 3:
            clear();
            rows[0]--;
            rows[2]++;
            rows[3]++;
            cols[0]--;
            cols[2]++;
            cols[3]--;

            status=4;
            show();
            break;
          case 4:
            if(cols[0]>=9)
              break;
            if(flagBlocks[rows[0]][cols[0]+1]!=0)
              break;
            clear();
            rows[0]++;
            rows[2]--;
            rows[3]++;
            cols[0]--;
            cols[2]++;
            cols[3]++;
            status=1;
            show();
            break;

        }
      }
     }
     //类型7方块
     class BlockSeven extends Block{

        public BlockSeven() {
          rows[0] = 1;
          rows[1] = 1;
          rows[2] = 1;
          rows[3] = 1;
          cols[0] = 3;
          cols[1] = 4;
          cols[2] = 5;
          cols[3] = 6;
          color = Color.red;
        }

        public void turn() {

          switch(status){
            case 1:
              clear();
              rows[0]+=2;
              rows[1]++;
              rows[3]--;
              cols[0]+=2;
              cols[1]++;
              cols[3]--;
              status=2;
              show();
              break;
            case 2:
              if(cols[0]<=1||cols[0]>=9)
                break;
              if(flagBlocks[rows[0]][cols[0]-1]!=0)
                break;
              if(flagBlocks[rows[0]][cols[0]+1]!=0)
                break;
              clear();
              rows[0]-=2;
              rows[1]--;
              rows[3]++;
              cols[0]-=2;
              cols[1]--;
              cols[3]++;
              status=1;
              show();
              break;


          }
        }
       }



//游戏主线程
 class TetrisThread  extends Thread {
   int blockType=0;
   int count=0;
    public void run() {
      while (true) {
        //判断游戏状态
        if(block.getIsBottom()&&(!block.getIsTop())){
          //获取当前方块类型
          blockType = nextBlockType;
          //创建方块
          switch (blockType) {
            case 0:
              block = new BlockOne();
              break;
            case 1:
              block = new BlockTwo();
              break;
            case 2:
              block = new BlockThree();
              break;
            case 3:
              block = new BlockFour();
              break;
            case 4:
              block = new BlockFive();
              break;
            case 5:
              block = new BlockSix();
              break;
            case 6:
              block = new BlockSeven();
              break;
            default:
              block = new BlockOne();
          }
          //随机生成下一方块类型
          nextBlockType=(int) (Math.random() * 1000%7);
          //在方块提示区中显示下一方块
          showNextBlock(nextBlockType);
        }
        if(block.getIsTop())
        {//判断方块是否到顶,如果是则设置游戏结束标志
          isEnd=true;
        }
        //获取方块当前动作,并进行相应的操作。
        switch(block.getDirection()){
          case 1://左移
            block.left();
            block.setDirection(block.NORMAL);
            break;
          case 2://右移
            block.right();
            block.setDirection(block.NORMAL);
            break;
          case 3://翻转
            block.turn();
            block.setDirection(block.NORMAL);
            break;
          case 4://下落到底部
            block.downToBottom();
            block.setDirection(block.NORMAL);
            break;
          default://正常下落
            if (!isEnd && !isPause) {
              try {
                Thread.sleep(speed/50);
              }
              catch (Exception ex) {}

              if( count<50)
                count++;
              else
              {
                block.downOneLine();
                count=0;
              }
             }
           }
        }
      }
    }


  void jMenuItem1_mouseClicked(MouseEvent e) {
    start();
  }

  void jMenuItem1_actionPerformed(ActionEvent e) {
    start();
  }
  //键盘事件处理
  void this_keyPressed(KeyEvent e) {
    //判断游戏状态
    if(!isEnd&&!isPause){
      //根据键值设置方块动作
      if (e.getKeyCode() == KeyEvent.VK_UP) {
       block.setDirection(block.TURN);
       }

       if (e.getKeyCode() == KeyEvent.VK_DOWN) {
        block.setDirection(block.DOWN);
       }

       if (e.getKeyCode() == KeyEvent.VK_LEFT) {

       block.setDirection(block.LEFT);
       }

       if (e.getKeyCode() == KeyEvent.VK_RIGHT) {

        block.setDirection(block.RIGHT);
       }

    }

  }

  void jMenuItem2_actionPerformed(ActionEvent e) {
    if(isPause){
      isPause=false;
      jMenuItem2.setText("暂停");
    }else{
      isPause=true;
      jMenuItem2.setText("继续");
    }
  }

  void jRadioButtonMenuItem1_actionPerformed(ActionEvent e) {
    initLevel = 1;
    initSpeed = 500;
  }

  void jRadioButtonMenuItem2_actionPerformed(ActionEvent e) {
    initLevel = 2;
    initSpeed = 450;
  }

  void jRadioButtonMenuItem3_actionPerformed(ActionEvent e) {
    initLevel = 3;
    initSpeed = 400;
  }

  void jRadioButtonMenuItem4_actionPerformed(ActionEvent e) {
    initLevel = 4;
    initSpeed = 350;
  }

  void jRadioButtonMenuItem5_actionPerformed(ActionEvent e) {
    initLevel = 5;
    initSpeed = 300;
  }

  void jRadioButtonMenuItem6_actionPerformed(ActionEvent e) {
    initLevel = 6;
    initSpeed = 250;
  }

  void jRadioButtonMenuItem7_actionPerformed(ActionEvent e) {
    initLevel = 7;
    initSpeed = 200;
  }

  void jRadioButtonMenuItem8_actionPerformed(ActionEvent e) {
    initLevel = 8;
    initSpeed = 150;
  }

  void jRadioButtonMenuItem9_actionPerformed(ActionEvent e) {
    initLevel = 9;
    initSpeed = 100;
  }

  void jRadioButtonMenuItem10_actionPerformed(ActionEvent e) {
    initLevel = 10;
    initSpeed = 50;
  }

}

class MainFrame_jMenuItem1_mouseAdapter extends java.awt.event.MouseAdapter {
  MainFrame adaptee;

  MainFrame_jMenuItem1_mouseAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e) {
    adaptee.jMenuItem1_mouseClicked(e);
  }
}

class MainFrame_jMenuItem1_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jMenuItem1_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItem1_actionPerformed(e);
  }
}

class MainFrame_this_keyAdapter extends java.awt.event.KeyAdapter {
  MainFrame adaptee;

  MainFrame_this_keyAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void keyPressed(KeyEvent e) {
    adaptee.this_keyPressed(e);
  }
}

class MainFrame_jMenuItem2_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jMenuItem2_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jMenuItem2_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem1_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem1_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem1_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem2_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem2_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem2_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem3_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem3_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem3_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem4_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem4_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem4_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem5_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem5_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem5_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem6_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem6_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem6_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem7_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem7_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem7_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem8_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem8_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem8_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem9_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem9_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem9_actionPerformed(e);
  }
}

class MainFrame_jRadioButtonMenuItem10_actionAdapter implements java.awt.event.ActionListener {
  MainFrame adaptee;

  MainFrame_jRadioButtonMenuItem10_actionAdapter(MainFrame adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jRadioButtonMenuItem10_actionPerformed(e);
  }
}

⌨️ 快捷键说明

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