import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.*;
import javax.swing.*;
import javax.swing.JButton;
import javax.swing.JPanel;
class rusPanel extends JPanel {
JMenuBar menubar = new JMenuBar();
JMenu menu1 = new JMenu();
public Thread t = Thread.currentThread();
AllMethod allmethod = new AllMethod();
Element element = new Element();
One one = new One();
Two two = new Two();
Three three = new Three();
Four1 four1 = new Four1();
Four2 four2 = new Four2();
Five1 five1 = new Five1();
Five2 five2 = new Five2();
JPanel p = new JPanel();
JPanel p2 = new JPanel();
public JButton[][] button = new JButton[15][10];
int[][] allbutton = new int[15][10];
public int flag = 1;
int b = 0;
int x = 0, y = 0;
public int mark = 0;
int every = 0;
JButton bb = new JButton("得分:" + mark);
public int[] xy = new int[8];
public int[] xylasttemp = new int[8];;
public void init2(int[] xy) {
for (int i = 0; i < 8; i++) {
xylasttemp[i] = 15;
}
}
int a = 1000;
int c = 10;
public void initB(int[][] b) {
for (int i = 0; i < 15; i++) {
for (int j = 0; j < 10; j++) {
b[i][j] = 0;
}
}
}
private javax.swing.Timer timer = new javax.swing.Timer(a,
new ActionListener() {
public void actionPerformed(ActionEvent e) {
// timer.setDelay(1000);
if (element.downLimit(xy)) {
if (allmethod.candown(allbutton, xylasttemp)) {
allmethod.down(p, button, xy);
init2(xylasttemp);
allmethod.getItselfDownY(xy, xylasttemp);
} else {
allmethod.setButtonLayout(xy, allbutton, button);
every = (int) (Math.random() * 9999) % 7;
// System.out.print(every+" ");
if (every == 0) {
one.init(xy);
} else if (every == 1) {
two.init(xy);
} else if (every == 2) {
three.init(xy);
} else if (every == 3) {
four1.init(xy);
} else if (every == 4) {
four2.init(xy);
} else if (every == 5) {
five1.init(xy);
} else if (every == 6) {
five2.init(xy);
}
init2(xylasttemp);
button[xy[0]][xy[1]].setBackground(Color.blue);
button[xy[2]][xy[3]].setBackground(Color.blue);
button[xy[4]][xy[5]].setBackground(Color.blue);
button[xy[6]][xy[7]].setBackground(Color.blue);
flag = 1;
// 0,4,1,3,1,4,1,5
}
mark = allmethod.full(allbutton, button, bb, mark);
} else {
allmethod.setButtonLayout(xy, allbutton, button);
every = (int) (Math.random() * 9999) % 7;
// every=3;
System.out.println(every);
if (every == 0) {
one.init(xy);
} else if (every == 1) {
two.init(xy);
} else if (every == 2) {
three.init(xy);
} else if (every == 3) {
four1.init(xy);
} else if (every == 4) {
four2.init(xy);
} else if (every == 5) {
five1.init(xy);
} else if (every == 6) {
five2.init(xy);
}
init2(xylasttemp); // 记录每列最后的方块数组
button[xy[0]][xy[1]].setBackground(Color.blue);
button[xy[2]][xy[3]].setBackground(Color.blue);
button[xy[4]][xy[5]].setBackground(Color.blue);
button[xy[6]][xy[7]].setBackground(Color.blue);
flag = 1;
// 0,4,1,3,1,4,1,5
}
}
});
public rusPanel() { // rusPanel的构造函数,初始化,键盘监听等
setLayout(new BorderLayout());
p.setLayout(new GridLayout(15, 10));
for (int i = 0; i < 15; i++) {
for (int j = 0; j < 10; j++) {
button[i][j] = new JButton();
p.add(button[i][j]);
button[i][j].setBackground(Color.BLACK);
}
}
one.init(xy);
init2(xylasttemp);
initB(allbutton);
one.setColor(button, 0, 4);
KeyListener k1 = new KeyListener() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
if (element.downChangeLimit(xy)) {
if (element.leftChangeLimit(xy)) {
if (element.rightChangeLimit(xy)) {
if (every == 0) {
one.changeShape(button, xy, flag);
flag++;
} else if (every == 1) {
two.changeShape(button, xy, flag);
flag++;
} else if (every == 5) {
five1.changeShape(button, xy, flag);
flag++;
} else if (every == 6) {
five2.changeShape(button, xy, flag);
flag++;
} else if (every == 3) {
four1.changeShape(button, xy, flag);
System.out.print(flag);
flag++;
} else if (every == 4) {
four2.changeShape(button, xy, flag);
flag++;
}
}
}
}
}
;
if (e.getKeyCode() == KeyEvent.VK_DOWN) {
timer.setDelay(50);
}
if (e.getKeyCode() == KeyEvent.VK_LEFT) {
if (element.leftLimit(xy)) {
element.left(button, xy);
allmethod.getItselfDownY(xy, xylasttemp);
}
}
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
if (element.rightLimit(xy)) {
element.right(button, xy);
allmethod.getItselfDownY(xy, xylasttemp);
}
}
}
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_DOWN) {
timer.setDelay(1000);
}
;
}
public void keyTyped(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_D) {
}
;
}
};
JButton bb1 = new JButton("开始");
JButton bb2 = new JButton("蔡鸟");
JButton bb3 = new JButton("中级");
JButton bb4 = new JButton("骨灰");
// p2.HEIGHT=200;
//p.setLayout();
p2.add(bb1, "North");
p2.add(bb2, "Center");
p2.add(bb3, "South");
p2.add(bb4, "South");
bb.setFont(new java.awt.Font("DialogInput", 0, 23));
bb.addKeyListener(k1);
add(bb, "North");
//add(p2,"WEST");
add(p, "Center");
add(p2, "West");
this.timer.start();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
原创JAVA俄罗斯方块
共33个文件
class:15个
java:13个
project:1个
需积分: 9 14 下载量 142 浏览量
2008-10-24
13:39:14
上传
评论
收藏 48KB RAR 举报
温馨提示
本人第一个原创的JAVA编写的俄罗斯方块 ~~~希望大家多多指教
资源推荐
资源详情
资源评论
收起资源包目录
rus.rar (33个子文件)
rus
.project 379B
bin
AllMethod.class 5KB
rusPanel.class 4KB
rusPanel$1.class 3KB
Five2.class 2KB
rus.class 2KB
Three.class 869B
DownBy.class 332B
Two.class 2KB
rusFrame.class 708B
Element.class 2KB
Four2.class 2KB
Four1.class 2KB
One.class 2KB
rusPanel$2.class 3KB
Five1.class 2KB
hs_err_pid1888.log 5KB
src
Five1.java 2KB
Element.java 2KB
Four1.java 2KB
DownBy.java 77B
rus.java 1KB
rusPanel.java 6KB
Three.java 520B
rusFrame.java 309B
Four2.java 2KB
One.java 3KB
Five2.java 2KB
AllMethod.java 5KB
Two.java 2KB
.fatjar 344B
俄罗斯方块.jar 19KB
.classpath 232B
共 33 条
- 1
资源评论
lovelyseeker
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功