プログラム

関数の呼び出し順番

C++で、下記のプログラムを書いたところ、DebugビルドとReleaseビルドで結果が異なった。 関数の引数において、その引数の式が呼ばれる順番は不定だったと記憶している。 が、計算式でまでそうだとは…。 やっぱり内部でカウンター持つような関数は使うもんじ…

オセロ最善手筋の並列処理による解法の提案と縮小版オセロによるその評価

http://miuras.net/pub/grad_thesis2006.pdf PDF注意!!

UPnP対応ルーターをいじくる

http://www.bosuke.mine.nu/neta/upnp.shtml UPnPに興味を持ったので研究開始。 早速サンプルをコンパイルしてみたところエラー。 どうやら以前ここでとりあげたPlatformSDKは新しすぎてVC6.0では使えないらしい。 (今まではたまたま互換性のある部分だけ利…

NVIパターンで困った

先日uskzさんに教えてもらったNVIパターンが面白い。 後付けで「前処理、後処理」の追加ができるのが、行き当たりばったりプログラムを行なう私にぴったりだ。 だが今日困ったことがあった。 class IWindow { private: virtual void drawMain(int nX, int nY…

ボゴソート

http://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%B4%E3%82%BD%E3%83%BC%E3%83%88 腹よじれるかと思った。

独自言語 続3

一通りの完成を見て、実際にゲームを作ってみた。 十分な速度で動く!これは素晴らしい。 あとはMIDP用とBREW用のVMを作成すればそれでOK!! そんな気持ちで「JavaのVMの仕様って調べたことねーなー」と思い立ち、詳しく調べてみた。 概ね自分のも似通った仕…

例外処理

C++の例外を使っていて気になったのだが、C++には「この関数が例外を吐くかどうか」を知るための記述がない。 Javaだと void hoge() throws NullPointerException こんな感じに吐く例外を定義しているし、そういう関数はtyr/catchで囲まないとコンパイル段階…

独自言語 続2

組み込み済みクラスへの対応が終わった。 後はガンガン組み込み済みクラスを製作していくだけだ。 ・static変数 ・switch ・for ・short, byte への対応 まぁ上3つは即座にできるからいいとして、問題はshort, byte型への対応か…。 今のところスタック上に存…

独自言語 続

便りが無いのは仕事が楽しい証拠。 そんなわけで独自言語もだいぶできあがってきた。 ・static変数 ・switch ・for ・short, byte への対応 ・組み込み済みクラスの作成 残りの作業はこんなものか。 ほとんどC++ライクにゲームを組むことができる。 継承はプ…

独自言語

最近会社で独自言語作ってて、それが面白いのでここの更新がおざなりです。 単純に、C++とJavaのあいのこみたいな言語で書くと、コンパイラがバイトコード吐いてくれるというもの。 携帯で動かすの前提なので処理速度と容量のチューニングを携帯向けに特化し…

DirectX SDK 9.0c

SDK http://www.microsoft.com/downloads/details.aspx?FamilyId=B7BC31FA-2DF1-44FD-95A4-C2555446AED4&displaylang=en Extras http://www.microsoft.com/downloads/details.aspx?FamilyId=D6F237DE-A6EE-4DED-8BB6-139536162EB8&displaylang=en Windows® S…

平面の方程式を行列を利用して求める(ガウス・ジョルダン法)

http://www5d.biglobe.ne.jp/~tomoya03/shtml/algorithm/GaussJ.htm Direct3Dのヘルパー関数使ってると、こういう知識が身につかないから困る。 http://cc.ce.nihon-u.ac.jp/~inui/kamoku/practical-programming-1999/1220/gj.html 視覚的にわかりやすいのは…

ゲームエフェクトマニアックス

http://www.amazon.co.jp/%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%A8%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9E%E3%83%8B%E3%82%A2%E3%83%83%E3%82%AF%E3%82%B9-%E6%9D%BE%E6%B5%A6%E5%81%A5%E4%B8%80%E9%83%8E/dp/4797332956/ref=pd_ecc_rvi_4/249-1562470…

パーサジェネレータ

http://naoyuki.hirayama.googlepages.com/caper.html

オセロ評価関数高速化を、携帯電話アプリにいて行なう

とりあえず、弱いのは分かっていながらも盤面のマス毎に点数をつける方式で行なう。 素直にかけば for(i = 0; i 上のようになる。まぁもちろんこんなのじゃ遅くて使い物にならない。 ではテーブル化しましょう。 nScore = anScoreTable[0][(int)(lStone >>> …

携帯電話におけるオセロプログラム

BitBoardで実装しよう 色々実験しています。(オセロは商標なんで、本当はリバーシですね) iアプリで505i程度でまともに動くものを作りましょう。 とりあえずこのサイト。 http://vivi.dyndns.org/W/257 BitBoardにおいて、対象の位置に石を置いた場合に反転…

オセロの試合結果は何通りか? @Wiki

http://www9.atwiki.jp/othello/ やばい。やね先生のところでオセロネタがあがってたから1日潰して携帯版作った。 馬鹿っぱや。 ついでにさらに高速化を目指してGoogle先生に聞いていたら、上のページが見つかった。 さらなる高速化を目指す。 BREWのGCつき…

P2P通信の最大のハードル「NAT」を越える新技術

http://itpro.nikkeibp.co.jp/free/NNW/NETHOT/20050625/163349/ 任天堂のWiFi通信が、平然とNat越えしてくれるんですよ。 どうやってんのかなーとネット調べてたら…。 欲しい!この技術めがっさ欲しい!Windows標準搭載にしてくれ!!

ToruのDirectXプログラミング講座

http://toruweb.web.fc2.com/ DirectX系。 Oggの読み込みなど。yaneSDKを参考にすればいいんですけどね。 とりあえず確保。