CS251L - Fall 2012

Intermediate Programming

Section 002

Jan Monterrubio

Email: janmonterrubio@gmail.com

Office: FEC 3rd Floor Lounge or (FEC 309)

Office Hours:

Wednesday 3 - 5 PM

Friday 2 - 4 PM

Full TA and Tutor Schedule

If these times don't work email me and I'll make sure you get the help you need.

Quest Hunting!

October 9th, 2012!


Antifreeze Entertainment requires your service again for the completion of their upcoming MMORPG "NeverQuest". They are providing you with their modified versions of all the components for a Characters Gear and require you to build them the structure which will hold Quests and rewards for the completion of such quests. All the need, is for you to provide a data structure in which quests can come one after another, and quests can be added in between. One quest can only lead to another quest.


You have to provide Antifreeze Entertainment with your implementation of QuestList. Implementing this class will require you to build something which is known as a LinkedList. However ONCE AGAIN you cannot use any code previously written by anyone but yourself. You can utilize this file which should help you get started.

What is provided

  • QuestList - interface which you have to implement
  • NeverQuestList - skeleton file which will help you with the assignment
  • QuestListTester - a tester which will help you get your QuestList functioning correctly
  • Questumizer - a separate file in which you can earn 10 points of extra credit by doing the following:
    • Creating at least 10 random GearItems
    • Inserting them into your NeverQuestList
    • Removing one at random
    • Replacing the GearItem currently worn by a Character (CharacterGear) with the newly acquired item based on the type
    • Printing the stats of the Character (CharacterGear.getStats())
    • Repeating the steps at least 10 times
  • GearItemGenerator- something that generates random items and is used within QuestListTester
  • The following items are from modified versions of the Customizable Character lab and they implement GearItem
  • GearItem- an interface which classifies things as a GearItem
  • Learning about LinkedLists

    Your TA will go over how to create linked lists, insert nodes, get nodes, and remove nodes with you in lab. It will either be on the white board or using the following files (or a combination of both):

  • StringListNode - the file which is a NODE for our LinkedList
  • StringLinkedList - the file which is the LinkedList and will allow operations
  • ModifiedList- The modified version we got in class. It is still broken in some parts, but that's for you to figure out!

  • This will be done in lab, so it is advised that you pay attention and ask QUESTIONS if you get stuck or want to see how things are done again.

    Comment Specification

    Look at the provided code, a good example of how to comment things. When implementing an interface, you ONLY have to comment the method once, when declaring it within the interface. Implementing classes of the interface should use the @Override notation for the method, indicating that the method is overriden and the doc for it comes from somewhere else.


  • We are trying to save trees, kindly print only NeverQuestList and Questumizer(if you implemented one).
  • These must be stapled.
  • You will have to submit these 2 files, and these two files only. No ZIP this time, just .java files. Send them to the email cs251f12ATgmailDOTcom . The Subject of your file must be Formated as such NAME-LASTNAME-SECTION DateOfLab. IE, my submission would be Jan-Monterrubio-002 10/9
  • Notes

    THE DUE DATE FOR THIS ASSIGNMENT IS: OCTOBER 24th, 2012 at 235959 (11:59::59 PM) . Pay attention to this deadline!