Crit C Development
Crit C Development
Crit C Development
Techniques used to create the program - Classes, Linked Lists, Arrays, Recursion,
Methods, UI, etc.
Classes - There are six classes that make up this program. Two of these classes are
JFrames which create the two user interfaces this program uses. Listed below are all of the
classes as well as a brief description of them.
FinalProjectCliickyClicky.java - Class which begins the programs and instantiates
the MainMenuForm.java JFrame.
MainMenuForm.java - A Main-menu frame which allows the user to modify the
specifications of their game to best first their skill level.
GamePlayForm.java - A frame which displays the game itself. Most higher level
techniques take place in this frame.
LinkedList.java - A LinkedList class that gets instantiated by
GamePlayForm.java.
Node.java - Node class which goes with the LinkedList class.
Images.java - This class resizes the images which get placed into the Clicky’s to
fit the parameters of labels they are placed inside of. Mr Wachs, my advisor, helped me with this
class.
Linked List - The Linked List class is an extremely useful function which translates well
between different programs. For my program, my LinkedList is made up of labels which hold
Clicky’s.
When a Clicky is clicked by the user, the location of the label is found in the linked list and is
removed.
Recursion - This program uses a recursive method to determine when a new Clicky
needs to appear. This method gets called by a timer. The base case for this method is if the timer
is less than or equal to zero, then a new Clicky is generated onto the Jframe. If the timer is not
equal to zero, the method calls back to itself until it does equal zero. This recursive method
works hand in hand with my LinkedList.
Arrays - At the end of the game, a JOptionPane appears to the user. This JOptionPane
displays the users accuracy and speed as well as gives them an option of either retrying, or
quitting the program. An array is used to implement these options into the JOptionPane and
assigns values to the buttons.
Methods - Methods are a key tool for any program, having methods which can easily and
efficiently interact with other methods is key to programming. In this program, I use methods for
a wide range of functions. They call to and interact with each other frequently which creates a
smooth running program.