• 大小: 7KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2023-12-23
  • 语言: 其他
  • 标签:

资源简介

一副牌中抽去大小王剩下52张(如果初练也可只用1~10这40张牌),任意抽取4张牌(称牌组),用加、减、乘、除(可加括号)把牌面上的数算成24。每张牌必须用一次且只能用一次,如抽出的牌是3、8、8、9,那么算式为(9-8)×8×3或3×8+(9-8)或(9- 8÷8)×3等。

资源截图

代码片段和文件信息

package pokerGame;

import java.util.*;

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class PokerGame_1 extends Japplet {
public static void main(String[] args) {
PokerGame_1 applet = new PokerGame_1();
Jframe frame = new Jframe();
frame.setDefaultCloseOperation(3);
frame.settitle(“24点游戏“);
frame.add(applet BorderLayout.CENTER);
applet.init();
applet.start();
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}

private JLabel jlblCard1 = new JLabel();
private JLabel jlblCard2 = new JLabel();
private JLabel jlblCard3 = new JLabel();
private JLabel jlblCard4 = new JLabel();
private JTextField jtfexpression = new JTextField(8);
private JButton jbtVerify = new JButton(“Verify“);
private JButton jbtRefresh = new JButton(“Refresh“);
private ImageIcon[] cardIcons = new ImageIcon[52];
private JPanel panel1 = new JPanel();

private ArrayList list = new ArrayList();

public PokerGame_1() {

for (int i = 0; i < 52; i++) {
list.add(i);
cardIcons[i] = new ImageIcon(“image/card/“ + (i + 1) + “.png“);
}

panel1.add(jlblCard1);
panel1.add(jlblCard2);
panel1.add(jlblCard3);
panel1.add(jlblCard4);

JPanel panel2 = new JPanel(new BorderLayout());
panel2.add(new JLabel(“Enter an expression: “) BorderLayout.WEST);
panel2.add(jtfexpression BorderLayout.CENTER);
panel2.add(jbtVerify BorderLayout.EAST);

JPanel panel3 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
panel3.add(jbtRefresh);

add(panel1 BorderLayout.CENTER);
add(panel2 BorderLayout.SOUTH);
add(panel3 BorderLayout.NORTH);

refresh();

jbtRefresh.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
refresh();
}
});

jbtVerify.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (!correctNumbers()) {
JOptionPane.showMessageDialog(null “表达式输入错了! “);
} else {
if (evaluate()) {
JOptionPane.showMessageDialog(null “恭喜你!完美的24“);
} else {
JOptionPane.showMessageDialog(null “这不等于24“);
}
}
}
});
}

private boolean correctNumbers() {
String[] values = (“(“ + jtfexpression.getText() + “)“).trim().split(
“[()+-/* ]+“);

ArrayList valueList = new ArrayList();

for (int i = 1; i < values.length; i++) {
try {
valueList.add(Integer.parseInt(values[i]));
} catch (NumberFormatException e) {
return false;

}

}
Collections.sort(valueList);
System.out.println(valueList);
Collections.sort(currentCardValues);
System.out.println(currentCardValues);
if (valueList.equals(currentCardValues))
return true;
else
return false;
}

private boolean evaluate() {
return Evaluateexpression.evaluateexpression(jtfexpression.getText()
.trim()) == 24;
}

ArrayList curren

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5755  2016-01-07 19:39  pokerGame\PokerGame_1.java

     文件       4873  2016-01-07 19:39  pokerGame\PokerGame_2.java

     文件       9277  2016-01-08 16:54  pokerGame\SearchAnswer.java

     文件       2452  2016-01-08 16:55  pokerGame\Test2_3.java

     文件       3423  2016-01-07 19:39  pokerGame\Test3.java

     目录          0  2016-01-27 10:05  pokerGame

----------- ---------  ---------- -----  ----

                25780                    6


评论

共有 条评论

相关资源