結果だけでなく過程も見てください

日々の奮闘を綴る日記です。

プログラミング

自作フリーソフト公開スペース

適宜更新します。あんまり期待しないでください。 Tendon Skill Builder ドラクエXのスキルの自動スキル割り振りアプリです。 各職業の持っているスキルポイントと,割り当てたいスキルに数値を入力するだけで 自動的にどの職業がどのスキルに何ポイント割り…

Valgrindの結果の見方、日本語訳、など役に立つことまとめ

勉強がてらメモ。 適宜更新していこう。うん。 Valgrindって? デバッグやプロファイラなどの複数のツールから構成されるツール群の総称。 メモリリークチェックツールとして有名だと思いますが、 それはValgrindツール群の中のMemcheckというツールによる機…

Linuxでgccを使用して共有ライブラリを作成・使用する方法

C/C++でのお話です。 忘れがちなのでまとめておきます。 備忘録 共有ライブラリ作成時 VC++ではexportする関数毎に__declspec(dllexport)が必要になるが、gccの場合はstaticが付与されていなければ自動的に公開になるため不要 共有ライブラリ(拡張子so)のフ…

たまにしか書かないので、とにかく忘れるJavaプログラミング

C#でも同じようなことをやったような? 忘れがちなことの自分用備忘録!適宜更新! メソッドの引数はすべて値渡しである プリミティブ型であろうがオブジェクトの参照渡しだろうが、引数に代入をしてもコール元には影響を与えない! public void func1( Puyo…

CentOSでDVDをyumのリポジトリにするセットアップをするスクリプト

使う場面が限られると思いますが、便利なので。OSのリビジョンとかによって微妙に内容が異なるかもしれません。 適当に修正してください。普段はenabled=0としておくことをおすすめします。 #!/bin/sh if [ $# -ne 1 ] then echo "Usage:$0 <CentOS Version>" 1>&2 exit 1 fi</centos>…

生理的に文法が嫌いなシェルスクリプト

個人的にですが、文法が大嫌いな上にWindows/UNIXで別々のスクリプトを書かなくては ならないのが非常に馬鹿馬鹿しい。個人ユースならPerlやPythonでいいじゃないか。という考えだったので今まで徹底的に避けて来ましたが、 どうしても使わなくてはならない…

たまにしか書かないので、とにかく忘れるC#プログラミング

タイトル通り、備忘録です。随時追加系記事です。 ソースコードもしくはURLを中心に書いていきます。 値型と参照型、キーワードref/out これについては一度理解すれば忘れなさそうですが、念のため。 値型 int等のプリミティブな型、Size,Color等の構造体(st…

ダンプ解析(Windows)

※かきかけです。ダンプ解析の準備手順などをまとめておきます。最初Windows 7(64bit)で行おうと思いましたが、 どうもスタックフレーム復元時のレジスタの値がおかしい気がするので 途中からXP(32bit)に切り替えています。 なので記載が少し混ぜこぜになって…

プログラミング言語(主にC/C++)の文法でなかなか覚えにくいもの備忘録

メンバ関数ポインタの配列とコール方法 以下のようなクラスとメンバ関数があったとします。 class CTest { public: int print ( int nCount ){ ... } int print2( int nCount ){ ... } }; メンバ関数ポインタの配列定義、関数の代入は以下のようになります。…

可変引数を利用してVSのデバッグ出力ウィンドウやウィンドウボックス等でデバッグメッセージを出す方法

皆さんC/C++でデバッグメッセージを出したいときはどうしているでしょうか?コンソールプログラムの場合はprintfやcoutで済ましている人もいるのではないでしょうか。ではコンソールプログラムからWin32などのコンソールがないプログラムにした場合どうしま…

ファイル内容を確実に出力するための方法についてのお勉強

お勉強シリーズ第一弾ッ! (1回しかやらなさそう臭がハンパないですね) 日々勉強した結果を、複数回に分けて記載・修正して本エントリを完成させます。(2回更新しました)※ご注意※ 本エントリは未完成です。内容に誤りがある可能性がありますのでご注意くだ…

if文を使わずに、配列内の値が0以外の要素だけ、指定された値に上書きする方法

昔からある、ビット演算の魔術と呼ばれるような計算についでです。 有識者にとっては常識だと思うのですが、慣れていない自分の備忘録として残しておきます。タイトルのような処理を素直に書く場合は、通常以下のようにif文を使って条件を判定します。 // 要…

STLコンテナから特定の条件を持つ要素を削除する方法いろいろ

久しぶりにC++でジェネリックなコードを書くことになりました。 備忘録として整理しておこうと思います。今回はlistコンテナを中心に扱います。 (1)listにそのまま値が入っている場合 こういう状態のとき。 list<int> nList; nList.push_back(1); nList.push_b</int>…

DirectXのテクスチャをファイルからではなくオンメモリからロードする

DirectXでは、以下の方法でテクスチャをファイルからロードできます。 static const char* TEXFILE = "C:\\temp\\tex.dds"; IDirect3DDevice9* pDevice; // 各自作成しておいてね IDirect3DTexture9* pTexture = NULL; : D3DXCreateTextureFromFileEx( pDev…

VisualStudioでC/C++ビルド時,stdio.hやkernel32.libなど基本的なモジュールが見つからないときの対処法

※2016/12/16全面刷新 ※私の認識に誤りがあり,どうやらVisualStudioのincludeやlibのパス設定方法がまずかったようです。 ※またパス展開用のマクロ名が,古いVisualStudioのもの(つまり移行時に発生しやすい?)だった場合も ※問題が起きる気がします。。。 …

VisualStudio2010でboostをビルドする

いいかげんOSと開発環境が古くなってきたので、 新しい環境に移行することにしました。 項目 移行元 移行先 OS WinXP(32-bit) Win7(64-bit) VisualStudio 2005 2010 VisualStudioのバージョンアップに伴い、各種ライブラリも再ビルドする必要があります。 今…

小数の計算にはfloat型よりもdouble型を使おう(C/C++)

ゲームプログラミングでのお話です。ゲームプログラミングでは、通常キャラクターの速度や座標を小数で保持します。DirectXでは、これらの値を保持するためのベクトルクラスが定義されています。 D3DXVECTOR3などのクラスです。このクラスはx,y,zのメンバ変…

perlでWebクライアント (3) Seleniumを使う

前回の続きです。前回はWWW::Mechanizeの使用を試みましたが、 色々と調べた結果、ボタンがJavaScriptになっているものは JavaScript部分を自分で実装する必要があり、 難易度が高く挫折してしまう人が多いとのことでした。自分はWebの知識がほとんどないの…

perlでWebクライアント (2)

昨日の続きです。 http://d.hatena.ne.jp/taiyakisun/20120903#1346683242perlのLWPを使用してWebブラウジングのシミュレートをしようとしていましたが、 このようなことはどうやらWWW::Mechanizeというパッケージを使用すればできそうです。Mechanizeはperl…

perlでWebクライアント (1)

特定のwebサーバから定期的に情報を取得したいときがあります。対象となるページがプレーンなページであれば良いのですが、 実際には認証等、色々な壁があるので、これを勉強がてら 1つ1つ解き明かして行きたいと思います。perlのLWP(WWWアクセス用ライブラ…

Perlを使用してGmailにIMAPで接続する(2)

前回の記事より、もう少し実践的なコードを紹介します。今回は、クレジットカードで支払いをするたびに メールで送られてくるクレジットカードの利用情報を、 perlで自動的に集計しようというものです。 家計簿をつける際に必要になってので書いてみました。…

Perlを使用してGmailにIMAPで接続する

なぜか色々と時間がかかってしまったので情報共有も兼ねて書いておきます。こちらの環境は OS:Windows XP Perl:ActivePerl 5.14.2 インストールフォルダ:C:\Perlサーバ上のメール数を取得してみます。 #!/usr/bin/perl use lib 'C:\Perl\site\lib'; use stri…

C#でゲームのマップエディタを作る (番外編)

最近ちょっと忙しくて更新ができていないのですが・・・。 とりあえず形になるところまで完成しましたので動画でアップします。 テストのリソースとして色々使ってますが、みんなにはナイショだよ(*・v-)☆ 機能 プロジェクトとして複数のマップを管理 マップ…

C#でゲームのマップエディタを作る (2)

前回記事の続きです。 http://d.hatena.ne.jp/taiyakisun/20120331#1333204146今回はピクチャボックスの描画を行います。 まずは、C#で変換行列を作成し、描画するコードを書くための肩慣らしとして、 エディタのグリッド線を描いてみましょう。頂点のフォー…

C#でゲームのマップエディタを作る (1)

自作ゲームのマップデータ(Luaスクリプト)を テキストエディタで編集するのがしんどくなってきたので マップエディタを作ることにしました。C#もGUIツールを作成するのも始めてなので 作成過程で学んだことを書いていきたいと思います。 間違いがあったらツ…

DirectXで円形ワイプエフェクト

言葉でどう表現していいかわからないのでタイトル名が正しいかわからないのですが、 要は下の図のようなエフェクトの作り方を説明します。実際のゲームで使われているのは、スーパーマリオワールドのゴール後とか、 スーファミのゼルダの伝説でダンジョンか…

実践的な衝突判定(AABB編)

自作ゲームに組み込んでいる衝突判定について、整理も兼ねてご紹介します。 説明を簡単にするために2D空間で説明します。 バウンディングボリューム バウンディングボリュームについては、容易に判定可能で実用的ということで 各軸に平行な四角形(以下の図の…

関数ポインタについてまとめてみました

たまにしか使わないので、備忘録としてまとめておきました。 非メンバ関数の関数ポインタ 戻り値の型がint、引数がfloatとdoubleの関数の場合。 サンプル関数 int sample( float f, double lf ) { : return 0; } 宣言 int (*pFunc)(float, double); 代入・…

暗号化等が施されたLuaファイルの読み込み方法

今回はファイル読み込みのお話です。暗号化の話ではないのであしからず。通常Luaファイルの読み込みは、以下の関数やマクロを使用して行います。 luaL_loadfile(L, filename) luaL_dofile(L, filename)テキストで書かれたLuaファイルをロードする場合は上記…

Lua/Luabind/コルーチンの使い方まとめ その2

前回の続きです。今回は「コマンド実行」部分です。 コマンドとは? ここで言う「コマンド」とは以下のような1命令のことと定義します。 ・プレイヤーを移動させる ・所持金を増やす ・アイテムを増やす ・効果音を鳴らす ・ゲームのフラグ(変数)を操作する…

プライバシーポリシー お問い合わせ