Here are the basic requirements:
You need to create a 10 x 10 playing field for each player to place their pieces and an additional 10 x 10 playing field to capture their shots at the opposing player.
Each player gets 1 Carrier (5 spaces), 1 Battleship (4 spaces), 1 Frigate (3 spaces), 1 Submarine ( 3 spaces) and 1 Minesweeper (2 spaces)
Each ship is to be placed on the board horizontally or vertically
Board - The board is 10 x 10 organized with A-J identifiers across the top, and 0 - 9 identifiers down the side
A B C D E F G H I J
0
1
2
3
4
5
6
7
8
9
Use appropriate symbols to layout the grids (check out the ASCII symbols), and use the notation CHAR-NUMBER (e.g A-2) to indicate where a shot is to be placed.
Players:
There are two players in this game
Each player gets their turn placing their pieces down on the board
After each player has placed their pieces they take turns shooting at the others board
If a player's shot hits an opposing player's ship (a spot on the board where a ship is located) then his marking board displays an "X" in that spot
If a player's shot misses and opposing player's ships, then a "-" is placed in that spot on his marking board
If a players ship is hit, his board should show what ship was hit and where
The board should be cleared between players so that each player only sees his ships status and his shots status.
VERY IMPORTANT:
The programm must run on Ubuntu.
It's a 2 players game (No AI).
Appropriate data structures should be used to hold the information
Appropriate functions should be created to initialize the structures, display messages to the players, display the boards, determine if there is a hit or miss, update the datastructures etc. etc.
Tou don't have to create graphic interface, just a game which can be launched and played with the console mode.
I would like a structure like (it's just an exemple, you can improve it):
[login to view URL] names
[login to view URL] your ships
[login to view URL] the board
[login to view URL]
[login to view URL]
I think it could be created by a switch.
PLEASE: I WANT A LOT OF COMMENTS (which explain how you are building the programm, with simples words because i'm not english).
Thank you !
Have a great job !