Structuring Sub' Hunter with methods
As we add the method definitions to the code, it should come as no surprise where each of the methods will go. The draw
method will go after the comment about …
do
all
the
drawing…
and so on.
Add the newGame
method definition after the appropriate comment, as shown here:
/*      This code will execute when a new      game needs to be started. It will      happen when the app is first started      and after the player wins a game. */ void newGame(){ }
Add the draw
method definition after the appropriate comment, as highlighted here:
/*      Here we will do all the drawing.      The grid lines, the HUD,      the touch indicator and the      "BOOM" when a sub' is hit */ void draw() { }
Add the onTouchEvent
definition after this comment, as follows:
/*      This part of the code will      handle detecting that the player      has tapped the screen */ @Override public boolean onTouchEvent(MotionEvent motionEvent) { }
Note that the onTouchEvent
method is another overridden method. Android provides this method for our benefit, and when the player touches the screen, it will call this method. All we need to do now is work out how to handle a touch when the onTouchEvent
method gets called. There is also an error in this code, but we will resolve this when we begin learning about OOP later.
Now, add the takeShot
method definition after the comment, as follows:
/*      The code here will execute when      the player taps the screen It will      calculate the distance from the sub'      and determine a hit or miss */ void takeShot(){ }
Add the boom
method definition after the comment, as follows:
// This code says "BOOM!" void boom(){ }
Now, add the printDebuggingText
definition after the comment about the debugging text:
// This code prints the debugging text void printDebuggingText(){ }
As the project progresses, we will add code to each of the method definitions because, at the moment, they are empty and, therefore, don't do anything. Furthermore, as we learn more about methods, the postfixes and prefixes of the method names will also evolve and become easier to understand.
A concept that is very closely related to methods and useful for understanding them better is OOP.