📄 tempinfo.java
字号:
import java.awt.*;
import javax.swing.plaf.*;
import javax.swing.plaf.metal.*;
/** This class stores user information (including colors,background music,typing style,
* typing font size, speed, accuracy, total words typed ,total typing time ) during the
* session.It also takes into account user information during the previous sessions.
*/
class TempInfo{
private double previousAccuracy;
private int previousSpeed;
private long previousTypingPeriod,previousWords;
private UserData user;
TempInfo(UserData user){
this.user=user;
previousSpeed=user.getSpeed();
previousAccuracy=user.getAccuracy();
previousTypingPeriod=user.getTypingPeriod();
previousWords=user.getWords();
}
public void updateValues(long words,double accuracy,long time){
double previousCorrect=(previousAccuracy/100)*previousWords;
double currentCorrect=(accuracy/100)*words;
double totalCorrect=previousCorrect+currentCorrect;
long totalWords=previousWords+words;
previousAccuracy=(totalCorrect/totalWords)*100;
previousTypingPeriod=previousTypingPeriod+time;
previousWords=totalWords;
double min=(double)(previousTypingPeriod)/(1000*60);
previousSpeed=(int)(previousWords/min);
}
public void updateUserData(){
user.setSpeed(previousSpeed);
user.setAccuracy((int)previousAccuracy);
user.setTypingPeriod(previousTypingPeriod);
user.setWords(previousWords);
UserDataIO.writeObject(user);
}
public void updateSettings(Color back,Color lesson,Color typing,
Color error,int size,String bMusic,String eSound,String style){
user.setBackground(back);
user.setLessonColor(lesson);
user.setTypingColor(typing);
user.setErrorColor(error);
user.setTypingFontSize(size);
user.setTypingStyle(style);
user.setBackgroundMusic(bMusic);
user.setErrorSound(eSound);
UserDataIO.writeObject(user);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -