Search the text data file for the final project

See sample data file below. You are encouraged to add entries and share them with the rest of the class. Implement a program to read and search the text data file. The project will be graded according the criteria for the final project – see below.

Elaboration: The scenario is inspired by a game call Sorcerer’s Cave, and can be represented by the following conceptual diagram: We have a number of parties, each consisting of a variety of creatures, and each creature may be able to posses some artifacts and carry some treasure. Eventually, the creatures will have tasks to perform (threads!), and those tasks will generally take time and require artifacts. The artifacts will be shared resources, which the creatures will have to share according to some algorithm. In the game, the focus is on the willingness of creatures to join party, thus the importance of empathy and fear. We will simply use these fields for sorting examples, but you may wish to make this more like a game as we along. Use at least the following classes, you are free to define others in the spirit of this scenario: Party – index, a name, a location, and list of a number of creatures (accessed by links to instances of the Creature class). Creature – index, a type, a name, party by index, empathy value, fear value, list of treasures, list of artifacts For example – each class should have some fields in common with it parent class, and some fields not in common with either its parent class, or its sibling classes: PhysicalCreatures – age, height, weight, carrying capacity Man Woman Sorcerer Warlock Witch MagicalCreatures Ghoul Zombie

Sprite Dragon Treasure – index, type, creature by index, weight, value Artifact – index, type, creature by index, other fields Use the ArrayList class to hold instances of the classes defined in item 1. Be sure to use generics appropriately. Use a text data file with the following format – which you may extend, and may be extended in the later projects. As a minimum, each item should be specified by a single line in the data file. The initial fields should be used during the instantiation of objects and your program should ignore later fields that are not used. For simplicity, let us assume that the fields are separated by colons. The specifications look something like the following, where the angle brackets are not part of the actual data file. I think we can assume that empathy and fear are integers (perhaps negative), while carrying capacity, weight and value will be doubles.

Specifications for a few classes – you are free to add to this list: p:: c::::::: t::::: a::: All the classes should be provided with appropriate: constructors toString implementations additional methods instance variables connecting the class to appropriate instances of other classes A GUI that will allow the user to do at least the following operations: Select the data file at run time.

Show the internal data structures in a text area Search for an item by index, name or type. For example, the creature whose name is “Jane”. The GUI class(es) should be distinct from the other classes in the program. Deliverables Java source code files any configuration files used a well-written Word document describing: your overall design, including a UML class diagram showing the type of the class relationships description of how to set up your application your test plan, including test data and results, with screen snapshots of each of your test cases your approach, lessons learned, design strengths and limitations, and suggestions for future improvement and alternative approaches Your project is due by midnight, EST, on the date posted in the class schedule. Your instructor’s policy on late projects applies to this project. Submitted projects that show evidence of plagiarism will be handled in accordance with UMUC Policy 150.25 – Academic Dishonesty and Plagiarism. Format

Documentation format and length. The documentation describing and reflecting on your design and approach should be written using Microsoft Word, and should be no more than five pages in length and no less than two pages. The font size should be 12 point. The page margins should be one inch. The paragraphs should be double spaced. All figures, tables, equations, and references should be properly labeled and formatted using APA style. Code format: header comment block appropriate comments within the code appropriate variable and function names correct indentation Sample data file: // sample data file for CMSC 335, Spring 2012 // Nicholas Duchon // Jan 23, 2012 // Parties format: // p:: p : 10001 : Unity p : 10002 : Assemblage p : 10003 : Conglomeration // Creatures format: // c::::::: c : 20001 : Woman : Lucy :10001 : 17 : 22 : 20 c : 20002 : Woman : Jane :10001 : 22 : 15 : 25 c : 20003 : Woman : Nancy :10003 : 80 : 44 : 20 c : 20004 : Man : James :10002 : 35 : 13 : 50 c : 20005 : Troll : Fred :10002 : 03 : 05 : 150 c : 20006 : Warlock : Harry :10003 : 05 : 06 : 0 c : 20007 : Witch : Morgana:10001 : 10 : 15 : 0 // Treasures format: // t::::: // creature = 0 means noone is carrying that treasure at the moment t : 30001 : Gold : 20004 : 50 : 2000 t : 30002 : Gold : 0 : 75 : 5000 t : 30003 : Gems : 20002 : 10 : 10000 t : 30004 : Silver : 20005 : 120 : 1000 // Artifacts format: // a:::[:] a : 40001 : Wand : 20007 : ElderWand a : 40002 : Wand : 20006 a : 40003 : Potion : 20007

Leave a Reply

Your email address will not be published. Required fields are marked *