Paso 7: Puntuación y corte
Por desgracia no hay drawChar(), así que tenemos que utilizar cadena de empate.
Hay muchas maneras de convertir a un número en una matriz de caracteres, pero puesto que sólo necesito dígito 0 a 9, decidí que sería la forma más simple de una matriz de dos caracteres (representación ASCII el dígito más null de terminación).
Vamos a utilizar una fuente más pequeña. ¡ Echa un vistazo el número de fuentes compatibles! 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); }
Y para acabar, vamos a la cancha de tenis. Se compone de dos líneas horizontales (uno en la parte superior de la pantalla, el otro en la parte inferior de la pantalla) y una vertical línea en medio de la pantalla.
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); } }