From: simon Date: Mon, 30 May 2005 18:24:06 +0000 (+0000) Subject: `Copy' operation for Mines. X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/commitdiff_plain/01be48b0c1057068d1b86c5ce72314de932a8dad `Copy' operation for Mines. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@5868 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/mines.c b/mines.c index 73d4c09..7f7d316 100644 --- a/mines.c +++ b/mines.c @@ -2174,7 +2174,30 @@ static game_state *solve_game(game_state *state, game_aux_info *aux, static char *game_text_format(game_state *state) { - return NULL; + char *ret; + int x, y; + + ret = snewn((state->w + 1) * state->h + 1, char); + for (y = 0; y < state->h; y++) { + for (x = 0; x < state->w; x++) { + int v = state->grid[y*state->w+x]; + if (v == 0) + v = '-'; + else if (v >= 1 && v <= 8) + v = '0' + v; + else if (v == -1) + v = '*'; + else if (v == -2 || v == -3) + v = '?'; + else if (v >= 64) + v = '!'; + ret[y * (state->w+1) + x] = v; + } + ret[y * (state->w+1) + state->w] = '\n'; + } + ret[(state->w + 1) * state->h] = '\0'; + + return ret; } struct game_ui { @@ -2728,7 +2751,7 @@ const struct game thegame = { dup_game, free_game, FALSE, solve_game, - FALSE, game_text_format, + TRUE, game_text_format, new_ui, free_ui, make_move,