-WGCFLAGS=-Wall -Wextra -Wmissing-prototypes -Wno-unused-parameter
+WGCFLAGS=-Wall -Wextra -Wmissing-prototypes -Wno-unused-parameter -Wno-sign-compare
-PROGRAMS=grid4 drill2 rack
+PROGRAMS=grid4 grid5 drill2 rack
all: $(PROGRAMS)
LIBRARY=dict.o grid.o word-game.o
else
*s++ = ' ';
}
- if (y != 3)
+ if (y != (grid->size - 1))
*s++ = '\n';
}
*s = '\0';
dict_cursor = dict_cursor_next (dict_cursor, 'u');
}
- if (strlen (word) > 2 &&
+ /* For the 4x4 grid any word of length 3 or more counts.
+ * For the 5x5 grid any word of length 4 or more counts.
+ */
+ if (strlen (word) >= (grid->size - 1) &&
DICT_ENTRY_IS_WORD (dict_cursor_resolve (dict_cursor)))
{
dict_add_word (grid->results, word);
--- /dev/null
+/*
+ * Copyright © 2006 Carl Worth
+ *
+ * This program is free software; you can redistribute it and\/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
+ */
+
+#include "grid.h"
+#include "word-game.h"
+
+#include <sys/time.h>
+#include <time.h>
+
+#define GAME_LENGTH (3 * 60)
+int
+main (void)
+{
+ dict_t dict, solution;
+ grid_t grid;
+ struct timeval tv;
+
+ gettimeofday (&tv, NULL);
+ srand (tv.tv_sec ^ tv.tv_usec);
+
+ dict_init (&dict);
+ dict_add_words_from_file (&dict, "words.txt");
+
+ grid_init (&grid, 5);
+
+ dict_init (&solution);
+ grid_solve (&grid, &dict, &solution);
+
+ word_game_play (grid_string (&grid),
+ &dict, &solution, GAME_LENGTH);
+
+ dict_fini (&solution);
+ dict_fini (&dict);
+
+ return 0;
+}