HighscoreName.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package model.objects.highscore;
  2. import java.awt.Color;
  3. import java.awt.Font;
  4. import java.awt.Graphics2D;
  5. public class HighscoreName {
  6. private final char[] characters = " abcdefghijklmnopqrstuvwxyz0123456789†".toUpperCase().toCharArray();
  7. private int spacing = 10;
  8. private HighscoreLetter[] letters;
  9. private Font font;
  10. private int index = 0;
  11. public HighscoreName(int x, int y,int nameLength,Font font) {
  12. this.font = font;
  13. letters = new HighscoreLetter[nameLength];
  14. int marge = (int) (Math.floor(nameLength/2)-1)*spacing;
  15. x -= (double)HighscoreLetter.charLength*(nameLength/2.0) + marge;
  16. System.out.println(x);
  17. for(int i = 0; i < letters.length; i++){
  18. letters[i] = new HighscoreLetter(characters, x+(HighscoreLetter.charLength*i)+(spacing*i), y);
  19. }
  20. }
  21. public void drawName(Graphics2D g2){
  22. g2.setFont(font);
  23. for(int i = 0; i < letters.length; i++){
  24. if(i == index){
  25. g2.setColor(Color.RED);
  26. }else{
  27. g2.setColor(Color.BLACK);
  28. }
  29. letters[i].draw(g2);
  30. }
  31. }
  32. public void left(){
  33. index--;
  34. if(index < 0){
  35. index = letters.length-1;
  36. }
  37. }
  38. public void right(){
  39. index++;
  40. index %= letters.length;
  41. }
  42. public void up(){
  43. letters[index].up();
  44. }
  45. public void down(){
  46. letters[index].down();
  47. }
  48. public String getName(){
  49. String name = "";
  50. for(int i = 0; i < letters.length; i++){
  51. name += letters[i].getCurrentString();
  52. }
  53. return name;
  54. }
  55. }