Написан на Python 3.2 и Pygame (+Numpy чисто для удобства. Можно переписать без нее).
Игра начинается с расстановки кораблей (Два 4х, один 3х, два 2х и четыре 1х). Количество и размеры кораблей легко поменять. Они заданы списком констант в коде.
Далее следует собственно битва - все как обычно. Враг атакует вас, вы - врага. Кто первый добьет все вражьи корабли - тот и победитель.
Можно сыграть несколько партий, игра ведет общий счет.
Графику рисовал сам - ресурсы валяются в папке 'data'.
Запуск осуществляется двойным щелчком на 'game.pyw'.
Требования:
* Python (версия не критична, рекомендую 3)
* Pygame (последняя версия для вашего Python)
* Numpy
* Работоспособный компьютер
Если какие-то библиотеки уже есть, ставить по второму кругу не обязательно.
Писалось под Windows, однако Python и все использованные библиотеки в принципе мультиплатформенны, поэтому должно запускаться и на других ОС. Я не тестировал, значит потребуется незначительное исправление кода, скорее всего.
Ссылки: