The class TurtleQTwo extends Turtle by adding one new method, plus, which is specified below. (All other features of TurtleQTwo are the same as for Turtle.)
method plus(n in Int) state change pre n ≥ 1.
post The marker state of the receiver is not changed. But the pen state becomes "on" and the diagram of the receiver is changed as follows:
Four spots are added, one n places to the right of the current marker position; one n places above the current marker position; one n places to the left of the current marker position; one n places below the current marker position.
If the receiver has pen state "on", then a spot, is also added to the diagram at the marker position of the receiver. ( T h i s is not added if the receiver h as pen state "off".) After execution of plus the pen s t a t e of the receiver is "on". Other features of the receiver are not changed.
For example, if plus(3) is applied to a turtle whose marker is at (5,5) and whose pen state is "off", then it will add the spots shown in Figure to the diagram (leaving the marker state; unchanged and the pen state "on")
(a) Partial code for the implementation of the class
TurtleQTwo is given below. Class TurtleQTwo
{
this.plus calls plusTurtleQTwo
}
// (1)
// (2)
}
method plusTurtleQTwo(n)
{
Show how to complete the implementation of the class by giving code to be added at (1) and (2) above.
(b) This part of the question asks you to use the WorkPad to test your implementation of TurtleQTwo and its method plus.