さくらんぼのlambda日記

lambdaちっくなことからゲーム開発までいろいろ書きます。

Parallels買っちゃった!

Ubuntu環境を刷新をしようとしたら見事に環境を破壊して、Windows/Macしか起動できなくしてしまいました。復旧がんばるかなぁとも思ったのですが、色々考えて仮想環境の整備をしたほうが良い気がしてきました。なぜかというと、Ubuntuの環境整備を始めた理由…

半年くらいに触った言語のまとめ

なんか、Blog更新しない間に色々な言語と遊んでました。それらを一度纏めておこうと思ったので纏めます。 Clojure Scala jQuery + JavaScript Python こんな感じで色々と遊んでました。 結局いまいち自分のなかにしっくりきてない感じ。 一番使い道がありそ…

Shibuya.lisp Hackathon #1参加するよ!

なんか楽しそうだったので、Shibuya.lisp Hackathon #1に参加しようかと思います。ATND: http://atnd.org/events/7595Lispで何かつくろうとするモチベーションが最近下がりつつあるので、こういう場を有効に利用させて頂けたらなと思って参加希望してみまし…

もう疲れた

なんか、色々頑張ったんだけど。疲れたので辞めます。無駄な事にエネルギー使っても仕方がないです。なので、Blog頑張って更新するモードに突入しようと思います。

ちなみに

lispbuilder-sdlは最近Mac用のバイナリがアップされているので、Macユーザにも親切になったみたいですね。

少し悲しかったこと

最近ゲーム開発の環境をLispに移行したのですが、その環境というのは以下のような環境です。 SBCL lispbuilder-sdl lispbuilder-sdl-mixer lispbuilder-sdl-image lispbuilder-sdl-gfx という非常にLispbuilder-sdlに依存した環境です。まぁ、それは良いので…

作業環境について

基本的にLispbuilder-sdlをつかって作業してます。この環境構築が意外と面倒でした。とくにMac OSXの環境に関してはどうもSDL自体の整備が今ひとつな感じなせいもあって苦労しました。 SDL.framework SDL_gfx.framework SDL_image.framework SDL_ttf.framewo…

最近やってること

最近は仕事もそんなに緊急なタスクとかはない時期だったので粛々とお勉強する日々です。最近はScalaがおもしろいと思ったり、Clojureがおもしろかったりと並列プログラムを視野にいれているプログラミング言語の勉強してることが多いです。あと、Lispでゲー…

コミケについて

なんか、残念なことにコミケ落選してしまったので夏に向けて作成していたゲームは冬合わせに変更となりました。頑張って作ってたのに残念です。

近況報告

最近はワールドカップ見てて更新放置していました。ダメですねもっとしっかりしないと。

slimeのインストール

slime公式サイトからslime最新版を取ってくる。 http://common-lisp.net/project/slime/snapshots/slime-current.tgzslimeを、"~/site-lisp/slime"に展開しておく。.emacsに以下の内容を追加する。 ;; lisp (setq inferior-lisp-program "C:/SBCL/sbcl.exe")…

Meadow のインストール

Meadowの最新版をダウンロードしてくる。 http://www.meadowy.org/meadow/dists/3.00/setup-ja.exe最低限のものをインストールすれば良い。 インストール途中でImageMagickのインストールが始まるので、一緒にインストールする。

SBCLのインストール

公式から1.0.29のインストーラをダウンロードしてくる。 http://jaist.dl.sourceforge.net/project/sbcl/sbcl/1.0.29/sbcl-1.0.29-x86-windows-binary.msi インストールするときは"C:\SBCL"のようにスペースを含まない場所にインストールする必要がある。~/.…

Cygwinのインストール

Msysでも良いが、情報仕入れやすい&色々便利なのでCygwinをインストールしておく。

整数と浮動小数点を相互変換する(精度の変換)

これは先ほど紹介したfloor、ffloorなどで変換できますね。

乱数を生成する

randaomで! CL-USER> (random 10) 5 CL-USER> (random 10) 9 CL-USER> (random 10) 5

平方根を求める

sqrt関数で! (sqrt 9) 3.0

対数を計算する

log関数で一発です。 CL-USER> (log 2) 0.6931472 CL-USER> (log 2 2) 1.0 CL-USER> (log 3 2) 1.5849625 CL-USER> (log 10) 2.3025851

三角関数を計算する

これは、sin関数、cos関数、tan関数というものがあります。 ただ、いまいちな気がします。 2piを越えるとおかしいのかな。 (sin 0) 0.0 ;; うーんどうなってるんだろ。 (sin (* 2 pi)) -2.4492127076447545d-16 (cos 0) 1.0 (tan 0) 0.0

小数点を切り上げ・切り捨て・四捨五入するには

切り上げ、切り捨てにはfloor,ceiling,ffloor,fceilingが使えます。 四捨五入にはround,froundが使えます。 切り上げ 切り捨て 四捨五入 整数 ceiling floor round 少数 fceiling ffloor fround (ceiling 1.5) 2 -0.5 (floor 1.5) 1 0.5 (round 1.4) 1 0.399…

絶対値を求める

absを使いましょう。 (abs -1) 1 (abs 1) 1

除算の商と余りを求める

mod,rem,floor,truncateが使える! C言語とちがって余りは正剰余と負剰余の両方が選べます。 正剰余 負剰余 余り mod rem 商と余り floor truncate (mod 5 2) 1 (rem 5 2) 1 (mod -1 3) 2 CL-USER> (rem -1 3) -1 (floor 5 2) 2 1 (truncate 5 2) 2 1 (floor…

整数と浮動小数点を相互変換する(精度の変換)

乱数を生成する

平方根を求める

対数を計算する

三角関数を計算する

小数点を切り上げ・切り捨て・四捨五入するには

絶対値を求める

除算の商と余りを求める