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.