Clojureでゲーム作りたい

Clojureでゲームプログラミングその1 実験編|ざる魂

上のサイトを見て、Leiningenを使って書き直してみました。

作業メモなので説明不足のところがあるかもしれません。

環境

OS:Windows7

Microsoft Windows [Version 6.1.7601]

Leiningen

lein -v

Leiningen 2.3.4 on Java 1.8.0 Java HotSpot(TM) 64-Bit Server VM

作業

lein new sample

cd sample

vim project.clj

(defproject sample "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]]
  ;以下を追加
  :main sample.core)

vim src\sample\core.clj

(ns sample.core)
(import (javax.swing JFrame))

(defn -main [& args]
  (def frame (JFrame. "Clojure SampleGame")) 
  (doto frame
  (.setSize 640 480)
    (.setVisible true)))

lein run

ウインドウが表示されたら成功です。

残りは明日以降に。

追記:実行可能Jarファイルの作成

vim project.clj

(defproject sample "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]]
  :main sample.core
  ;以下を追加
  :aot [sample.core])

vim src\sample\core.clj

(ns sample.core
  ;nsに以下を追加
  (:gen-class))
(import (javax.swing JFrame))

(defn -main [& args]
  (def frame (JFrame. "Clojure SampleGame")) 
  (doto frame
  (.setSize 640 480)
    (.setVisible true)))

lein uberjar

java -jar target\sample-0.1.0-SNAPSHOT-standalone.jar