package cn.itcast.csz.ui;
import javax.swing.JOptionPane;
import cn.itcast.csz.service.CSZService;
public class CSZServiceFrame extends CSZFrame {
private CSZService service = new CSZService();
private int count;//猜数字次数
public CSZServiceFrame() {
init();
}
private void init() {
clearTextField();//清空输入框
count = 0;//初始化次数
service.init();//初始化核心类
}
/*
* 每次猜字数后都要显示结果
*/
private void showResults(String input) {
service.createResult(input, count);//生成新结果添加到结果数组中
String[] results = service.getResults();//获取结果数组
/*
* 把结果添加html中
*/
StringBuilder sb = new StringBuilder();
sb.append("<html><body>");
for(int i = 0; i < results.length; i++) {
sb.append(results[i]).append("<br/>");
}
sb.append("</body></html>");
/*
* 把html显示在label中
*/
this.label.setText(sb.toString());
}
@Override
public void run(String input) {
showResults(input);//显示结果
/*
* 比较输入是否正确
*/
if(service.equalsRandom(input)) {
JOptionPane.showMessageDialog(this, "聪明伶俐一百分!");
init();//初始化
return;
}
/*
* 如果输入数次等于7次,为最后一次
*/
if(count == 7) {
JOptionPane.showMessageDialog(this, "脑筋断路游戏结束!正确答案是:" + service.getRand());
init();
return;
}
count++;//猜数字次数加1
}
}
|
|