Group project to design a Java-based Scrabble replica with a JavaFX front-end.
see Wikipedia
Scrabble is a word game in which two to four players score points by placing tiles, each bearing a single letter, onto a game board divided into a 15×15 grid of squares. The tiles must form words that, in crossword fashion, read left to right in rows or downward in columns, and be included in a standard dictionary or lexicon.
For this project, we used IntelliJ IDEA as our IDE and Maven for package management.
Double click the jar file, or right-click and run with JAR Launcher. Alternatively, run using your IDE.
Prerequisites:
- Java 11
- JUnit 5
- TestFX 4.0.16 (See pom.xml for more TestFX-associated pre-requisites)
- IDE
Using IntelliJ:
- Create new project using blank template.
- Set up the folder directory in the form: src -> main -> java -> scrabbleGame -> test -> java
- Mark the src/main/java as a blue 'Sources root' in the Module Settings for the project.
- Mark the src/test/java as a green 'Test root' in the Module Settings for the project.
- Download the repo as a .ZIP file.
- Copy the .java class files into the src/main/java folder.
- Copy the .java test files into the src/main/test folder.
- Now, ensure the project is set to JDK 11.
- Right click on the 'test' folder and click "Run all 'Tests'".
- Pool: Stores the value of each tile
- Pool: Stores the tiles currently in the pool
- Pool: Allows the pool to be reset
- Pool: Allows display of the number of tiles in the pool
- Pool: Allows the pool to be check to see if it is empty
- Pool: Allows tiles to be drawn at random from the pool
- Pool: Allows the value of a tile to be queried
- Player: Allows the player data to be reset
- Player: Allows a player's score to be increased
- Player: Allows access to their score
- Player: Allows access to a player's frame (tiles)
- Player: Allows display of a player's name
- Player: Allows the name of the player to be set
- Frame: Stores the letters that each player has in their frame
- Frame: Allows letters to be removed from a frame
- Frame: Allows a check to be made if letters are in the frame
- Frame: Allows a check to be made to see if the frame is empty
- Frame: Allows access to the letters in the frame
- Frame: Allows a frame to be refilled from the pool
- Frame: Allows a frame to be displayed
- PlayerTest: Contains a main method that will run a series of tests on the classes.
see Trello
Reuben | Evan | Cal |
---|---|---|
Player Class | Frame Class | Pool Class |
Player Test | Frame Test | Pool Test |
- Board Class
- Board Test
- Square Class
- Square Test
- Move Class
- Move Test
- Placement Class
- Placement Test
Reuben | Evan | Cal |
---|---|---|
Board Class (Some Methods) | Move Class | Board Class (Some Methods) |
Board Test (Some Methods) | Move Test | Board Test (Some Methods) |
Placement Class | ||
Placement Test | ||
Square Class | ||
Square Test |
Reuben | Evan | Cal |
---|---|---|
Game Engine | JavaFX (FXML, etc.) | Scoring |
some Testing | Some Testing | Some testing |
Reuben | Evan | Cal |
---|---|---|
Challenge Command | TestFX Unit-Testing | Lexicon Class |
Some commenting | Some debugging & commenting |