Ого. Вы пытаетесь соединить две вещи, которые не предназначены для соединения друг с другом (но вы никак не можете знать это как новичок).
Во-первых, вам нужно решить, где должен находиться ваш код clojure. Должен ли он находиться на веб-сервере, обслуживающем эти веб-страницы, или в веб-браузере на компьютере, который используется для игры в линкоре? Любая возможность может иметь смысл.
Если вы хотите запустить свой код clojure на сервере, вам придется писать сообщения на сервер, когда пользователь нажимает на сетку. Вам нужно будет связать каждый квадрат сетки с некоторым кодом javascript, который затем отправит сообщение на ваш сервер на URL с именем, подобным «http://battleshipgame.com/game/3243/grid?x=3&y=7", которое вы затем обработаете с помощью compojure (и обработчик маршрута compojure будет затем ссылка на вашу функцию.) Это называется AJAX, и многие люди используют функции jQuery «щелкнуть», чтобы подключить пространство сетки к javascript, и «отправить», чтобы отправить сообщение на URL.
Если вы хотите запустить свой код clojure на клиенте, вы не сможете этого сделать, поскольку в веб-браузере пользователя не работает интерпретатор clojure ... Однако недавно Rich Hickey выпустил ClojureScript, который может конвертировать код clojure. в JavaScript. Используя ClojureScript, вы можете делать именно то, что вы хотите в браузере. Посмотрите на пример twitter в компиляторе ClojureScript, чтобы увидеть, как это сделать: https://github.com/clojure/clojurescript/tree/master/samples/twitterbuzz
Как видите, все это немного сложное и может потребовать от вас самоотдачи, чтобы научиться выполнять все эти вещи - Удачи!