设计一个GUI猜数字游戏程序
羊肉汤做法-中华经典
.
设计一个GUI猜数字游戏程序
该游戏可以由程序随机产生四个0到9之
间的整数,且不重复。玩游戏者通过由用户输入
四个数字来匹配上面所产生的数字。A表示位置正确且数
字正确,B表示数字正确而位置不
正确。 假设随机数据为3792 时,分析如下
数据:
3792
输入: 1234 0A2B
输入: 5678 0A1B
输入: 0867 0A1B
输入: 9786 1A1B
输入: 1794
2A0B
输入: 2793 2A2B
输入: 3792 4A0B
1、设计一个GUI猜数字游戏程序:
package um;可以删除掉
import yout;
import Event;
import
Listener;
import
import n;
import
import nPane;
import ield;
public class GuessNumberGUI extends
JFrame{
private JTextField inputTxt;
private JTextField dispTxt;
private JButton
okButton;
private JButton resetBtn;
private int randomNum; 随机产生的随机数
private
Random randGenerator; 随机数生成器
public
GuessNumberGUI() {
super(
nerator = new
Random(9999);
Num = generateRandomNum();
n(
initComponent();
.
.
componentAddListener();
}
private int generateRandomNum() {
int guessNum = t(9999);
if(guessNum >=
1000){
return guessNum;
}
return generateRandomNum();
}
private void initComponent() {
setLayout(new
FlowLayout());
xt = new JTextField();
t = new JTextField();
on = new
JButton(确定
tn = new JButton(重新开始
umns(6);
umns(6);
t(显示结果
add(inputTxt);
add(dispTxt);
add(okButton);
add(resetBtn);
pack();
}
private void
componentAddListener(){
ionListener(new
ActionListener() {
@Override
public
void actionPerformed(ActionEvent e) {
String input = t();
generateNumber(input);
}
});
ionListener(new
ActionListener() {
@Override
public
void actionPerformed(ActionEvent e) {
randomNum = generateRandomNum();
.
.
n(
}
});
}
private void generateNumber(String
input) {
if(
ssageDialog(this,
请输入数字
return
}
String result =
int aCnt = 0;
int bCnt = 0;
String randNumStr = f(Num);
for(int i=0;
i<(); i++){
char ch = (i);
for(int
j=0; j<(); j++){
char jch = (j);
if(jch == ch){
bCnt++;
if(i ==
j){
aCnt++;
bCnt--;
}
}
}
}
result +=
aCnt+
n(result);
t(result);
}
public void showMe(){
setLocation(200,
100);
setVisible(true);
setDefaultCloseOperation(_ON_CLOSE);
}
运行主函数
public static void main(String[]
args){
new GuessNumberGUI().showMe();
}
.
.
}
.