uint8_t idx_player = 0;\r
uint8_t idx_dealer = 0;\r
\r
-typedef enum {\r
- BJ_HIT,\r
- BJ_STAND,\r
- BJ_BUST,\r
-} guess_t;\r
-\r
typedef enum {\r
BJ_TITLE_SCREEN,\r
BJ_PLAYING,\r
BJ_RESULT,\r
} game_state_t;\r
\r
-static game_state_t game_state = BJ_TITLE_SCREEN;\r
+static game_state_t game_state;\r
static uint8_t deck[DECK_SIZE] = {0};\r
static uint8_t current_card = 0;\r
\r
\r
static void display_player_hand(void) { \r
uint8_t cards_to_display = idx_player > MAX_PLAYER_CARDS_DISPLAY ? MAX_PLAYER_CARDS_DISPLAY : idx_player;\r
- for (uint8_t i=0; i<cards_to_display; i++) {\r
- uint8_t card = hand_player[i];\r
+ for (uint8_t i=cards_to_display; i>0; i--) {\r
+ uint8_t card = hand_player[idx_player-i];\r
if (card == 10) card = 0;\r
const char display_char = card + '0';\r
- watch_display_character(display_char, BOARD_DISPLAY_START + i);\r
+ watch_display_character(display_char, BOARD_DISPLAY_START + cards_to_display - i);\r
}\r
}\r
\r
\r
static void display_win(void) {\r
game_state = BJ_RESULT;\r
- watch_display_text(WATCH_POSITION_BOTTOM, " WIN");\r
+ watch_display_text_with_fallback(WATCH_POSITION_BOTTOM, "WlN ", " WIN");\r
display_player_score();\r
display_dealer_score();\r
}\r
\r
static void display_tie(void) {\r
game_state = BJ_RESULT;\r
- watch_display_text(WATCH_POSITION_BOTTOM, " TIE");\r
+ watch_display_text_with_fallback(WATCH_POSITION_BOTTOM, "TlE ", " TIE");\r
display_player_score();\r
}\r
\r
static void display_bust(void) {\r
game_state = BJ_RESULT;\r
- watch_display_text(WATCH_POSITION_BOTTOM, "BUST");\r
+ watch_display_text_with_fallback(WATCH_POSITION_BOTTOM, "8UST ", " BUST");\r
display_player_score();\r
}\r
\r