Question
For this project, you will create a program used to design tile patterns for ceramic floors, and other tile set ups. The program must be
For this project, you will create a program used to design tile patterns for ceramic floors, and other tile set ups. The program must be designed to support a 9 x 9 grid of tiles.
Requirements
The patterns must be savable via Serialization. There are multiple ways to accomplish this. The application should use Java MVC for the tiles. That is, a model should hold the data, while a view controller is used for the front end display. I do not require fully MVC here (that is, you do not need to use Observer/Observable. It is suggested to do so for ease of setting up the MVC, though!) The GUI should feature 10 colors for foreground color selection and 8 colors for background color selection The selected foreground and background color should be applied to a tile when clicked The GUI should feature appropriate hotkeys, at least for rest and the File menu items
Tiles should allow for five symbols. A blank tile would count as a symbol. For default, I used O o Symbols need to be changeable. I used clicking to cycle through the symbol options, but you should feel free to expand the menu on the side with a symbol radio button list Saving and Loading should use JFileChooser. Saving and Loading should use Object Serialization, as specified, for saving and loading files It is suggested you enforce files be saved with a .til extension, using a filter o FileFilter f = new FileNameExtensionFilter(Tile File, til); o fileChooser.setFilter(f); Not featured in this document (as it is a word document) is background music. It is required that your application feature quiet background music, to show off audio capability. A few files will be uploaded to blackboard once the instructor has a chance to prepare them, but you are welcome to use your own. Your application must use a custom look and feel, as briefly discussed in class (it will be discussed further before the end of the semester). I used Luna from JTattoo.
Design Requirements
There are no hard requirements for this project, save for commenting style. You should have a Javadoc style comment, /** */, before each class and method. Write these at a high level, describing what the method should do and what goal it should accomplish, not what each line of code does.
Further, design will be carefully considered in project grading. Avoid overly bloated methods.
Using Observer/Observable for your MVC will confer 5 bonus points.
Grading til files!
With your submission, please include .til files saved by your application for the following three patterns. These will be used to confer part of your final score! The screenshots were taken in an old version of the project, hence the different GUI look. The colors in your submitted files dont need to match, nor do the symbols, but they should get the same design across.
Tile Designer File Reset O O O O O O O O O Foreground Color Basic Colors Extra Colors O O O O O O O O O O Gray O Black O O O O O O O O O 0000000 O White O Orange O O O O O O O O O O O O Red Pink 0000000 O O O Green O Magenta O O O O O O O O O 0000000 O Yellow Blue O O o o o o o o o o o Background Color Black Tile Designer File Reset O O O O O O O O O Foreground Color Basic Colors Extra Colors O O O O O O O O O O Gray O Black O O O O O O O O O 0000000 O White O Orange O O O O O O O O O O O O Red Pink 0000000 O O O Green O Magenta O O O O O O O O O 0000000 O Yellow Blue O O o o o o o o o o o Background Color Black
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started