ぼく用あれこれまとめ内検索 / 「読んでみたい本」で検索した結果

検索 :
  • 読んでみたい本
    読んでみたい本 メモ程度にずらずら書いていきます。 読んでみたい本一覧 「ゲームアルゴリズム/思考ルーチンと物理シミュレーション」(O-127〜P-13) 「Game graphics designドット絵キャラの描き方」M14 「オンラインゲームプログラミング」J1 「これからはじめるPC自作きょうかしょ」M533 「クラッキング防衛大全第2版」M394 「リアルな動きのためのゲーム物理プログラミング」K548.96 「コンピュータゲームの物理」K548.96 「ゲーム開発のための数学・物理学入門」K548.96 S-10 「画像処理プログラミング」K548.96 S-34 「ゲームプログラミングのための行動AI数学」K548.96 M-47 「ゲームのアルゴリズム 思考ルーチンと物理シミュレーション」K548.96 H-12 「ゲーム計算メカニズム」K549.9 C-87 「恋...
  • メニュー
    ...グルール 命名規則 読んでみたい本 Googleブックスで見ようぜ! ぼく用めも。 ぼくめも。 ここを編集
  • typedef テンプレート
    typedefテンプレート template typename T typedef std vector T vec T ; //もしくは //typedef std vector T vec; 上に示した「typedefテンプレート」はC++の規格では実装されていません。C++の言語設計者が導入しようか検討しているそうです。 実装されていないけれど使いたい マクロで実装 継承で実装 クラステンプレートのメンバによる実装 クラステンプレートのboost shared_ptrをtypedefするには? #include boost\shared_ptr.hpp class EventMsg { public int param; }; typename boost shared_ptr EventMsg EventMsgPtr; shared_ptrを意識しない...
  • トップページ
    ようこそ、ぼく用あれこれまとめ@wikiへ。 ここは、ぼくがプログラミングであれやこれや思ったことや調べたことなどをまとめていくところです。 そのため編集は、ぼくしかできないようになっています。 間違った情報も多々あるかもしれませんので、閲覧には要注意してくださいぽよ。 できるかぎり、引用元の書籍やURL, 参考書籍や関連項目へのリンクなどを貼るようにします。 最近思うこと 今後更新されることはほとんどありません。(2014/06/13) 不正確な記述が多いんですが、書き直す気力がないです。(2013/06/04) 見返してみて不正確な内容がちらほら見えるので、時間を見つけて書き直したいと思います。(2012/11/04)闇プログラマーの皆さんに見つからないうちにどうにかしたいです。 適当なこと書きすぎたので、あまりこの wiki の内容をうのみにしないほうがよさそうです。 この...
  • NeoAxis Game Engine 導入メモ
    NeoAxis Game Engine 導入メモ インストール手順 http //www.neoaxis.com/neoaxis/downloads より[Non-Commercial SDK and Demo (Windows)]を選択[Download Non-Commercial SDK 1.1 (279mb)] をダウンロード セットアップウィザードを起動 "Welcome to the NeoAxis Engine Non-Commercial SDK 1.1 Setup Wizard"ここは無心で[ Next ] "Administrative rights" (管理者権限)"It is NOT recommended to install SDK to Program Files directory. " (Pr...
  • oggファイル
    oggファイル oggとは 読み方は「オグ」「オッグ」である。「おーじーじー」だなんて読んでる人とは縁を切りたいくらいなの。僕はおーじーじーってよんでるんですけど... BSDライセンスなのでありがたく使わせていただきたい音声ファイル形式1位なのだ! OggVorbis 多くの人が"ogg" で指し示す音声ファイル形式の正式名称は「OggVorbis」って言うらしいの。というのも、oggはマルチメディア(音楽に限らず動画とか)を扱ったフォーマットのことだそうで…。 その中の音声ファイルフォーマットがVorbis(読み方はヴォrrrビス:巻き舌で)なの。 ogg自体はコンテナフォーマットというそうですが、ぼくはよく知りません。 コンテナフォーマット oggがその例。これについてはあとで詳しく調べたい。 oggファイルを読み込む ov_fopen();したときに返って...
  • Boost使おうぜ!
    Boost使おうぜ! Boostって? クールでパワフルなC++の強力なライブラリだよ。 導入方法。VC++2010使ってる僕向け。 ダウンロード編 http //www.boostpro.com/download/で「BoostPro 1.44.0 Installer」をダウンロード、そして実行。(もちろんversionは1.44.0じゃなくておk、2010/02/06現在で最新版が1.44.0) Setup画面が開いたら、「Installer License Agreement」をよーく読んで「I Agree」 「Boost Libraries License Agreement」もよーく読んで「I Agree」 「Select Mirror」でダウンロードするミラーサイトを選択できるよ。どこでもいいよ。 「Select Default Variants」で使用してるコンパイラ(V...
  • 子ども向けIDE - Little Wizard 導入メモ
    子ども向けIDE - Little Wizard 導入メモ Little Wizard は子ども向けに開発されたプログラミング環境です。 フリーソフトなので使ってみることにします。 Linux, Windows 2000/XP 環境に対応してるそうです。Windows 7 でも動かせるみたいです。 インストール手順 Little Wizard 配布元(http //littlewizard.sourceforge.net/)のDownloads ページからインストーラをダウンロード。今回は、Windows7 環境で動かすので"littlewizard-1.2.2-setup.exe"をダウンロードしました。 ダウンロードしたインストーラを起動し、Next を押す作業を行います。 インストーラを起動した瞬間、次のように言われた The Setup detected a...
  • プログラミングノート
    プログラミングノート いろいろと適当にまとめていきます。 適当まとめ。 DirectXかOpenGLで悩んでるなら、DirectXを使おう。DirectXが使える人はOpenGLも使えるはず。OpenGLを先に使った場合、DirectX使えなくなるのでは?安心してほしい、OpenGL使える人はDirectXが使えるから。 結局、どっち選んでも変わらない。 しいていうならDirectXは入力やサウンドその他もろもろもカバーしてるって違いがあるけど、OpenGL使ってもそこに支障は出ないみたいよ。 プログラマが成長するとき。 プログラム書いてる時はまったく伸びない。 プログラムが完成した時にぐぐっと信じられないくらい伸びる。 そのため プログラムはきりいいところで勝手に「完成!」ってことにして、新たなプログラムをどんどん書いたほうが賢いやり方! 昔のソースを引きずってはダメ!そんな汚...
  • DirectXを使う。
    DirectXを使う。 DirectX初心者なのでわけわからないことばかり書いてます。ご了承ください。 Direct3D11 MSDN - Direct3D 11 のサンプル 参考になる http //msdn.microsoft.com/ja-jp/library/bb971901.aspx http //msdn.microsoft.com/ja-jp/library/bb892817.aspx 2D画像を描画したい。 板ポリを自分で作って、テクスチャを貼る方法 2Dある程度余裕だから、3Dやってみたいならこっち。 とても面倒くさい。 アルファブレンドだけでなく、乗算加算減算からいろんなことをやりたい人向けって感じ。 スプライトインターフェイスを使って、簡単に描画する方法 3Dもやってみたいけど、とりあえず2D画像描画したいならこっち。 簡単だし、高速だし、便利。 Direct...
  • TortoiseGit 導入メモ
    TortoiseGit 導入メモ Download/Install まずは msysgit をインストールhttp //code.google.com/p/msysgit/downloads/list 今回は「Git-1.7.9-preview20120201.exe Full installer for official Git for Windows 1.7.9」をいれてみたよ 次に Tortoise Git をインストールhttp //code.google.com/p/tortoisegit/downloads/list msysgit インストール Adjusting your PATH environment Use Git Bash only素直にPATH を通したい場合はこれ。これでいいと思う。 コマンドプロンプトから使うよりも、Cygwin 上でgit を導入して使っ...
  • struct(構造体)
    struct(構造体) C++の構造体って、classでいいじゃんもう…。 struct Unco{ private int num; public void SetNum(int x); }; void Unco SetNum(int x){ num = x; }; きになったから C++の標準規格をみてみたい。
  • 可変長引数
    可変長引数 いま読み返すと、この記事の適当さ加減がやばい。 Cでの実装 #include iostream #include stdarg.h int unco(int renton, ...) { va_list list;//va_list型は stdarg.h で定義されてる va_start(list, renton);//可変長引数の要素を扱い始めるためのva_start()マクロ int eureka = va_arg(list, int);//リストの次の要素を取り出す。popとかdequeueみたいな感じ。 while(eureka != 0) { renton += eureka; eureka = va_arg(list, int); } va_end(list);//可変長引数の要素を扱い終わるためのva_endマクロ return renton; } ...
  • C/C++の強制終了について。
    C/C++の強制終了について。 std exit()関数 #include iostream void Eureka() { std cout 156 std endl; std exit(1);//ここで強制終了 } int main() { Eureka(); std cout 256 std endl; return 0; } exit()関数は、main()文内の「return 0;」と同じことをしてるらしい。(詳しく知らない) ちなみにstd abort()関数っていうのもあるけど、それは使った瞬間プログラムをほんとの意味で強制終了させるから怖い。VC++環境でやると、ランタイムエラー並みの扱い。他に手段があるとき以外は、使わないほうがよさそう。 VC++でstd abort()使うととてつもなく実行時に怒られるよ。 std ...
  • Blender
    Blender Blenderってなに? オープンソースな3Dモデリングツールで、完全フリー(GPL)。 Blenderのすごいとこ オープンソースだからアップデートが速い。 完全フリーだから今すぐにでも使えちゃう。 Windows/Linux/Macで使える。すげー! Pythonでスクリプト書いて中で実行できるらしい。 市販の3Dモデリングソフトの大半の機能はすでに実装されてる。 たいていのファイル形式に対応してる 他のモデリングソフトのファイルもたいていインポート/エキスポート可能。 物理計算がかなり速いらしいよ! 市販のソフトと比べても計算速い機能いっぱいらしい。 ユーザーが世界中にいっぱい Blenderのなれないとこ Windowsライクじゃない。Windows的なGUIになれた人には抵抗感あり。 とりあえず、使ってみたい! 公式サイトは英語ばかりでよくわか...
  • TinyXML-2 導入メモ
    TinyXML-2 導入メモ 使い方に関してはこちら(TinyXML-2 使い方)に少しだけまとめてます。 インストール方法 Git Bash でインストール $ cd /c/ $ git clone https //github.com/leethomason/tinyxml2.git C ドライブにインストール Cygwin でインストール $ cd /cygdrive/c/ $ git clone https //github.com/leethomason/tinyxml2.git C drive にインストール Cygwin にgit いれてる前提で。Cygwin メモ TortoiseGit でインストール 右クリック - Git Clone Url https //github.com/leethomason/tinyxml2.git [ OK ] テストプロジェ...
  • 人工知能(人工無能)
    人工知能(人工無能) 概要 どういうものなのかはwikipedia先生でもみてくだぱい。 実際にどうやって作るべきなのかとかそういうところをまとめていく感じで。 これくらい知っといたほうがいいかなってこととか。 アランチューリングさんのチューリングマシン。 チューリングテスト(チューリングさんが提唱したのは「The Imitation Game」)。それと中国語の部屋。 チューリングテストの国際コンテスト「ローブナー賞」。 マッカーシーさんが人工知能(AI)と言い始めた「ダートマス会議」。人工知能の世界でよく使われるLispはこのマッカーシーさんが作った。 会話応答システムの代表的な例1:ELIZA(イライザ)。共感するカウンセラーみたいな会話bot。「DOCTOR」という名前でemacsに入ってる。 会話応答システムの代表的な例2:SHRDLU。いわゆる「積み木の世界」。 ...
  • ゲームプログラマに必要?
    ゲームプログラマに必要? アセンブラが使える これは必要だとか必要でないとかじゃなくて使えると、なんかかっこいいよね。 すーぱーはかー必須。 ブレークポイントにひっかかったときに、逆アセンブルされた内容を見て、ある程度理解できればデバッグが楽になるんじゃないでしょうか? GDC/CEDECを観る 観るのは楽しいよね。 CGWORLDを見てる 最先端のグラフィックスを知るのは重要なのかも。 ExcelVBAが使える これは別にどうでもいい? もう、C# 4.0 でいいんじゃないでしょうか。 C言語が使える どこを見てもたいてい書いてますね。 C++を指定してるとこもあれば、モバイル制作だとJava/PHPなんかも多いみたい。 AndroidやObjective-Cが来る日も…?(2010年)普通に来ましたね。(2013年) ひとえにゲームプログラマといえども、細分化が進むこの時代…。 グ...
  • SAFE_DELETE()系のdefineマクロ廃止
    SAFE_DELETE()系の#defineマクロ廃止 なぜ#defineマクロを廃止するの? const定数を使う理由と同じで、型が不鮮明であるため、なるべくC++では使わないほうがいいかと。 マクロはプリプロセス実行なので型チェックが行われませんし、名前空間も存在しません。とても危険です。 こういうの。 #ifndef SAFE_DELETE #define SAFE_DELETE(p) { if(p!=NULL) { delete (p); (p) = NULL; } } #endif #ifndef SAFE_DELETE_ARRAY #define SAFE_DELETE_ARRAY(p) { if(p!=NULL) { delete[] (p); (p) = NULL; } } #endif #ifndef SAFE_RELEASE #defin...
  • コイン投入口を自作したい
    コイン投入口を自作したい とりあえず 硬貨投入口のことをコインセレクターっていうらしい。 ゲーセンやパチンコなんかで使われるコインセレクターは10kほどで実は買える。http //www.shibashoji.com/coin_shoot.htmlhttp //www.shibashoji.com/shu/sn1-13.html http //joytec.jp/coin.html http //www.asahiseiko.com/ やりたいのは コインを投入すると、USBでコインが投入されたことを通知するシステム。 http //www.amazon.co.jp/%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3-100%E5%86%86%E3%82%B7%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BC-%EF%BC...
  • structハック (struct hack) - Flexible array member
    structハック(struct hack) - Flexible array member "hack"という単語に弱いあなたへ。 ここのページ書き加えたい。 C++03 でstruxt ハックを使う場面が思い浮かばない。アロケータを自前で作るときとかに使いそう? struct hack "Flexible array member(柔軟な配列のメンバ)"と呼ばれることが公の場では多いみたい。 でも、ちょっと長いから"struct hack"の愛称で親しまれてる。以降の文章は"structハック"と書こうかな。 structハックって? 通常、要素数を定義しない配列の宣言は不完全な宣言とみなされコンパイルエラーとなります。 int eureka[7];//おっけー int renton[];//コンパイル...
  • 英語のページ見るときによく見かける単語
    英語のページ見るときによく見かける単語とかイディオムとか 単語 意味 See also ~ こっちを参照してね! assuming ~, ~だと仮定すると、 expression 式. delete-expressionだったら、delete式(ISOX3014見るとそう訳されてる) Confirm Email もう一回確認のためメールアドレス打ち込んでね欄 Terms of Use 利用規約・使用条件 Terms and Conditions (契約)条件 even 偶数。平行。等しい。平凡。単調。~でさえ。~ですら。 maintains ~を維持する merely ただ単に、 assert ~ ~を強く主張する!!! in which =whereで書き換えられるアレ It seems that S V ~ SはV ~ のように思える。Sって誰…? observe ~ ~を観測する...
  • Doxygen 導入メモ
    Doxygen を導入する 早めにDoxygen を導入することでコメントアウトがどういうときに必要なのかを見定める 先にGraphViz を導入しておくといいかも. http //www.graphviz.org/ ダウンロード http //www.stack.nl/~dimitri/doxygen/download.html - Doxygen Download Page(Doxygen 公式, ダウンロードページ)「doxygen-1.7.6.1-setup.exe (9.6MB)」 をダウンロードします。 今回は実行ファイル形式のインストーラを使ってスムーズに導入します。ちなみにWindows (32bit)です。 ダウンロードが終わったら実行してください。そのままインストーラが起動します。 インストール "Welcome to the doxygen Setu...
  • こうして僕はエラーにはまった。(Ogg/Vorbisライブラリビルド編)
    こうして僕はエラーにはまった。(Ogg/Vorbisライブラリビルド編) はじめに このページは2010年の12月ごろにエラーにはまった際のログを残しているページです。 そのせいかなんだか見にくいです。 それと無知ゆえに嘘ばかり書いています。うのみにしないでください。 Ogg/Vorbis のビルド手順だけをまとめた項目が見たい方は以下のページをご参照ください。Ogg/Vorbis ライブラリを再びビルドしてみる ぼくの環境編 VisualC++2010 Expressこれを使ってOggとVorbisをインストール(というよりも、プログラムで使うライブラリをビルドしちゃおう)な感じです。 ダウンロード/解凍編 http //www.xiph.org/downloads/より、「libogg-1.2.2.zip」「libvorbis-1.3.2.zip」をダウンロードした。そんでもって...
  • Autodesk FBX SDK インストールメモ
    Autodesk FBX SDK インストールメモ 2011年12月現在のインストール記録。 このページでは、Autodesk FBX SDK 2012.2 を導入します。 今後バージョンが変わったりしたときにダウンロードページが紛失したり、あるいは設定が変わったりするかも。 FBX SDK ダウンロード Autodesk - Developer Center - Autodesk FBXのページの「Try the FBX SDK」をクリックまたは、FBX - Platform-Independent 3D Data Interchange Technology - Autodesk の「Download Free* FBX Software Development Kit (SDK)」をクリック 「FBX Software Development Kit」のページに飛んだら、ユーザ登...
  • Direct3Dのとっつきにくい用語
    Direct3Dのとっつきにくい用語 専門用語が多すぎてとっつきにくいDirect3D 以下は僕なりの解釈による、用語の説明です。9割嘘書いてます。 勉強中なのでご容赦ください。 サーフェス(サーフェイス, サーフェース) 簡単にいえば、モニターいっぱいに映ってる画像 マルチパスで描画するときにお世話になります レンダリングパイプラインによって出来上がった出力画像特にその場合はレンダーターゲットって呼ばれてる サーフェスは画像情報のメモリ領域。バッファ。サーフェスに対して、画像加工をほどこしたりもできる メッシュ こいつも最初はとっつきにくい モデリングしたあとに出力したモデル(.xファイル)、ってイメージ (同次)クリップ空間 モデル空間をワールド変換- ビュー変換- 射影変換するとできあがる空間のこと ジオメトリ 簡単にいえば、図形のこと 三角形・四角形・五角形、あるいは線だと...
  • プロジェクトのディレクトリ構成
    プロジェクトのディレクトリ構成 ゲームを作り慣れていないぼくは普段ディレクトリ構成について何も考えません. しかし、ゲームが完成にせまるにつれて、ちょっとしたミニゲームでさえ、ファイルの管理が面倒になってきます。 VC++のデフォルトのソリューション/プロジェクトディレクトリの構成はとても見にくいです。 ファイルがどこにあるのかわけがわからなくなるのを防ぐために、ぼく用ディレクトリ構成のルールをまとめていきたいと思います。 このことについて指摘している本は「ゲームコーディング・コンプリート(著 マイク・マクシャフリー)」(pp.87-90)です。本の中で紹介されている内容をもとに小・中規模ゲームで使いやすそうな感じで考察してみます。 なおwikiの都合上、「\」が「円マーク」ではなく、「バックスラッシュ」で表示されてるかもしれません。Windows 環境を想定して書いているので円マークで...
  • VisualStudio2010
    VisualStudio2010 VC++2010を使う前に。 [ツール(T)]- [設定(S)]- [上級者用の設定]にしておくことを忘れずに。 リンカの設定 (プロパティシートを用いたリンカの設定) 例 DirectX SDK(June 2010)のリンカ設定をする。 ※上記の手順で[上級者用の設定]にする。 [表示(V)]- [プロパティ マネージャー(P)]で"プロパティ マネージャー"を開く。 "プロパティ マネージャー"内の[新しいプロジェクト プロパティ シートの追加]アイコンをクリック。もしくは、"プロパティ マネージャー"内で右クリック- [新しいプロジェクト プロパティ シートの追加(P)]をクリック。 または、"ソリューション エクスプローラー"内で右クリック[追加]- [新しい項...
  • wchar_t型(ワイド文字型)
    wchar_t型(ワイド文字型) 勉強途中の項目につき、かなり内容の信憑性が怪しいです. 信じないでください. wchar_t型("Neutral ANSI (Multi-byte Character) types/UNICODE types"(windows)) よく見かけるLPCSTRやTCHARといったwindows特有のchar型.C++で使われる文字列はもともとASCII でもASCIIだと半角英数字しか使えない.そこでマルチバイト文字に対応するようになった.ANSIが規格したC++だからANSIコードに対応してるのかな? 最近はUNICODE系もよく使われるようになったため、文字コードをUNICODEに変更してもいいようにVC++では対応している. プログラマがANSIとUNICODEの切り替えのたびに何も考えず行えるようにするためのもの. 実際には, マ...
  • こうして僕はエラーにはまった。
    こうして僕はエラーにはまった。 エラーメッセージとその発生状況、対処法と(解決できれば)解決策をまとめていくページ。 VC++2010環境です。 クラスの宣言の最後にセミコロンは付けたか? 1 c \projects\test.h(11) error C2236 予期しない class test です。 ; が入力されていることを確認してください。 1 c \projects\test.h(11) error C2143 構文エラー ; が { の前にありません。 1 c \projects\test.h(11) error C2447 { 対応する関数ヘッダーがありません (旧形式の仮引数リスト?) ヘッダの中で定義しているクラスの宣言の最後にセミコロンをつけ忘れているとなる。とても厄介。 エラーが起きたヘッダでincludeしているヘッダに...
  • GLEW 1.9.0 を Visual Studio 2012 Express でビルドする
    GLEW 1.9.0 を Visual Studio 2012 Express でビルドする GLEW 1.9.0 を Windows 7, Windows 8 環境にて導入します。 Visual Studio 2012 Express for Windows Desktop を使用しています。実行したのは 32bit(x86) 環境と 64bit(x64) 環境です。適宜、お使いの環境に合わせて読み進めてください Visual C++ 2012 コンパイラ (v110) を使います GLEW 1.9.0 をダウンロード GLEW 1.9.0 のソースコードを下記のリンクからダウンロードしますhttp //glew.sourceforge.net/ ("Binaries" ではなく "Source" ファイルを選択します。) ダウンロードしたソー...
  • windowsプログラミングの祈り
    カーゴカルトチックWindowsプログラミング #define STRICT #define WIN32_LEAN_AND_MEAN とりあえずこいつら宣言しとけばバグが出ないと信仰されてる。 STRICT マクロ定義 #ifndef STRICT #define STRICT #endif #include Windows.h MSさんによると、「#define STRICT」を定義することで、厳密な型チェックが行われるようになる。 マクロだったり、関数ポインタだったり、使いまくりの WindowsAPI だから、出きる限りでいいからコンパイル時の型チェックで安全性を高めたいよね、みたいな? やっておいて損はないと思う。 参考文献 マイクロソフト サポート オンライン - STRICT とメッセージ クラッカーの概要 WIN32_LEAN_AND_MEAN マクロ定義...
  • const型修飾子
    const型修飾子 こんな感じで。 class IUnco { void Unco(int const num)const { std cout num std endl; } }; const定数 const int eureka = 16; int const renton = 14; 上のeurekaさんの宣言はわりとよく見かけるけど、その下のrentonさんの宣言はマイナーだよね。 この場合はこれといった違いはない。 constポインタ const int* Eureka;//これはおっけー int* const Renton;//これはだめ!初期化しろぉー>< int const* Anemone;//これもおっけー この場合、2行目のRentonの宣言はコンパイラたんに怒られる。「Renton初期化しろ!」って感じで。 それぞれの違いは、 const...
  • Ogg/Vorbis ライブラリを再びビルドしてみる
    Ogg/Vorbis ライブラリを再びビルドしてみる 以前、Ogg/Vorbis ライブラリをビルドしたとき苦戦を虐げられたの。こうして僕はエラーにはまった。(Ogg/Vorbisライブラリビルド編) オーディオ周りを新しくしたいので、改めて、ライブラリをビルドしてみたいと思うの。 基本的な流れはきっとこの前と同じ。 ディレクトリ・フォルダ名は斜体(イタリック)で書きます。 まずはダウンロード・解凍 http //www.xiph.org/downloads/より以下の2つをダウンロードlibogg-1.2.2.zip libvorbis-1.3.2.zip ファイルを解凍したらフォルダ名を以下のように変更「libogg-1.2.2」 - 「libogg 」 「libvorbis-1.3.2」 - 「libvorbis」 LibOgg(dynamic link library - ...
  • STL使ってる?
    STL使ってる? やべぇ、このページ。見返してみたら思った以上に、不正確(2012/11/08 現在) STL使おうぜ。 C++を使ってるのに、Cライクな書き方しかできないなんてそんなのC++を使ってるとは言えないよ。 ってことで、C++使ってる感を出すためにみんなもSTL使ってね。 google先生で調べればすぐに使い方からなにまでがでてくるので詳しい使い方をここにまとめる気はないの。 使ってて思ったこととかまとめるよ。 std vector #include iostream #include vector int main() { std vector int eureka(7);//int eureka[7]; eureka[1] = 156;//普通の配列みたく使えるよん eureka.at(2) = 256;//こんな書き方もできるよ。 //eur...
  • dynamic_cast演算子
    dynamic_cast演算子 動的なバインディングこと、実行時にcastができるC++の機能だよ。 なにかとweb上のdynamic_cast演算子の項目には「ダウンキャスト」という単語がちらほらでてくる。基底classから派生classへのcastのことを「ダウンキャスト」というそうで。 その逆、派生classから基底classへのcastを「アップキャスト」ともいうらしい。 アップキャストは問題なし。派生classは基底classの中身を継承して持ってるから、基底classにcastすることが容易にできちゃう。 お父さんとお母さんの血を受け継いでいれば、子どもはお父さんにもお母さんにもなれる。 それとは対照的に、ダウンキャストは問題あり。基底classは、派生classの中身を持っているかどうか保障されない。通常のcastより危険度増加! お父さんが子どもになろうとしても、子どもがも...
  • static_cast演算子
    static_cast演算子(性的なキャスト…/////) キャストしてる? castって?…型変換しちゃうこと。コンパイラに怒られちゃうからしようね。 でも、なるべくならcastが起こらないような綺麗な設計を心掛けようね。 起きちゃったものは仕方ないから、C++らしいキャストをしよう。 Cライクなキャストをした場合どうなるの? static_cast, const_cast, reinterpret_castのどれかに読み変えられます。 static_castのつもりが、reinterpret_castになることも十分ありえる。 また、基底classから派生classへのポインタにCライクなcastをすると、VC++環境ではレベル1の警告として扱われる。派生classへのcastに失敗すると、ランタイム例外を起こす。 バインディング 型を確定させることをバインディングというらしい。...
  • FizzBuzzテスト
    FizzBuzzテスト FizzBuzzテストを知らない方は、まずはお手持ちのエディタorIDEを開き、時計を用意してください。 下の記事中にFizzBuzzテストなるものがでてきます。チャレンジしてみてください。 どうしてプログラマに・・・プログラムが書けないのか? この記事の中で出てくる面白いFizzBuzzテストについてまとめます。 ぼくがかんがえたFizzBuzzプログラム(C++) #include iostream int main() { for(int i = 1; i = 100; ++i) { if(i%3 == 0 i%5 == 0){ std cout "FizzBuzz"; } else if(i%3 == 0 ){ std cout "Fizz"; } else if(i%5 == 0){ ...
  • D3DX はどこへ消えた?(DirectXTK と DirectXTex を導入する)
    D3DX はどこへ消えた?(DirectXTK と DirectXTex を導入する) 別途 DirectX SDK をインストールせずとも、Windows SDK 8.0 に含まれるようになったため DirectX を扱うのが楽になりました。ちなみに、Windows SDK 8.0 は Visual Studio 2012 と一緒にインストールされます。 次のページに、Windows SDK に含まれるようになった DirectX SDK について説明があります。MSDN - Where is the DirectX SDK? 上記のページを見ると、D3DX を使ったプログラムに関してはがんばって対処する必要がある、とあります。というのも、D3DX は Windows SDK 8.0 に含まれる DirectX SDK では廃止されたからです。 今まで D3DX を使ってた人はどうすれ...
  • Magical thinking
    Magical thinking 日本語版Wikipediaの「呪術的思考」の項目が英語版Wikipediaの「Magical thinking」の項目に比べてあまりにもつまらなかったので、英語版のほうで面白かったところだけ引用して、意訳してまとめます。なお、ソースはwikipediaなので信憑性はさだかではありませんし、誤訳が含まれる可能性があります。っていうか誤訳です。参考になりません。 以降、"Magical thinking"を直訳「魔法の考え方」とします。 慣用句的な違い。魔法って言葉があまりにもあいまいってこと?(Idiomatic difference) ロバート・ホートンさん(Robert Horton)は、西洋と東洋の考え方の違いは「慣例的なもの」だとしました。 彼は、次のように主張しました。 「西洋と東洋の両方で同じように現実的、実...
  • 命名規則
    命名規則 「システムハンガリアン使いたくないけど、じゃあどんな名前の付け方をすればいいの?」 その疑問にぶつかったぼくのあれやこれやをだらだらまとめます。 システムハンガリアン? システムハンガリアンのどこがデメリットなのか~ってことはここでは考察しない方針でいきます。 あくまでも、"ぼく"が書きやすく、見やすいソースを書くための命名規則なので絶対的なものじゃありません。 システムハンガリアン データの型を表すプリフィックスをつける命名法。 システムじゃないハンガリアン そのデータが何を表すのか、を意味する命名法。 ぼく用命名規則 だいたいの決まり。 ハンガリアン記法は使わない。 わかりやすい名前をつけよう。 ○ FinalFantasy なるほど…! × FF FinalFightなのかFinalFantasyなのかが曖昧 省略形を使わないようにしよう。 ...
  • C++ リファクタリング
    C++ リファクタリング うさんくさいページ名にしてみました。 具体的にどうしていくか? コンストラクタで代入している箇所を、すべて初期化で行う とりあえずboost使ってみたり。 配列の代わりに、std vector、もしくはboost arrayでことたりればそっちで。
  • WAVEファイル
    WAVEファイルについて WAVEフォーマットからその読み込みまでをまとめます。 FOURCC識別子(4文字コード/4CharCode) 4文字のASCIIコードでできた識別子 ASCIIなので、「a-z A-Z 0-9」だけでなく半角スペースも使える Win32 API の MMSystems.h の mmioFOURCC マクロなどを使うとプログラムが楽に。 PCMフォーマット FOURCC識別子 説明 RIFF チャンクの最初4バイトに WAVE だとか XWMA だとかがくる。 fmt WAVEFORMATEX, WAVEFORMATEXTENSIBLE, ADPCMWAVEFORMAT, XMA2WAVEFORMATEXのどれかに対応する。 data 波形、いわゆるオーディオデータが入ってる。バッファに読み込むやつ。 WAVフォーマット 大きさ 中身 ...
  • zlib 1.2.6 を導入したときのメモ
    zlib 1.2.6 を導入したときのメモ zlib 1.2.6(January 29, 2012) をWindows 環境に導入します。 今回は3通りの方法でビルドしていますNMAKE を使ってビルドする方法 Visual C++ 2010 で新規プロジェクトを作ってビルドする方法 Visual C++ 2010 でzlib が用意してくれてるプロジェクトを使ってビルドする方法 Visual C++ 2010, Visual Studio 2012 で手早くビルドしたい場合は以下をご覧くださいませzlib 1.2.6 をVisual C++でビルドする zlib 1.2.7 を Visual Studio 2012 RC でビルドする zlib 1.2.7 を Visual Studio 2012 Express でビルドする ダウンロード http //zlib.net/(公式サイト...
  • zlib 1.2.6 をVisual C++でビルドする
    zlib 1.2.6 をVisual C++でビルドする zlib 1.2.6(January 29, 2012) をWindows 環境に導入します。あれやこれやしていた zlib 1.2.6 を導入したときのメモ を踏まえて、今回は手短に手順を示していきたいところです。 Visual C++ 2010 Express を使用しています。32bit(x86) 環境です。適宜、お使いの環境に合わせて読み解いてください Visual Studio 2012 で zlib 1.2.7 をビルドしたときのメモは次になりますzlib 1.2.7 を Visual Studio 2012 RC でビルドする zlib 1.2.7 を Visual Studio 2012 Express でビルドする ダウンロード http //zlib.net/(公式サイト)から「zlib source code...
  • プログラミング言語"HOEE"
    プログラミング言語"hoee" 演算子一覧 ちこくだよぅ!! おはよ はにゃーん ほえー ほえ? ほええ ほええええ! ほええええ!! ほええええ!? ごめんなひゃい なんでもにゃいいぃぃぃ カモメさんカモメさんカモメさんカモメさん ペンギンさんペンギンさんペンギンさんペンギンさん うみうみうみうみうみうみうみうみうみうみうみうみ あやー あや? あや!? あうー はうー はうううう ねぼうしたー! ごひほうはま! ううう うにゅう なんですってぇ!! パタパタパタ 雪兎さん! 雪兎さん!!! フライ! ウィンディ! レリーズ!!! ケロちゃん!!!!!! わたし木之本桜 友枝小学校に通う小学四年生 さくら怪獣じゃないもん! "闇の力を秘めし『鍵』よ!真の姿を我の前に示せ 契約のもと さくらが命じる『レリーズ』!"演算子 領域を確保し、返します. &...
  • XNAでゲーム作る
    XNAでゲーム作る さっそくF5でビルド デバッグした瞬間なんか言われた 適切なグラフィック カードが見つかりませんでした。 XNA Framework HiDef プロファイルに対応する Direct3D デバイス が見つかりませんでした。 適切なグラフィック デバイスがインストールされていることを確認し てください。 デスクトップがロックされていないこと、その他のアプリケーション が全画面表示モードで実行されていないことを確認してください。 リモート デスクトップ経由で実行したり、Windows サービスとして 実行したりするのは避けてください。 画面のプロパティをチェックして、ハードウェア アクセラレーション が[フル]に設定されていることを確認します。 [ OK ] ...
  • NVIDIA FX Composer 導入メモ
    NVIDIA FX Composer 導入メモ 使い方に関しては、NVIDIA FX Composer 2 の使い方を。 FX Composer 2.0 (July 2007) のインストールログ 今回はFX Composer 2.0 を導入します。NVIDIA の英語サイトではFX Composer の最新版2.51(2011/09/11現在)が公開されています。 ぼくのパソコンでは2.51 は起動しませんでした。 NVIDIA のロシア圏のサイト(http //www.nvidia.ru/)に下位バージョンであるversion 2.03 が配布されています。 以下のページより「Download FX Composer 2」をクリックすることでダウンロードできます。 http //www.nvidia.ru/object/fx_composer_home_old.html インストール...
  • 三角関数
    数学について atan(tanθ)でθが求まるんですってよパズウ!!! すごい発見。2点間の距離って三平方の定理だ。 .
  • 3Dのための数学
    3Dをするための数学ではなく 数学の単位をとるための3Dだと個人的には思います。 たとえば四則演算。お買いものするときに四則演算があると便利だから四則演算を勉強したんじゃないかなーと。 そんな考えだから、中二の頃あたりから、「こんな計算どこで使うんだよ」と口走る数学嫌いが多発したんだろうと。。 ここで3Dの登場です。3Dは数学のかたまりだとぼくはおもいます。 だから3Dグラフィックスを趣味にもてば、3D関連の数学は好きになるんじゃないかなーと思います。 3Dだけでなく、ゲームプログラミングではいろいろな数学を使います。代表的な例が math.h のsin()関数を使って敵弾をゆらゆら動かしたり、とか。。 ゲーム作り、とくに深く突っ込んで3Dを楽しめれば、退屈な数学の講義も、面白く聞けるんじゃないかなーって思います。 だから3Dをやるのです。 3Dを扱うのに必要な数学...
  • @wiki全体から「読んでみたい本」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索

記事メニュー
目安箱バナー