As brought up in my Login Screen Thread a lot of people have been doing password strength based on just length not characters / numbers used.
Somewhere in Client.java declare
Code:
public void passwordStrength() {
boolean hasDigit = false;
boolean hasLowercase = false;
boolean hasUppercase = false;
for (int i = 0; i < myPassword.length(); i++) {
char c = myPassword.charAt(i);
hasDigit |= '0' <= c && c <= '9';
hasLowercase |= 'a' <= c && c <= 'z';
hasUppercase |= 'A' <= c && c <= 'Z';
if (hasDigit && !hasLowercase && !hasUppercase ||
!hasDigit && hasLowercase && !hasUppercase
|| !hasDigit && !hasLowercase && hasUppercase) {
passwordStrength = (myPassword.length() <= 6 ? "@red@Weak" : "@yel@Fair");
}
else if (hasDigit && hasLowercase && !hasUppercase ||
!hasDigit && hasLowercase && hasUppercase
|| hasDigit && !hasLowercase && hasUppercase) {
passwordStrength = (myPassword.length() <= 6 ? "@yel@Fair" : "@gre@Strong");
} else if (hasDigit && hasLowercase && hasUppercase) {
passwordStrength = "@gre@Strong";
}
}
}
Then in ProcessGameLoop() add
Code:
if (typingPassword) {
passwordStrength();
}
Almost forgot under Public String myPassword add
Code:
Public String passwordStrength
Credits:
Samuel: 5%
Me: 15%
StackOverFlow: 80%