]> git.cworth.org Git - grrobot/blobdiff - src/grrobot.c
Added support for RR_NOTICE_GAMEOVER.
[grrobot] / src / grrobot.c
index 2b6292ac9e11624dea568d345083601ea2cb4604..98f14f2582fad574e77c4317ed16a6fd2a13318b 100644 (file)
@@ -220,6 +220,22 @@ grr_game_read_notices (grr_game_t *game)
            grr_game_printf (game, "\nGame state changed to: %s.",
                             rr_gamestate_str (notice->u.gamestate));
            break;
+       case RR_NOTICE_TURN:
+           grr_game_print (game, "\nNew round!");
+           rr_board_set_goal_target (board, notice->u.target);
+           gtk_widget_queue_draw (GTK_WIDGET (game->window));
+           break;
+       case RR_NOTICE_GAMEOVER:
+       {
+           char *diagram;
+           grr_game_printf (game, "\nGame over. New game will begin now.");
+           /* XXX: Can drop this when the BOARD NOTICE is added in the server */
+           rr_client_show (game->client, &diagram);
+           rr_board_parse (board, diagram);
+           free (diagram);
+           gtk_widget_queue_draw (GTK_WIDGET (game->window));
+       }
+       break;
        case RR_NOTICE_JOIN:
            grr_game_printf (game, "\nUser %s has joined the game.",
                             notice->u.string);
@@ -291,11 +307,6 @@ grr_game_read_notices (grr_game_t *game)
                                     notice->u.position.x, notice->u.position.y);
            gtk_widget_queue_draw (GTK_WIDGET (game->window));
            break;
-       case RR_NOTICE_TURN:
-           grr_game_print (game, "\nNew round!");
-           rr_board_set_goal_target (board, notice->u.target);
-           gtk_widget_queue_draw (GTK_WIDGET (game->window));
-           break;
        }
        free (notice);
     }