home *** CD-ROM | disk | FTP | other *** search
- package tetris;
-
- import javax.microedition.lcdui.Graphics;
-
- class Digit {
- static byte hSpace = 2;
- static byte vSpace = 2;
- static byte[] digits = new byte[]{63, 6, 91, 79, 102, 109, 125, 7, 127, 111};
-
- public Digit() {
- }
-
- static void drawHDigit(Graphics g, int x, int y, int digit, int size) {
- if (digit >= 0 && digit <= 9) {
- for(int i = 0; i < 7; ++i) {
- if ((digits[digit] & 1 << i) != 0) {
- switch (i) {
- case 0:
- g.drawLine(x, y, x + size, y);
- break;
- case 1:
- g.drawLine(x + size, y, x + size, y + size);
- break;
- case 2:
- g.drawLine(x + size, y + size, x + size, y + 2 * size);
- break;
- case 3:
- g.drawLine(x, y + 2 * size, x + size, y + 2 * size);
- break;
- case 4:
- g.drawLine(x, y + size, x, y + 2 * size);
- break;
- case 5:
- g.drawLine(x, y, x, y + size);
- break;
- case 6:
- g.drawLine(x, y + size, x + size, y + size);
- }
- }
- }
- }
-
- }
-
- static void drawVDigit(Graphics g, int x, int y, int digit, int size) {
- if (digit >= 0 && digit <= 9) {
- for(int i = 0; i < 7; ++i) {
- if ((digits[digit] & 1 << i) != 0) {
- switch (i) {
- case 0:
- g.drawLine(x + 2 * size, y, x + 2 * size, y + size);
- break;
- case 1:
- g.drawLine(x + size, y + size, x + 2 * size, y + size);
- break;
- case 2:
- g.drawLine(x, y + size, x + size, y + size);
- break;
- case 3:
- g.drawLine(x, y, x, y + size);
- break;
- case 4:
- g.drawLine(x, y, x + size, y);
- break;
- case 5:
- g.drawLine(x + size, y, x + 2 * size, y);
- break;
- case 6:
- g.drawLine(x + size, y, x + size, y + size);
- }
- }
- }
- }
-
- }
-
- static void drawHNumber(Graphics g, int x, int y, long number, int size) {
- String s = String.valueOf(number);
-
- for(int i = 0; i < s.length(); ++i) {
- drawHDigit(g, x + i * (size + hSpace), y, Character.digit(s.charAt(i), 10), size);
- }
-
- }
-
- static void drawVNumber(Graphics g, int x, int y, long number, int size) {
- String s = String.valueOf(number);
-
- for(int i = 0; i < s.length(); ++i) {
- drawVDigit(g, x, y + i * (size + vSpace), Character.digit(s.charAt(i), 10), size);
- }
-
- }
- }
-