Battleships meets Minesweeper.
A game is played on an 8×8 grid of squares. Ten enemy military buildings each occupying one square and are hidden from the player. At the start of the game a UAV may reveal the location of a building. Either the building itself, or an adjacent square horizontally, vertically or diagonally. A player has 50 missiles (turns) to correctly target the ten installations by entering an x and y coordinate to fire at. The state of the board is shown to the player after each missile is launched as follows:
– “-” an unknown square.
– “H” a building that has been correctly targeted and hit.
– “x” a miss.
– “u” a UAV marker.
Write a program to play the game, positioning the buildings randomly in the grid.
Use this boilerplate code as a starting point:
Remember to add a comment before a subprogram, selection or iteration statement to explain its purpose.
10 military installations sighted. You have 50 cruise missiles to destroy them!
01234567
0——–
1——–
2–u—–
3——u-
4–u—–
5—-u—
6——–
7——–
Enter the x target: 1
Enter the y target: 2
Miss. Only 49 missiles left.
01234567
0——–
1——–
2-xu—–
3——u-
4–u—–
5—-u—
6——–
7——–
Enter the x target: 3
Enter the y target: 2
Miss. Only 48 missiles left.
01234567
0——–
1——–
2-xux—-
3——u-
4–u—–
5—-u—
6——–
7——–
Enter the x target: 2
Enter the y target: 1
Miss. Only 47 missiles left.
01234567
0——–
1–x—–
2-xux—-
3——u-
4–u—–
5—-u—
6——–
7——–
Enter the x target: 2
Enter the y target: 3
Miss. Only 46 missiles left.
01234567
0——–
1–x—–
2-xux—-
3–x—u-
4–u—–
5—-u—
6——–
7——–
Enter the x target: 3
Enter the y target: 1
That’s a hit! You have now scored 1
01234567
0——–
1–xH—-
2-xux—-
3–x—u-
4–u—–
5—-u—
6——–
7——–
Enter the x target: 1
Enter the y target: 3
That’s a hit! You have now scored 2
01234567
0——–
1–xH—-
2-xux—-
3-Hx—u-
4–u—–
5—-u—
6——–
7——–
Use these resources as a reference to help you meet the success criteria.
Run the program and play the game to check that your program has met the success criteria.
Check that you have: