allow output of grid pre-filled

This commit is contained in:
foo 2017-04-17 17:50:30 +01:00
parent 91b07c4ff7
commit 0015cde35a
3 changed files with 18 additions and 11 deletions

View File

@ -16,7 +16,7 @@ OBJS = ${SRCS:.java=.class}
all: build wordsearch.jar all: build wordsearch.jar
run: all run: all
$(JAVA) uk.org.mafoo.wordsearch.GridFactory 10 10 $(JAVA) uk.org.mafoo.wordsearch.GridFactory 30 30
.java.class: .java.class:
$(JAVAC) $(JFLAGS) $< $(JAVAC) $(JFLAGS) $<

View File

@ -17,5 +17,10 @@ Once built, you need to make a "war" file to deploy to your J2EE container (test
``` ```
$ cd war && jar cfv ../wordsearch.war . $ cd war && jar cfv ../wordsearch.war .
``` ```
Then deploy your war file :-) Then deploy your war file :-)
Alternatively you can test-run the engine...
```
$ make run <wordlist.txt
```

View File

@ -56,7 +56,7 @@ public class GridFactory {
while ((s = in.readLine()) != null && s.length() != 0) { while ((s = in.readLine()) != null && s.length() != 0) {
words.add(s); words.add(s);
} }
char[][] g = makeGrid(words, Integer.parseInt(args[0]), Integer.parseInt(args[1])); char[][] g = makeGrid(words, Integer.parseInt(args[0]), Integer.parseInt(args[1]), false, false);
dump2d(g); dump2d(g);
} }
@ -155,10 +155,10 @@ public class GridFactory {
} }
public static char[][] makeGrid(List<String> words, int height, int width) { public static char[][] makeGrid(List<String> words, int height, int width) {
return makeGrid(words, height, width, false); return makeGrid(words, height, width, false, true);
} }
public static char[][] makeGrid(List<String> words, int height, int width, boolean simple) { public static char[][] makeGrid(List<String> words, int height, int width, boolean simple, boolean fill) {
char[][] grid = new char[height][width]; char[][] grid = new char[height][width];
// Place words at random? // Place words at random?
@ -181,11 +181,13 @@ public class GridFactory {
} }
// Fill rest of grid // Fill rest of grid
for (int y=0; y<height; y++) { if(fill) {
for (int x=0; x<width; x++) { for (int y=0; y<height; y++) {
if (grid[y][x] == Character.UNASSIGNED) for (int x=0; x<width; x++) {
// grid[y][x] = '_'; if (grid[y][x] == Character.UNASSIGNED)
grid[y][x] = getRandomChar(); // grid[y][x] = '_';
grid[y][x] = getRandomChar();
}
} }
} }