📄 score.java
字号:
package tetrics;
import java.io.*;
import java.util.StringTokenizer;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class Score {
int[] m_nScore = new int[10];
String[] m_sName = new String[10];
public Score() {
for (int i = 0; i < 10; i++) {
m_nScore[i] = 0;
m_sName[i] = "None";
}
readFromFile();
}
private void readFromFile() {
String ObjStr = "";
try {
Reader in = new FileReader("res/a.txt");
char[] buff = new char[4096];
int nch;
while ( (nch = in.read(buff, 0, buff.length)) != -1) {
ObjStr = ObjStr + (new String(buff, 0, nch));
}
}
catch (Exception e) {
e.printStackTrace();
}
parseStr(ObjStr);
}
private void parseStr(String s) {
StringTokenizer st = new StringTokenizer(s, "|");
for (int i = 0; i < 10; i++) {
if (st.hasMoreTokens()) {
String sStr = st.nextToken();
StringTokenizer stt = new StringTokenizer(sStr, "@");
m_sName[i] = stt.nextToken();
try {
m_nScore[i] = Integer.parseInt(stt.nextToken());
}
catch (Exception e) {
m_nScore[i] = 0;
}
}
else {
m_sName[i] = "None";
m_nScore[i] = 0;
}
}
}
private void sortScore() {
int nTempScore = 0;
String sTempName = "None";
for (int i = 0; i < 10; i++) {
for (int j = i; j < 10; j++) {
if (m_nScore[i] < m_nScore[j]) {
nTempScore = m_nScore[j];
sTempName = m_sName[j];
m_nScore[j] = m_nScore[i];
m_sName[j] = m_sName[i];
m_nScore[i] = nTempScore;
m_sName[i] = sTempName;
}
}
}
}
private void saveToFile() {
//first to create a string with some order
sortScore();
String sStr = "";
for (int i = 0; i < 10; i++) {
if (m_sName[i].trim().equals("")) {
m_sName[i] = "none";
}
sStr += m_sName[i].trim() + "@" + m_nScore[i] + "|";
// System.out.println(sStr);
}
try {
File f = new File("res/a.txt");
if (!f.exists()) {
f.createNewFile();
}
Writer wr = new FileWriter(f);
wr.write(sStr);
wr.flush();
}
catch (Exception e) {
e.printStackTrace();
}
}
public boolean isScoreTop(int nScore) {
boolean bIsTop = false;
for (int i = 0; i < 10; i++) {
if (m_nScore[i] < nScore) {
bIsTop = true;
}
}
return bIsTop;
}
public void insertNameScore(String sName, int nScore) {
if (!isScoreTop(nScore)) {
return;
}
sortScore();
m_nScore[9] = nScore;
m_sName[9] = sName;
sortScore();
saveToFile();
}
public int[] getScore() {
return m_nScore;
}
public String[] getName() {
return m_sName;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -