To jeszcze po części zależy od tego, jak chcesz zrealizować interfejsowo kwestię.
Tak, na plansze nada się tablica dwuwymiarowa. A właściwie to dwie - po jednej na każdego zawodnika. Gra by musiała składać się z dwóch etapów: 1 - wypełnienia tablicy (ręcznie lub automatycznie), 2 - właściwej gry. Jeśli to mają być tylko pojedyncze statki, to sprawa jest banalna. Wystarcz wczytać dwie wartości - numer wiersza i kolumny [może to być też jeden tekst np. postaci A1, skąd odseparować można poszczególne znaki i na tej podstawie wyliczyć współrzędne określone liczbami] i wypełnić tablicę spod tego adresu wartością (np. 1). Podczas gry w ten sam sposób byłby oddawane strzały, a wypełnienie byłoby wartością np. +2 (czyli 2 - oddany pudło, 3 - oddany trafiony). Po każdym ruchu można po prostu przejrzeć całą tablicę (dwie pętle, jedna zagnieżdżona w drugiej) i zliczyć liczbę trójek/dwójek - na tej podstawie można obliczyć liczbę oddanych strzałów i czy wszystkie statki są już trafione.
Ale temat wciąż trochę obszerny jak na opisywanie bardziej szczegółowego algorytmu.