Étape 7: Notation & Cour
Malheureusement il n’y a aucun drawChar(), alors il faut utiliser la chaîne de tirage au sort.
Il existe plusieurs façons pour convertir un nombre en un tableau de caractères, mais puisque j’ai seulement besoin d’un chiffre entre 0 et 9, j’ai décidé de que la manière la plus simple consisterait à réserver un tableau de deux caractères (du chiffre représentation ASCII plus nul de terminaison).
Nous allons utiliser une police plus petite. Oh, vous regardez le nombre de polices prises en charge ! https://github.com/olikraus/u8glib/wiki/FontSize
void DrawScores(){ char strScore0[] = "?"; // Sets string length to 1 char strScore1[] = "?"; strScore0[0] = '0' + score0; // Overide the string value with single digit score strScore1[0] = '0' + score1; u8g.setFont(u8g_font_04b_03b); u8g_uint_t scoreWidth = u8g.getStrPixelWidth(strScore0); const int offset = 5; u8g_uint_t scoreY = 9; u8g.drawStr( halfCourtWidth - offset - scoreWidth, scoreY, strScore0); u8g.drawStr( halfCourtWidth + offset, scoreY, strScore1); }
Et pour finir, nous allons dessiner le court de tennis. Il est composé de deux lignes horizontales (une en haut de l’écran, l’autre au bas de l’écran) et une verticale pointillée ligne au milieu de l’écran.
void DrawCourt() { u8g.drawHLine(0, 0, courtWidth); u8g.drawHLine(0, courtHeight - 1, courtWidth); byte dash = 3; for (byte y = 0; y < (courtHeight / dash / 2); y++) { u8g.drawVLine(halfCourtWidth - 1, 2 + y * dash * 2, dash); } }