正在创建1x4 KeyBrick游戏

时间:2015-11-20 11:11:11

标签: java

我需要将一个按钮分配给一个随机按键,导致一个按钮消失,并再次使用随机分配的按键重新出现另一个按钮。

这是我到目前为止所做的:

这是我的游戏开始:

package code;

import javax.swing.JFrame;
import javax.swing.*;

public class Game implements Runnable{


    @Override
    public void run() {
        // TODO Auto-generated method stub


        JFrame frame = new JFrame ("Game");
         frame.setVisible(true);
         frame.setSize(500,200);
         frame.setLocationRelativeTo(null);
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);




          JPanel panel = new JPanel();
          frame.add(panel);
          JButton button = new JButton("Start The Game");
          panel.add(button);
         button.addActionListener (new StartButton(frame));
    }
}

这是我的按钮布局,它是1x4:

package code;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class StartButton implements ActionListener {

private JFrame _j;
public StartButton(JFrame frame){
    _j = frame;
}
public void actionPerformed (ActionEvent e) {     

    JFrame frame2 = new JFrame("ABC");


    frame2.setVisible(true);
    frame2.setSize(600,600);
    frame2.setLocationRelativeTo(null);
    JLabel label = new JLabel("Game");
    JPanel panel = new JPanel();
    frame2.add(panel);
    panel.add(label);       
    _j.setVisible(false); //This creates a new game frame

    GridLayout experimentLayout = new GridLayout(0,1);

            frame2.setLayout(experimentLayout);

            frame2.add(new JButton(""));
            frame2.add(new JButton(""));
            frame2.add(new JButton(""));
            frame2.add(new JButton(""));
}
}

我应该给按钮自己的变量吗?如何显示随机键,按下它会删除该键,然后出现一个新按钮?

1 个答案:

答案 0 :(得分:1)

你需要两件事。

  1. KeyListener
  2. 保存需要按下的下一个键的变量。
  3. 对于保存随机键的变量,我建议将所有可能的按键放入一个数组中,然后使用随机生成的数字从数组中选择。

    KeyListener只需要检查按下的键是否是正确的键,如果是,那么它需要在屏幕上的某处创建一个新的JButton并分配一个新的随机键击(根据我对该数组的建议) )。

    每次按下正确的随机键时创建的JButton应该放入一个变量中(因为你只需要其中一个),每次你只需创建一个新的JButton并将它放在变量中。然而,更有效的方法是简单地改变单个JButton位置,这样您就不必每次都创建一个新对象。

    可以使用KeyEvent类将击键放入变量中。例如,如果空格键被按下,则if (randomKey == KeyEvent.VK_SPACE)为真。