设为首页 加入收藏

TOP

java版俄罗斯方块
2014-11-13 08:15:07 来源: 作者: 【 】 浏览:43
Tags:java 俄罗斯 方块

  一个java 版本的俄罗斯方块。先说小弟java水平尚属初级水平所有见笑了 有些bug,不想继续修改了,但是所有的基本功能都实现了。如果有需要的,可以参考一下


  方块构造类


  package com;


  import java.util.Random;


  public class Fangk {


  private String[][] fklist = {


  {"0000111100000000","0100010001000100","0000111100000000","0100010001000100"},


  {"0000011001100000","0000011001100000","0000011001100000","0000011001100000"},


  {"0000001001110000","0010001100100000","0000011100100000","0010011000100000"},


  {"0010011001000000","0000011000110000","0010011001000000","0000011000110000"},


  {"0100011000100000","0000001101100000","0100011000100000","0000001101100000"},


  {"0000010001100010","0000011011000000","0000010001100010","0000011011000000"},


  {"0000011101000000","0110001000100000","0000000101110000","0000010001000110"},


  };


  private int pcl;


  private int scl;


  private int lpcl;


  private int lscl;


  public int[] Fack(){


  int[] a = new int [16];


  Fangk ab = new Fangk();


  Random rand = new Random();


  lpcl = rand.nextInt(7);


  lscl = rand.nextInt(3);


  // System.out.println("fuck"+pcl+"ou"+scl);


  for(int i=0;i<16;i++){


  if((ab.fklist[lpcl][lscl].charAt(i)+"").equals("1"))a[i]=1;


  else a[i]=0;


  }


  return a;


  }


  public int [] getNext(){


  int[] a = new int [16];


  Fangk ab = new Fangk();


  int scl1;


  //如果不是 该行的最後一个


  if(scl!=3)scl1=scl+1;


  else scl1=0;


  for(int i=0;i<16;i++){


  if((ab.fklist[pcl][scl1].charAt(i)+"").equals("1"))a[i]=1;


  else a[i]=0;


  }


  return a;


  }


  public int getScl() {


  return scl;


  }


  public void setScl() {


  if(scl!=3)scl=scl+1;


  else scl=0;


  }


  public void setScl1(int scl) {


  this.scl =scl;


  }


  public int getLpcl() {


  return lpcl;


  }


  public void setLpcl(int lpcl) {


  this.lpcl = lpcl;


  }


  public int getLscl() {


  return lscl;


  }


  public void setLscl(int lscl) {


  this.lscl = lscl;


  }


  public int getPcl() {


  return pcl;


  }


  public void setPcl(int pcl) {


  this.pcl = pcl;


  }


  }


  主类(其中 包括内部控制方块类 )


  package com;


  import java.awt.Color;


  import java.awt.GridLayout;


  import java.awt.Label;


  import java.awt.TextField;


  import java.awt.event.ActionEvent;


  import java.awt.event.ActionListener;


  import java.awt.event.InputEvent;


  import java.awt.event.KeyEvent;


  import java.awt.event.KeyListener;


  import java.io.File;


  import java.io.FileNotFoundException;


  import java.io.FileOutputStream;


  import java.io.FileReader;


  import java.io.IOException;


  import javax.swing.JButton;


  import javax.swing.JComboBox;


  import javax.swing.JFileChooser;


  import javax.swing.JFrame;


  import javax.swing.JMenu;


  import javax.swing.JMenuBar;


  import javax.swing.JMenuItem;


  import javax.swing.JOptionPane;


  import javax.swing.JPanel;


  import javax.swing.KeyStroke;


  @SuppressWarnings("serial")


  public class Table extends JFrame {


  MyJpanel[][] pan = new MyJpanel[23][15];


  MyJpanel[][] next=new MyJpanel[4][4];


  JButton button = new JButton("开始/暂停");


  JButton button2 = new JButton("新游戏");


  JButton button1 = new JButton("重来一回");


  TextField curScore = new TextField();


  Control tt1 = new Control();


  int pause=0; /*用来判断继续或者暂停*/


  int change =0;


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇JavaServletAPI中文说明文档(2) 下一篇Java设计模式之Singleton模式

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: