資源簡介
一副牌中抽去大小王剩下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? 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
- 上一篇:軟件體系結構張友生版期末復習題
- 下一篇:發明工坊1官方補丁
評論
共有 條評論