📄 linkgame.java
字号:
setLayout(null);
jFramePane=new BackGroundPane();
jFramePane.setLayout(null);
jFramePane.setBounds(0,0,800,600);
ImageIcon imageP = new ImageIcon("40.jpg");
jFramePane.setImageIcon(imageP);
super.add(jFramePane);
bmt=new BackMusicThread();
//MenuBar
MonitorMenu mm=new MonitorMenu();
JMenuBar menubar=new JMenuBar();
setJMenuBar(menubar);
JMenu gameMenu=new JMenu("Game");
JMenu optionMenu=new JMenu("Option");
// gameMenu.setMnemonic('G');
// optionMenu.setMnemonic('O');
//GameMenu
startItem=gameMenu.add("Start");
startItem.addActionListener(mm);
pauseItem=gameMenu.add("Restart");
pauseItem.addActionListener(mm);
gameMenu.addSeparator();
exitItem=gameMenu.add("Help");
exitItem.addActionListener(mm);
//startItem.setAccelerator(KeyStroke.getKeyStroke('S',CTRL_DOWN_MASK));
//pauseItem.setAccelerator(KeyStroke.getKeyStroke('P',CTRL_DOWN_MASK));
//OptionMenu
//Background
JMenu backgroundMenu=new JMenu("Backgroud");
optionMenu.add(backgroundMenu);
backgroundMenu.add(DefaultItem=new JRadioButtonMenuItem("Default",true));
DefaultItem.addActionListener(mm);
backgroundMenu.add(QItem=new JRadioButtonMenuItem("Q Pattern",false));
QItem.addActionListener(mm);
backgroundMenu.add(viewItem=new JRadioButtonMenuItem("Saftine",false));
viewItem.addActionListener(mm);
ButtonGroup types=new ButtonGroup();
types.add(DefaultItem);
types.add(QItem);
types.add(viewItem);
//syzItem.setAccelerator(KeyStroke.getKeyStroke('S',CTRL_DOWN_MASK));
//QItem.setAccelerator(KeyStroke.getKeyStroke('Q',CTRL_DOWN_MASK));
//viewItem.setAccelerator(KeyStroke.getKeyStroke('V',CTRL_DOWN_MASK));
//LevelMenu
JMenu levelMenu=new JMenu("Level");
optionMenu.add(levelMenu);
levelMenu.add(easyItem=new JRadioButtonMenuItem("Easy",false));
easyItem.addActionListener(mm);
levelMenu.add(normalItem=new JRadioButtonMenuItem("Normal",false));
normalItem.addActionListener(mm);
levelMenu.add(hardItem=new JRadioButtonMenuItem("Hard",true));
hardItem.addActionListener(mm);
ButtonGroup type1=new ButtonGroup();
type1.add(easyItem);
type1.add(normalItem);
type1.add(hardItem);
//easyItem.setAccelerator(KeyStroke.getKeyStroke('E',CTRL_DOWN_MASK));
//normalItem.setAccelerator(KeyStroke.getKeyStroke('N',CTRL_DOWN_MASK));
//hardItem.setAccelerator(KeyStroke.getKeyStroke('H',CTRL_DOWN_MASK));
JMenu musicMenu=new JMenu("Music");
optionMenu.add(musicMenu);
musicMenu.add(onItem=new JRadioButtonMenuItem("On",true));
musicMenu.add(offItem=new JRadioButtonMenuItem("Off",false));
ButtonGroup type2=new ButtonGroup();
type2.add(onItem);
type2.add(offItem);
menubar.add(gameMenu);
menubar.add(optionMenu);
//top
//JLabel timeLabel=new JLabel("Time");
//timeLabel.setOpaque(true);
//timeLabel.setBounds(85,25,30,20);
//jFramePane.add(timeLabel);
progress.setStringPainted(true);
progress.setBorderPainted(false);
progress.setString("Hurry Up");
progress.setBackground(Color.YELLOW);
progress.setSize(350,30);
splash.add(progress);
splash.setBackground(Color.YELLOW);
// setContentPane(splash);
splash.setBounds(150,25,150,25);
jFramePane.add(splash);
/// pbt=new ProcessBarThread();
jpcenter=new BackGroundPane();
jpcenter.setBounds(25,75,600,400);
//jpcenter.setOpaque(false);
//jpcenter.setBackground(Color.PINK);
GridLayout grid=new GridLayout(10,15);
jpcenter.setLayout(grid);
ImageIcon imagecen = new ImageIcon("41.jpg");
jpcenter.setImageIcon(imagecen);
jFramePane.add(jpcenter);
//Gameinit
// initGame();
//east
MonitorFrame mf=new MonitorFrame();
startButton=new JButton("Start");
startButton.setBounds(650,50,125,75);
startButton.addActionListener(mf);
jFramePane.add(startButton);
pauseButton=new JButton("Restart");
pauseButton.setBounds(650,200,125,75);
pauseButton.setEnabled(false);
pauseButton.addActionListener(mf);
jFramePane.add(pauseButton);
exitButton=new JButton("Help");
exitButton.setBounds(650,375,125,75);
exitButton.addActionListener(mf);
exitButton.setEnabled(false);
jFramePane.add(exitButton);
// bottom
reSetButton=new JButton("reSet");
reSetButton.setBounds(50,480,100,40);
reSetButton.addActionListener(mf);
jFramePane.add(reSetButton);
}
class MyThread extends Thread
{
public void run(){
setVisible(true);
try {
for (int i=0;i<100;i++){
Thread.sleep(2235);
progress.setValue(progress.getValue() + 1);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
gameOver();
dispose();
}}
class MonitorFrame implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==startButton){
initGame();
bmt.start();
pauseButton.setEnabled(true);
for(int i=0;i<150;i++){
jButton[i].setEnabled(true);
}
progress.setValue(0);
MyThread myThread = new MyThread();
Thread t2 = new Thread(myThread);
t2.start();
startButton.setEnabled(false);
exitButton.setEnabled(true);
}
if(e.getSource()==pauseButton){
progress.setValue(0);
mk=0;
for(int i=0;i<(level*4);i++){
a[i]=(i%level)+1;
}
for(int i=level*4;i<150;i++){
a[i]=0;
}
for(int i=0;i<1000;i++){
int b=(int)(Math.random()*150);
int index;
index=a[0];
a[0]=a[b];
a[b]=index;
}
for(int i=0;i<150;i++){
if(a[i]==0){
jButton[i].setVisible(false);
}
else{
jButton[i].setIcon(image[a[i]-1]);jButton[i].setVisible(true);
}
}
int nu=0;
for(int i=0;i<10;i++){
for(int j=0;j<15;j++){
b[i][j]=a[nu];
nu++;
}
}
}
if(e.getSource()==exitButton){
int lk=0;
for(int i=0;i<10;i++){
for(int j=0;j<15;j++){
a[lk]=b[i][j];
lk++;
}
}
int i=0;
int j=0;
ImageIcon ma=new ImageIcon("new.GIF");
for(i=0;i<150;i++){
for(j=0;j<150;j++){
if(i!=j&&a[i]!=0&&a[j]!=0&&a[i]==a[j]){
if(check(i/15,i%15,j/15,j%15)){
jButton[i].setIcon(ma);
jButton[j].setIcon(ma);
System.out.print(i/15);
System.out.println();
System.out.print(i%15);
System.out.println();
System.out.print(j/15);
System.out.println();
System.out.print(j%15);
i=1000;
j=1000;
}
}
}
}
i=0;
j=0;
}
if(e.getSource()==reSetButton){
resetMusic();
reSet();
}
}
}
class MonitorMenu implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==startItem){
pauseItem.setEnabled(true);
for(int i=0;i<150;i++){
jButton[i].setEnabled(true);
}
}
if(e.getSource()==pauseItem){
for(int i=0;i<150;i++){
jButton[i].setEnabled(false);}
}
if(e.getSource()==exitItem){
System.exit(0);
}
if(e.getSource()==DefaultItem){
ImageIcon imagesyz = new ImageIcon("41.jpg");
jpcenter.setImageIcon(imagesyz);
}
if(e.getSource()==QItem){
ImageIcon imageQ = new ImageIcon("38.jpg");
jpcenter.setImageIcon(imageQ);
}
if(e.getSource()==viewItem){
ImageIcon imageV = new ImageIcon("39.jpg");
jpcenter.setImageIcon(imageV);
}
if(e.getSource()==easyItem){
level=10;
}
if(e.getSource()==normalItem){
level=30;
}
if(e.getSource()==hardItem){
level=37;
}
}
}
class MonitorButton implements ActionListener{
private int[] record;
private int re;
public MonitorButton(){
record=new int[2];
re=0;
}
public void actionPerformed(ActionEvent e){
selectMusic();
for(int i=0;i<150;i++){
if(e.getSource()==jButton[i]){
if(!(a[i]==0)){
record[re]=i;
re++;
}
}
}
if(re==2){
if(!(record[0]==record[1])){
if(a[record[0]]==a[record[1]]){
int firstLine=record[0]/15;
int firstRow=record[0]%15;
int secondLine=record[1]/15;
int secondRow=record[1]%15;
if(check(firstLine,firstRow,secondLine,secondRow)){
cancleMusic();
jButton[record[0]].setVisible(false);
jButton[record[1]].setVisible(false);
b[firstLine][firstRow]=0;
b[secondLine][secondRow]=0;
System.out.println(b[firstLine][firstRow]);
System.out.println(b[secondLine][secondRow]);
mk++;
System.out.print("mkmk"+mk+"mkmk ");
}
}
}
record[0]=record[1];
re=1;
}
if(mk==level*2){
AudioPlayer.player.stop(as);
winMusic();
JOptionPane msg=new JOptionPane();
msg.showMessageDialog(jFramePane,"You are Win","Winner",msg.INFORMATION_MESSAGE,image[36]);
}
}
}
class BackMusicThread extends Thread{
boolean flg=true;
public void run(){
while(flg){
backMusic();
try{
sleep(223500);
} catch ( InterruptedException exception ) {
exception.printStackTrace();
}
}
}
}
public static void main(String[] args){
new LinkGame("LinkGame").setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -