diff --git a/README.md b/README.md new file mode 100644 index 0000000..ab513ec --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +WordBubbles Solver +================== + +This is a brute-force-ish solver for games such as [Boggle](http://www.amazon.co.uk/Hasbro-Boggle/dp/B016I77JSO), [Ruzzle](http://ruzzle-game.com/) or [WordBubbles](https://itunes.apple.com/us/app/wordbubbles!/id922488002?mt=8) which require the player to traverse a grid of letters to form words without visiting the same letter twice. + +Pre-requisites +-------------- + + 1. You will need a word list of some sort! Any list of words will do and some Linux distributions provide one by default (check somewhere like `/usr/share/dict/words`). + 1. A modern Java + +Building +-------- + +Building ought to be nice and simple: + +``` +$ javac main.java +``` + +This should build all the relevant files in the project... + +Running +------- + +First create a text file with the grid and save it as, for example, `grid.txt`. If you need to include blanks then use a `space` character. You can, optionally, include a line starting with a # which has a list of word lengths to look for. For example: + +``` +# 6 7 +tz p +deak +mssm + apt +``` + +Then invoke the solver: + +``` +$ java main /path/to/wordlist + + + + +All Classes + + + + +

All Classes

+
+ +
+ + diff --git a/doc/allclasses-noframe.html b/doc/allclasses-noframe.html new file mode 100644 index 0000000..f05820c --- /dev/null +++ b/doc/allclasses-noframe.html @@ -0,0 +1,21 @@ + + + + + +All Classes + + + + +

All Classes

+
+ +
+ + diff --git a/doc/constant-values.html b/doc/constant-values.html new file mode 100644 index 0000000..37cf2f3 --- /dev/null +++ b/doc/constant-values.html @@ -0,0 +1,111 @@ + + + + + +Constant Field Values + + + + + + + +
+ + + + + +
+ + +
+

Constant Field Values

+

Contents

+
+ +
+ + + + + +
+ + + + diff --git a/doc/deprecated-list.html b/doc/deprecated-list.html new file mode 100644 index 0000000..6bfc46a --- /dev/null +++ b/doc/deprecated-list.html @@ -0,0 +1,111 @@ + + + + + +Deprecated List + + + + + + + +
+ + + + + +
+ + +
+

Deprecated API

+

Contents

+
+ +
+ + + + + +
+ + + + diff --git a/doc/help-doc.html b/doc/help-doc.html new file mode 100644 index 0000000..51b418f --- /dev/null +++ b/doc/help-doc.html @@ -0,0 +1,208 @@ + + + + + +API Help + + + + + + + +
+ + + + + +
+ + +
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+ +This help file applies to API documentation generated using the standard doclet.
+ +
+ + + + + +
+ + + + diff --git a/doc/index-all.html b/doc/index-all.html new file mode 100644 index 0000000..8235644 --- /dev/null +++ b/doc/index-all.html @@ -0,0 +1,224 @@ + + + + + +Index + + + + + + + +
+ + + + + +
+ + +
A C G I L P S T U W X Y  + + +

A

+
+
add(E) - Method in class uk.org.mafoo.wordbubbles.WordList
+
 
+
+ + + +

C

+
+
Cell - Class in uk.org.mafoo.wordbubbles
+
 
+
Cell(char, int, int) - Constructor for class uk.org.mafoo.wordbubbles.Cell
+
 
+
checkPrefix(String) - Method in class uk.org.mafoo.wordbubbles.Lexicon
+
 
+
checkWord(String) - Method in class uk.org.mafoo.wordbubbles.Lexicon
+
 
+
+ + + +

G

+
+
getCell(int, int) - Method in class uk.org.mafoo.wordbubbles.Prison
+
 
+
getNeighbours(Cell) - Method in class uk.org.mafoo.wordbubbles.Prison
+
 
+
+ + + +

I

+
+
inmate - Variable in class uk.org.mafoo.wordbubbles.Cell
+
 
+
+ + + +

L

+
+
Lexicon - Class in uk.org.mafoo.wordbubbles
+
 
+
Lexicon(ArrayList<String>) - Constructor for class uk.org.mafoo.wordbubbles.Lexicon
+
 
+
loadLexiconFromFile(String) - Static method in class uk.org.mafoo.wordbubbles.Lexicon
+
 
+
+ + + +

P

+
+
Prison - Class in uk.org.mafoo.wordbubbles
+
 
+
Prison(ArrayList<ArrayList<Character>>) - Constructor for class uk.org.mafoo.wordbubbles.Prison
+
 
+
+ + + +

S

+
+
search(Lexicon) - Method in class uk.org.mafoo.wordbubbles.Prison
+
 
+
+ + + +

T

+
+
toString() - Method in class uk.org.mafoo.wordbubbles.Cell
+
 
+
toString() - Method in class uk.org.mafoo.wordbubbles.Lexicon
+
 
+
toString() - Method in class uk.org.mafoo.wordbubbles.Prison
+
 
+
toStringVerbose() - Method in class uk.org.mafoo.wordbubbles.Cell
+
 
+
+ + + +

U

+
+
uk.org.mafoo.wordbubbles - package uk.org.mafoo.wordbubbles
+
 
+
+ + + +

W

+
+
WordList - Class in uk.org.mafoo.wordbubbles
+
 
+
+ + + +

X

+
+
x - Variable in class uk.org.mafoo.wordbubbles.Cell
+
 
+
+ + + +

Y

+
+
y - Variable in class uk.org.mafoo.wordbubbles.Cell
+
 
+
+A C G I L P S T U W X Y 
+ +
+ + + + + +
+ + + + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..0f5c7a1 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,64 @@ + + + + + +Generated Documentation (Untitled) + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="uk/org/mafoo/wordbubbles/package-summary.html">Non-frame version</a>.</p> + + + diff --git a/doc/overview-tree.html b/doc/overview-tree.html new file mode 100644 index 0000000..1029035 --- /dev/null +++ b/doc/overview-tree.html @@ -0,0 +1,127 @@ + + + + + +Class Hierarchy + + + + + + + +
+ + + + + +
+ + +
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + + + + +
+ + + + diff --git a/doc/package-list b/doc/package-list new file mode 100644 index 0000000..4c843d8 --- /dev/null +++ b/doc/package-list @@ -0,0 +1 @@ +uk.org.mafoo.wordbubbles diff --git a/doc/resources/background.gif b/doc/resources/background.gif new file mode 100644 index 0000000..f471940 Binary files /dev/null and b/doc/resources/background.gif differ diff --git a/doc/resources/tab.gif b/doc/resources/tab.gif new file mode 100644 index 0000000..1a73a83 Binary files /dev/null and b/doc/resources/tab.gif differ diff --git a/doc/resources/titlebar.gif b/doc/resources/titlebar.gif new file mode 100644 index 0000000..17443b3 Binary files /dev/null and b/doc/resources/titlebar.gif differ diff --git a/doc/resources/titlebar_end.gif b/doc/resources/titlebar_end.gif new file mode 100644 index 0000000..3ad78d4 Binary files /dev/null and b/doc/resources/titlebar_end.gif differ diff --git a/doc/stylesheet.css b/doc/stylesheet.css new file mode 100644 index 0000000..0aeaa97 --- /dev/null +++ b/doc/stylesheet.css @@ -0,0 +1,474 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ +body { + background-color:#ffffff; + color:#353833; + font-family:Arial, Helvetica, sans-serif; + font-size:76%; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4c6b87; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4c6b87; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-size:1.3em; +} +h1 { + font-size:1.8em; +} +h2 { + font-size:1.5em; +} +h3 { + font-size:1.4em; +} +h4 { + font-size:1.3em; +} +h5 { + font-size:1.2em; +} +h6 { + font-size:1.1em; +} +ul { + list-style-type:disc; +} +code, tt { + font-size:1.2em; +} +dt code { + font-size:1.2em; +} +table tr td dt code { + font-size:1.2em; + vertical-align:top; +} +sup { + font-size:.6em; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:.8em; + z-index:200; + margin-top:-7px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + background-image:url(resources/titlebar.gif); + background-position:left top; + background-repeat:no-repeat; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:1em; + margin:0; +} +.topNav { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.bottomNav { + margin-top:10px; + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.subNav { + background-color:#dee3e9; + border-bottom:1px solid #9eadc0; + float:left; + width:100%; + overflow:hidden; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding:3px 6px; +} +ul.subNavList li{ + list-style:none; + float:left; + font-size:90%; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; +} +.navBarCell1Rev { + background-image:url(resources/tab.gif); + background-color:#a88834; + color:#FFFFFF; + margin: auto 5px; + border:1px solid #c9aa44; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader h1 { + font-size:1.3em; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 25px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:1.2em; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:1.0em; +} +.indexContainer h2 { + font-size:1.1em; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:1.1em; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:10px 0 10px 20px; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:25px; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #9eadc0; + background-color:#f9f9f9; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:1px solid #9eadc0; + border-top:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; + border-bottom:1px solid #9eadc0; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.contentContainer table, .classUseContainer table, .constantValuesContainer table { + border-bottom:1px solid #9eadc0; + width:100%; +} +.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table { + width:100%; +} +.contentContainer .description table, .contentContainer .details table { + border-bottom:none; +} +.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{ + vertical-align:top; + padding-right:20px; +} +.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast, +.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast, +.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne, +.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne { + padding-right:3px; +} +.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#FFFFFF; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + margin:0px; +} +caption a:link, caption a:hover, caption a:active, caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span { + white-space:nowrap; + padding-top:8px; + padding-left:8px; + display:block; + float:left; + background-image:url(resources/titlebar.gif); + height:18px; +} +.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd { + width:10px; + background-image:url(resources/titlebar_end.gif); + background-repeat:no-repeat; + background-position:top right; + position:relative; + float:left; +} +ul.blockList ul.blockList li.blockList table { + margin:0 0 12px 0px; + width:100%; +} +.tableSubHeadingColor { + background-color: #EEEEFF; +} +.altColor { + background-color:#eeeeef; +} +.rowColor { + background-color:#ffffff; +} +.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td { + text-align:left; + padding:3px 3px 3px 7px; +} +th.colFirst, th.colLast, th.colOne, .constantValuesContainer th { + background:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + text-align:left; + padding:3px 3px 3px 7px; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +td.colFirst, th.colFirst { + border-left:1px solid #9eadc0; + white-space:nowrap; +} +td.colLast, th.colLast { + border-right:1px solid #9eadc0; +} +td.colOne, th.colOne { + border-right:1px solid #9eadc0; + border-left:1px solid #9eadc0; +} +table.overviewSummary { + padding:0px; + margin-left:0px; +} +table.overviewSummary td.colFirst, table.overviewSummary th.colFirst, +table.overviewSummary td.colOne, table.overviewSummary th.colOne { + width:25%; + vertical-align:middle; +} +table.packageSummary td.colFirst, table.overviewSummary th.colFirst { + width:25%; + vertical-align:middle; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:.9em; +} +.block { + display:block; + margin:3px 0 0 0; +} +.strong { + font-weight:bold; +} diff --git a/doc/uk/org/mafoo/wordbubbles/Cell.html b/doc/uk/org/mafoo/wordbubbles/Cell.html new file mode 100644 index 0000000..dd186cc --- /dev/null +++ b/doc/uk/org/mafoo/wordbubbles/Cell.html @@ -0,0 +1,337 @@ + + + + + +Cell + + + + + + + +
+ + + + + +
+ + + +
+
uk.org.mafoo.wordbubbles
+

Class Cell

+
+
+ +
+
    +
  • +
    +
    +
    public class Cell
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      protected charinmate 
      protected intx 
      protected inty 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ModifierConstructor and Description
      protected Cell(char c, + int in_x, + int in_y) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      Methods 
      Modifier and TypeMethod and Description
      java.lang.StringtoString() 
      java.lang.StringtoStringVerbose() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Detail

      + + + +
        +
      • +

        inmate

        +
        protected final char inmate
        +
      • +
      + + + +
        +
      • +

        x

        +
        protected int x
        +
      • +
      + + + +
        +
      • +

        y

        +
        protected int y
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Cell

        +
        protected Cell(char c,
        +    int in_x,
        +    int in_y)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        toStringVerbose

        +
        public java.lang.String toStringVerbose()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + +
+ + + + diff --git a/doc/uk/org/mafoo/wordbubbles/Lexicon.html b/doc/uk/org/mafoo/wordbubbles/Lexicon.html new file mode 100644 index 0000000..8391d68 --- /dev/null +++ b/doc/uk/org/mafoo/wordbubbles/Lexicon.html @@ -0,0 +1,300 @@ + + + + + +Lexicon + + + + + + + +
+ + + + + +
+ + + +
+
uk.org.mafoo.wordbubbles
+

Class Lexicon

+
+
+ +
+
    +
  • +
    +
    +
    public class Lexicon
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Lexicon(java.util.ArrayList<java.lang.String> wordlist) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Methods 
      Modifier and TypeMethod and Description
      booleancheckPrefix(java.lang.String prefix) 
      booleancheckWord(java.lang.String word) 
      static LexiconloadLexiconFromFile(java.lang.String file) 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Lexicon

        +
        public Lexicon(java.util.ArrayList<java.lang.String> wordlist)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        checkWord

        +
        public boolean checkWord(java.lang.String word)
        +
      • +
      + + + +
        +
      • +

        checkPrefix

        +
        public boolean checkPrefix(java.lang.String prefix)
        +
      • +
      + + + +
        +
      • +

        loadLexiconFromFile

        +
        public static Lexicon loadLexiconFromFile(java.lang.String file)
        +                                   throws java.io.FileNotFoundException,
        +                                          java.io.IOException
        +
        Throws:
        +
        java.io.FileNotFoundException
        +
        java.io.IOException
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + +
+ + + + diff --git a/doc/uk/org/mafoo/wordbubbles/Prison.html b/doc/uk/org/mafoo/wordbubbles/Prison.html new file mode 100644 index 0000000..750e258 --- /dev/null +++ b/doc/uk/org/mafoo/wordbubbles/Prison.html @@ -0,0 +1,297 @@ + + + + + +Prison + + + + + + + +
+ + + + + +
+ + + +
+
uk.org.mafoo.wordbubbles
+

Class Prison

+
+
+ +
+
    +
  • +
    +
    +
    public class Prison
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Prison(java.util.ArrayList<java.util.ArrayList<java.lang.Character>> grid) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      Methods 
      Modifier and TypeMethod and Description
      CellgetCell(int x, + int y) 
      java.util.ArrayList<Cell>getNeighbours(Cell cell) 
      java.util.ArrayList<java.util.LinkedHashSet<Cell>>search(Lexicon words) 
      java.lang.StringtoString() 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        Prison

        +
        public Prison(java.util.ArrayList<java.util.ArrayList<java.lang.Character>> grid)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        getNeighbours

        +
        public java.util.ArrayList<Cell> getNeighbours(Cell cell)
        +
      • +
      + + + +
        +
      • +

        toString

        +
        public java.lang.String toString()
        +
        +
        Overrides:
        +
        toString in class java.lang.Object
        +
        +
      • +
      + + + +
        +
      • +

        getCell

        +
        public Cell getCell(int x,
        +           int y)
        +
      • +
      + + + +
        +
      • +

        search

        +
        public java.util.ArrayList<java.util.LinkedHashSet<Cell>> search(Lexicon words)
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + +
+ + + + diff --git a/doc/uk/org/mafoo/wordbubbles/WordList.html b/doc/uk/org/mafoo/wordbubbles/WordList.html new file mode 100644 index 0000000..68a0124 --- /dev/null +++ b/doc/uk/org/mafoo/wordbubbles/WordList.html @@ -0,0 +1,218 @@ + + + + + +WordList + + + + + + + +
+ + + + + +
+ + + +
+
uk.org.mafoo.wordbubbles
+

Class WordList

+
+
+ +
+
    +
  • +
    +
    +
    public class WordList
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      Methods 
      Modifier and TypeMethod and Description
      booleanadd(E e) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        add

        +
        public boolean add(E e)
        +
      • +
      +
    • +
    +
  • +
+
+
+ + +
+ + + + + +
+ + + + diff --git a/doc/uk/org/mafoo/wordbubbles/package-frame.html b/doc/uk/org/mafoo/wordbubbles/package-frame.html new file mode 100644 index 0000000..e6be1e3 --- /dev/null +++ b/doc/uk/org/mafoo/wordbubbles/package-frame.html @@ -0,0 +1,22 @@ + + + + + +uk.org.mafoo.wordbubbles + + + + +

uk.org.mafoo.wordbubbles

+
+

Classes

+ +
+ + diff --git a/doc/uk/org/mafoo/wordbubbles/package-summary.html b/doc/uk/org/mafoo/wordbubbles/package-summary.html new file mode 100644 index 0000000..159c913 --- /dev/null +++ b/doc/uk/org/mafoo/wordbubbles/package-summary.html @@ -0,0 +1,141 @@ + + + + + +uk.org.mafoo.wordbubbles + + + + + + + +
+ + + + + +
+ + +
+

Package uk.org.mafoo.wordbubbles

+
+
+ +
+ +
+ + + + + +
+ + + + diff --git a/doc/uk/org/mafoo/wordbubbles/package-tree.html b/doc/uk/org/mafoo/wordbubbles/package-tree.html new file mode 100644 index 0000000..947a845 --- /dev/null +++ b/doc/uk/org/mafoo/wordbubbles/package-tree.html @@ -0,0 +1,123 @@ + + + + + +uk.org.mafoo.wordbubbles Class Hierarchy + + + + + + + +
+ + + + + +
+ + +
+

Hierarchy For Package uk.org.mafoo.wordbubbles

+
+
+

Class Hierarchy

+ +
+ +
+ + + + + +
+ + + + diff --git a/grid.txt b/grid.txt new file mode 100644 index 0000000..18d2b90 --- /dev/null +++ b/grid.txt @@ -0,0 +1,5 @@ +# 6 7 +tz p +deak +mssm + apt diff --git a/main.java b/main.java index 39cc794..9e2adc7 100644 --- a/main.java +++ b/main.java @@ -6,7 +6,7 @@ class main { public static void main(String[] args) throws IOException { Lexicon words = Lexicon.loadLexiconFromFile(args[0]); - System.out.println(words); + // System.out.println(words); // String[] testwords = new String[]{"test", "amit", "ppp", "zebra"}; // for (String w : testwords) { // System.out.println(w + "? " + words.checkWord(w) + " / " + words.checkPrefix(w)); @@ -40,16 +40,24 @@ class main { // System.out.println("."); // } Prison prison = new Prison(grid); - System.out.println(prison); + // System.out.println(prison); ArrayList> found = prison.search(words); for ( LinkedHashSet w : found ) { if(hunted != null) { if( hunted.containsKey(new Integer(w.size())) ) { - System.out.println(w); + String str = ""; + for ( Cell letter : w ) { + str += letter; + } + System.out.println (str); } } else { - System.out.println(w); + String str = ""; + for ( Cell letter : w ) { + str += letter; + } + System.out.println(str); } }