小数点数の量子化

某掲示板に投稿したものX[0.0 〜 2.0]の値を取る小数点数をY[0 .. 31]の整数型に量子化することを考える。普通に考えるとこうなる。 X が 2.0 を含まない場合 Y = trunc(X * 32 / 2.0) X が 2.0 を含む場合(Z = X * 31 / 2.0 と置く) Y = trunc(Z) Y = tru…

データと手続き

パソコンではなく、機械一般を考えてみます。普通はなんらかのデータを与えてなんらかのデータを返す何かを想像するのでは無いでしょうか。例えば、切符の発券機はお金と値段や購入数などを入力すると切符を出してくれます。また、飲み物の自動販売機はお金…

プログラミングの勝手な解釈

最近よく考えるのですが、プログラミングというのは極論すれば ・人間の意図(かっちょいいゲームが作りたいだとか、知り合いだけが見られる日記サイトを作りたいとか) から ・コンピュータが解釈できるような形(アセンブラなど) への変換作業だと簡潔に…

c++でプロパティ

3ヶ月も放置プレイ。。。 C++だとコンマ演算子は例外的にオーバーライドできず、使い勝手がいまいち。 そのうち気が向いたら公開します。

c++でプロパティ

では早速 2 コンパイラの独自拡張に頼る を実装してみます。なんで最初に2かというと、こちらの方が簡単だからです(^^;vc6 では以下のプロパティ構文をサポートしています。 int get_Size() { return m_size; } void set_Size(int value) { m_size = value; …

c++でプロパティ

このところC#一辺倒でc++など忘れかけていたシーラカンスでありますが、最近またc++をいじり始めました。よく言われていることではありますが、c++に対してC#の優れているところは、Visuralホニャララなrad環境との親和性にあると思っています。メソッド名やクラ…

円をベジェに変換しよう2ヽ(´∀`)ノ

参考ページ(http://www.tensyo.com/urame/prog/ALGO.HTM#C1)にもあるのですが、単位円をベジェに変換するためには ■ベジェ曲線の方程式は ■ベジェ曲線への当て嵌め方は 1) 端点が一致する事 2) 中間点が一致する事 3) 微分が t=0,t=1で一致する事 からベジェ…

円をベジェに変換しようヽ(´∀`)ノ

数学が全然できないシーラカンスでありますが、このたびは円弧を任意の大きさ任意の角度で描画する必要に迫られました。言語はC#なのでGDI+を使えばいいのですが、pinvokeしまくりなプログラムを書いている私にはそんな邪道なことはできません(-_-;)どうでも…

コードじぇねれーと4

今回で4回目になるコードじぇねれーとですが、おそらく今回が最後です。次の更新がいつになるか自分でも楽しみです^^ここで、なぜソース生成を行うのか考えてみます。ソース生成を行うと 生成元ソースと生成後ソースの同期を常に考える必要がある。 生成ソ…

コードじぇねれーと3

前回、生成先ファイルから生成元ファイルに変更を反映させるにはマクロが使えると書きました。勢いで書いてしまったのですが、よく考えてみると「生成後のソースの変更を生成元のソースに反映させる」というのとはちょっと違うかもしれません(^^ まあ細かい…

コードじぇねれーと2

前回、C#によるmix-in作成や描画クラス作成など、ソース作成プログラムの例を紹介した訳ですが、実はこれには重大な問題があります。コードジェネレートでは一般的に、生成元ソースに何らかの操作をして新たなソースを作成するわけですが、そうすると生成後…

コードじぇねれーと

[mixin in C#2.0] [id:yaneurao:20060113]↑でやねうらおさんがC#2.0でmin-inを実現しています。原理は簡単で、外部ツールによってクラス実装をマージしてやります。マージするときにpartialキーワードを使うところが素敵です。私も以前C#での2D描画クラス…

スクリプト言語Lua4

いろいろ考えた結果、おそらく一番簡単なのが、luabind用にクラスをエクスポートするジェネレータを書くことです。 class_(L, "Test") .def("hoge", &Test::hoge); luabind を使うとこんな感じで簡単にクラスを出力できるので、rubyやperlでこれをやってくれ…

大変遅れましたが、あけましておめでとうございます。日記の更新はさぼりがちですが、暇なときにでも見てやってください。 ちょうど10月頃に某企画からプログラミングの仕事を頂き、今はそれをやっている状態です。

めんそ〜れ沖縄

ネットサーフィンしていたら、面白い研究ページを見つけた。http://www.crew.sfc.keio.ac.jp/projects/1999okinawa/article/index.html 研究分担 (1)熟年向けボケ防止ゲームの作成 「めんそ〜れ沖縄 〜沖縄旅行 長寿探しの旅〜」の試作 研究分担 慶応大学…

スクリプト言語Lua3

現在、Luaのゲームへの組み込み方を妄想中。 ゲームからは手軽に使えるようにしたいし、Luaの方でもあまり複雑なことはしたくない。うーん、どうすればいいかな。

スクリプト言語Lua2

昨日、Luaは遅いと書きましたが正確な計測結果を公開したいと思います。速度としてはとりあえず、関数呼び出しの速度しか考えていません。 呼び出しもと→呼び出し先 1000000回の呼び出しで掛かった時間 C→C 3[ms] C→Lua 253[ms] Lua→C 114[ms] Lua→Lua 161[m…

スクリプト言語Lua

最近、ゲームに組み込む予定のLuaをいじっています。やっと使えるようになってきたのでちょっとばかり解説を。詳しい解説はこちらです。 http://www.uri.sakura.ne.jp/~cosmic/yuno/lab/lua5_manual_ja.html 文法 LuaはCのようなRubyのような構文…

スクリプト言語について

ゲームにはよく組み込みスクリプトが使われます。主にイベントなどを記述する目的で使われ、ゲーム本体を再コンパイルせずともスクリプトの変更がゲームに反映されるようになっています。これを使えばプログラマとは別のデザイナがゲームを記述できるように…

前回の更新から一ヶ月以上経っているわけですが…… 皆様、いかがお過ごしでしたでしょうか?(笑

ゲムデヴ2

今日はマップエディタの開発を進めようと思っていました。思ってはいましたが、ダメでした orz。マップエディタとは言っても3レイヤだったりイベントがあったりと、で設計が決まりません。現在のプロトタイプでもアンドゥが上手く動かなく、早速挫折気味で…

ゲムデヴ

Movable Type が再起不能になってから早一年。ようやく日記再会です。基本的に適当なことしか書きません(書けません)。最近ゲーム開発を進めています。私はプログラマとして2流以下(3流ぐらいであって欲しい)なので、ゲームなんか作ってるとなかなか進…