2010-01-01から1年間の記事一覧

boost::threadとstd:functionとか

#include <iostream> #include <boost/thread.hpp> #include <Windows.h> using namespace std; int main() { // Aスレッド起動 boost::thread thr( [](){ // Aスレッド内でBスレッド起動 boost::thread thr( [](){ for(size_t i=0;i < 100; ++i){ cout << "B"; Sleep(100); } } ); for(size_t i=0;i </windows.h></boost/thread.hpp></iostream>…

グローバルじゃない乱数生成(線形合同法)

C++

良質な乱数でなく、ゲームとかの演出その他程度に手軽に使う用の乱数生成用クラス #include <iostream> using namespace std; class RandomGenerator{ static const long int A = 22695477; static const long int C = 2531011; private: long int x; public: // 初期</iostream>…

 メモ

やりたい事: 動かしてて気持ちいい移動、派手で爽快感のある攻撃、俺TUEEEEEE - 東方緋想天/非想天則の移動は気持ちよかった - 俺俺コンボとか作れるとキャラTUEEEじゃなくて俺TUEEEできる - 演出大事。3Dのほうがやりやすい・・・? なんか作りたいゲーム…

イベントモドキ

std::list<std::function<bool ()>> ev_list; // 終了条件を満たしたとき、trueを返す関数オブジェクト auto lambda = []()->bool { static int i=0; cout << i++ << endl; if(i <= 20) return false; else return true; }; // リストの中にブチ込む ev_list.push_back(lambda); // </std::function<bool>…

lambdaさんの日常

#include <iostream> using namespace std; int main(){ auto lambda = []()->bool { static int i=0; cout << i++ << endl; if(i <= 20) return true; else return false; }; while( lambda() ); } 出力結果 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 便</iostream>…

trailing return type

#include <iostream> using namespace std; auto func()->int{ return 3; } int main(){ cout << func(); } 出力結果 3 ・・・オイコラ。絶対コレ、ラムダ式のついでに実装しただけだろ。 返り値の型を可変にしたいならtemplateでいいし、そもそもコレじゃ実現できない</iostream>…

Graphic系仕様のメモ

DXライブラリは2D画像の描画に Direct3D のポリゴン描画機能を使用している関係上、描画を行う場合は個別に描画するよりも一度に描画した方が高速。 なのでDXライブラリ内部でそれを使った最適化をしているが、、 ・描画する画像が変わる場合 ・描画ブ…

std::random

Boost.randomのメルセンヌツイスター(あんまし偏らない乱数)がstd::tr1に入っていたので使ってみた。 #include <functional> #include <iostream> #include <algorithm> #include <random> #include <time.h> using namespace std; int main(){ // 現在時刻をシードにする mt19937 engine(static_cast<unsigned long>(time(0</unsigned></time.h></random></algorithm></iostream></functional>…

オセロェ・・・

オセロの評価パターン全16万個を、GAを使って最適化してみる事にした。 パターンをどう判定するかっていう話は、4方向をいちいち調べるんではなく、 盤面自体を行列変換で右回転させて評価するようにしたほうが楽だと気づいた。 手打ちはもう嫌だヨ・・・。

RAIIとかPImplとか

C++

C++イディオムをこう……使いこなしたい 特にRAIIはリークを防ぐのに効果的なんで使ってるつもりなんだけれども、 例外を投げられたりする時に対応してないんだよね

電子書籍リーダー比較

GoodReaderとi文庫HDを比較してみた。 ●ファイルの取り込み 【i文庫HD】 iTunesからファイルを取り込むことが出来る。 また、DropBoxと連携し、DropBox内のファイルを選択ダウンロードできる。 さらには、FTPサーバーとして機能し、PCからファイルをアップロ…

強化学習と遺伝的アルゴリズム

遺伝的アルゴリズムで可能な動作を決定して、強化学習で最適化を行わせたい今日この頃。 俺が作りたいのってもしかして人工生命なんじゃねーのとか頭をよぎる午後である。 それにしても、研究が行き詰ってる以前に、強化学習本の「理系日本語」を平易な日本…

C++0xのムーブセマンティクスと右辺値参照について悩む

C++

ムーブコンストラクタ Object::Object(Object&& obj) { member = obj.member; // 内部のメモリをコピーする obj.member = 0; // コピー元へのメモリの参照を消す } で、つまり要素をコピーしないのだー! はやいぞー! ……と、魔導書(コレ:株式会社ロングゲ…

メモ

SetUseDivGraphFlag(FALSE); //必要ならグラフィックの分割を行うか否かを設定するDXライブラリの基本処理では、画像が2のn乗でない場合は画像を分割して扱っているらしい。で、ホントは大きい画像でやったほうが早い。 よって、FALSEに設定すると、メモリの…

よく使うテンプレ

#include "Dxlib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode( TRUE ) ; // ウインドウがアクティブではない状態でも処理を続行するか、フラグをセットする SetAlwaysRunFla…

List関連

object Main { def main(args: Array[String]){ // リストに格納 var countList = List("one", "two", "three", "four") // リストの最後尾に要素(+終端)追加 countList = countList:::"five"::Nil // リストの戦闘に要素を追加 countList = "zero"::countLi…

ウィンドウスタイルについての隠し関数

SetWindowStyleMode(int); である。 値 タイトルバー 枠 閉じる 最大化 最小化 備考 0 普通 ○ ○ △ ○ デフォルト 1 なし ○ × × × 2 なし × × × × 3 小さい ○ ○ × × 4 なし × × × × 2と同じ? 5 普通 ○ ○ × × 6 普通 ○ ○ △ ○ 0と同じ? 7 普通 ○ ○ ○ ○ 8 角が…

Scalaプログラミングを触り始めてしまった

Scalaがアツい! って事で触り始めてしもーた。 object HelloWorld { def main(args: Array[String]) { // var:型推論を行い、var = String型として生成される var a = "string buffer"; // 再代入可能 a = "str"; // 違う型の代入は不可能 // a = 1; printl…

std::bindをやっと理解

bindが今までイマイチ理解できてなかったけど、書いてみたら一発で理解。 要は、function(関数ポインタ/関数オブジェクト/ラムダ式)の引数を束縛して新しいfunctionオブジェクトを生成してるのね。 #include <functional> #include <iostream> using namespace std; void Func(int </iostream></functional>…

「C++0x」 std::lambda

C++

#include <functional> #include <iostream> using namespace std; int main(){ auto A = [](function<void ()> rhs)->int { cout << "lambda str!" << endl; // 引数で取った返り値なし:void,引数なし:()なfunctionを実行 rhs(); return 3; }; // void ()なラムダ式を、上のラムダ式に渡す </void></iostream></functional>…

std::bindを理解の続き

#include <functional> #include <iostream> using namespace std; struct Test{ void Func(int a, int b) { cout << a*b << endl; } }; int main(){ function<void (int)> func; Test t; func = bind(&Test::Func,&t,placeholders::_1,3); func(3); return 0; } func = bind(&Test::Func,&t,pl</void></iostream></functional>…

std::function

#include <functional> #include <iostream> using namespace std; // 関数オブジェクトを定義 class Func{ public: int operator()() { cout << "class str!" << endl; return 1; } }; // 関数を定義 int str() { cout << "func str!" << endl; return 2; } int main(){ function<int ()> </int></iostream></functional>…

GDで寄り底?

そろそろ日経平均は底打ち感は出てきた……ものの、正直まだ怖い。 今日の寄り時点で-10%なんで、いい加減上がってくれないとボク死んじゃう的な。 それはそうと、第一生命を監視銘柄に追加。 リバってきたら売りで入ろうかな。 あ、みずほFGは同値撤退しまし…

全面高にて

みずほFGの株を137円で現物買い。ここらが底だと思うんだがに。 他も回復基調なんで、9月10月には含み損から含み益に転換しそうだな。

std::unipue_ptrとstd::listその他の華麗な連携

VS2010すげえ! っていうか、C++0xが素敵っ! 下のようなのが書ける。 #include <list> #include <memory> #include <iostream> #include <utility> #include <algorithm> using namespace std; class Unit{ public: int pos_x,pos_y; Unit(int x, int y) : pos_x(x),pos_y(y){} virtual void Draw() = 0;</algorithm></utility></iostream></memory></list>…

アーカイブ内のフォントデータの読み込み

微妙に詰まったので記事る。 DXアーカイブ内に格納したTTFファイルを読んで、DXライブラリに登録するまでのコード。 // arc.dxa内にフォントファイル(font.ttf)があるとする int font_handle; void FontLoad() { int FONT_SIZE = 32; const char* filename =…

決算期に近づき、今日は楽観

日経2%上昇で寄り付き。ほぼ全面高で、今日は総楽観。 NYが上げた事からの上昇っぽい。・・つーか、買気配多すぎだろww

日経・・・おい・・・こら・・・

洒落にならないGD。死ねばいいのに・・・。 含み損がMAXですお・・・。

こつこつどかん

損が膨らむ株生活。長く持っていればいつかは……というダメ思考に陥りそう。 12月付近まで気絶投資法をするべきかしら。

体がだるい・・・

風邪気味な身体に鞭打ってザラ場を鑑賞。 任天堂が一気に上げた反動と、円高その他で大幅下落。 全力信用買いしてる人とか死ねるだろうなぁ・・・。