我正在制作类似于“谁想成为百万富翁”的游戏?我有一个'下一步'按钮,让玩家接下来的问题。但是,由于我允许最多四个玩家玩,我希望在最多3次点击后禁用此“下一步”按钮(或者如果有一个/两个/三个玩家玩,则更少)。
到目前为止,我的代码是“下一步”按钮:
nextButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
StatusPage.setVisible(false);
QuestionPage.setVisible(true);
option1.setEnabled(true);
option2.setEnabled(true);
option3.setEnabled(true);
option4.setEnabled(true);
if (Player2JButton.isEnabled()){
counter = 1;
}
else if (Player3JButton.isEnabled()){
counter = 2;
}
else if (Player4JButton.isEnabled()){
counter = 3;
}
else {
System.out.println("Error getting next question.");
}
if (generalKnowledge.isEnabled()){
currentQuest = quest.setQnA(option1, option2, option3, option4, question1, "generalKnowledge");
}
else if (geography.isEnabled()){
currentQuest = quest.setQnA(option1, option2, option3, option4, question1, "geography");
}
else if (hipHopMusic.isEnabled()){
currentQuest = quest.setQnA(option1, option2, option3, option4, question1, "hipHopMusic");
}
else {
System.out.println("Error getting next question.");
}
}
});
答案 0 :(得分:0)
您是否考虑过使用一个简单的int变量来计算其中一个玩家按下该按钮的次数?
您如何看待这个:
final int NUMBER_OF_PLAYERS=4;
int count=0;
nextButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
count++;
if(count-1==NUMBER_OF_PLAYERS)
{
nextButton.setEnabled(false); //disable the button
}
///Your code
}
});
答案 1 :(得分:0)
我想我会把它添加为答案。这是一个工作样本,没有一些Android-yitter。
我们将使用int counter
。每次有人点击你在actionPerformed
- 块内增加计数器。如果counter
大于2,则会点击3次。我们将nextButton
停用#setEnabled
。
public class ButtonCycle extends JPanel implements ActionListener {
private int counter = 0;
private JButton btn;
public ButtonCycle() {
this.btn = new JButton("Next");
this.btn.addActionListener(this);
add(this.btn);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame("Button cycling through animations");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setPreferredSize(new Dimension(250,250));
f.setContentPane(new ButtonCycle());
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
});
}
@Override
public void actionPerformed(ActionEvent a) {
switch(this.counter) {
case 0:
case 1:
this.counter++;
break;
case 2:
((JButton) a.getSource()).setEnabled(false);
// or like this
this.btn.setEnabled(false);
break;
}
}
}
应该给你你需要的东西。