サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
www.sun-inet.or.jp/~yaneurao
Lesson 2.Crack the dongle '03/06/13 外付けのコピー保護装置と言えばdongle(ドングル)が一番有名だろう。どんぐり..でなかった、ドングルとはどのような仕組みなのだろうか? たいていは、プリンターポートに接続する。最近ではUSBに接続するものもある。ドングル自体に何らかのプロセッサが載っていて、こいつに対して文字列を送信し、その結果を比較するものが大半を占める。場合によっては実行コードの一部をドングルからダウンロードしてくることもある。まあ、詳しくは http://www.woodmann.com/fravia/zee__4.htm にある。 crack出来ないドングルなんて存在しない。実物があれば2、3日もあればたいていはcrackできる。ドングルから実行コードをダウンロードしてくるタイプのものはタチが悪いが、その場合でも最悪dongleのAPIを
microthread CMircoThreadは言うまでもなく(?)Pythonのマイクロスレッドです: http://www-6.ibm.com/jp/developerworks/linux/020809/j_l-pythrd.html C++で実装する関係上、stacklessではなく事前確保したstack contextの 切り替えになるんですが。これにより、シーンクラス等が退屈なFSM(有限状態マ シン)になることなくプログラムできるわけです。 このクラスを通じて呼び出した関数は、関数の途中でresumeし、次に呼び出されたときに、以前の状態を再現することが出来る list-1 プログラム例 void OnMove(){ if (!microthread_.isEnd()){ if (!microthread_.isSuspended()) { smart_ptr
一時オブジェクトの寿命 1.リファレンス一時オブジェクトの寿命 ・リファレンスに対する初期設定子の一部として使われた場合、そのリファレンスと同じだけ生存する。(ARM12.2) 別の言い方をするとconst参照は一時オブジェクトを束縛する。 list-1 cppll3724 #include <iostream> #include <string> using namespace std; string createString() { return "Safe"; } int main() { const string& x = createString(); cout << "x = " << x << "\n"; return 0; }
連想コンテナのerase STLの連想コンテナ(map/multimap/set/multiset)のeraseの返し値は、C++標準ではvoidである。これは、削除した次の要素の先頭を返すiteratorを実装するとパフォーマンスに問題があるとしたC++標準の見解を示すものであるが、STL実装者の間では、それはないだろうという意見が大半を占めている(⇒EffectiveSTL.第5項。やねうらおもそう思う)ので、VC++6/VC++.NETの実装はiteratorを返す実装となっている。 ※ ちなみに、シーケンス(deque/list/vector)では削除した要素の次の要素を指すイテレータを返す。 STLPortのような標準にきっちり準拠しているお利口ちゃんの実装系に移植するときに問題となる。iteratorを返してくれないので、削除した次の要素はどれだかわからない。仕方ないので
・BM98が出来るまで ちょうど98年の春ごろ、ビートマニアが登場して、会社帰りにずいぶんとやりこんでいたわけですよ。それで、友人にインターネットなら、譜面とかシミュレータが入手できるよとそそのかされて、しぶしぶインターネットを始めたわけです。2,3日探しまわったのですが、シミュレータがあまりに期待はずれだったもんで、冗談半分でトレーナー作ろかな〜って文章をビートマニアの掲示板に書いたら、NBKさんという人がやろうやろうって。なんだか引き下がれなくなったので、じゃあ、データのフォーマットは、こんなんでどうでしょう?とか言って草案送ったら、次の日にそれに準拠したデータ送ってくるんですよ。しかも、音もきちんと編集されてるやつ!もうひっくり返りましたね(笑)これは、草案やっちゅーてるのに!なんてことしてくれるんや!と思いました。(笑) そんなわけで、仕方なくプログラムし始めたわけです。Direc
天才ゲームプログラマ養成ギプス またの名を 略して、「猫には」とお呼びください(笑) やねうらおの考えでは、ゲームプログラミングに必要なテクニックとは、おおよそ800通りに分類されます。(800だけに嘘800です。すんません:p) そのうちの重要な12パターンを今年一年かけて解説しようと思っています。 内容はなーんも考えていません。12パターンの根拠もありません。毎月一回書いたら12ヶ月で12パターンかなーとか…すんまそん(笑) プロ・アマ問いません。内容に対する、ご意見・ご感想などお待ちしております。雑誌への掲載も歓迎です。というか原稿書かせてくださいな(笑) とりあえず、しばらくはゲームプログラミングに必須な実践テクニックをどこよりもおざなりに、誰よりもいい加減に解説しようかなって…(それじゃダメじゃん…) 過去ログ1 過去ログ2 関連書籍(New '01/02/25) 第14章.コ
ついに明かされるときが来た!! 神出鬼没天上天下唯我独尊的やねうらおのプロフィール! 保育所時代、電気のコンセントを分解中に落雷があり、感電して病院へ運ばれるが奇跡的に生還をとげる。以来、自分のことを天才児だと信じるようになる。しばらくのちに「保育所の連中は幼稚だから僕は幼稚園に行く」などとわけのわからんことを言いながら保育所を自主退学。親からは「あんたが、毎日、ちゃんと保育所行ってくれんと、アタシ仕事おちおち行かれへんやないの!」と激励を受ける。当時の口癖は、「ぼくちんはぷんぷんでちゅよ!!」 幼稚園時代、ワンボードマイクロコンピュータTK80が発売され、Z80ネイティブプログラミングにはまる。幼稚園の朝礼の最中に、自作のもぐら叩きゲームのデバッグをやっていたが、先生に見つかりTK80を取り上げられて以来、教育とは暴力であると認識する。さらに、ピンク色の象の滑り台の上で「ε-δ論法は微積
第70回 How To STL(STL活用講座) 99/9/5 そもそも、事の発端は、yaneuraoGameSDKがVC5.0ではコンパイルできないということだったように思う。原因はわかっている。VC5.0までは、テンプレート機能がサポートされとらんのだ。C++は、もう言語仕様は固まったのかと思っていたら、ここのところに来て、STL(Standard Template Library)やら何やらが標準化された。現段階で、どこまでがドラフトなのかは、この手の動向にまったく興味のないやねうらおの知るところではないが、どうせ、VC5.0でコンパイルできんのなら最初からSTL使うんだったと、反省しきりである。 STLは、非常にエレガントで泥団子のようなC言語にはもったいないものがある(また、反感買いそうやけどね) そんなわけで、yaneuraoGameSDKは、STLで、全面的に書き直しを始
Programming 集中講義 プログラミング上の、いろんなトピックをここで書いていくことにします。 集中講義1.携帯端末系開発 Lesson 1. Windowsマシンをサーバーにする(C++によるCGI) '01/08/12 update '01/09/20 Lesson 2. ワン切りについて '01/12/11 Lesson 3. HDMLとは何か? '01/12/30 Lesson 4. 携帯100円充電器 '04/03/13 集中講義2.Programming Tips1024 Lesson 1. 小ネタ集 0001-0050 '01/09/20 update '01/10/08 Lesson 1a. Phinloda様のCマガの原稿より '02/05/07 Lesson 2. 小ネタ集 0051-0070 '01/10/08 update '02/0
スーパープログラマーへの道 過去ログリスト ちゅうーって、ReGetしちゃってください(笑) 第一回 DirectXは一夜にしてならず(開発言語探求篇) 第ニ回 DirectXは不毛なのねん(書籍探求篇) 第三回 DirectXはやめとけって(ライブラリ探求篇) 第四回 コモンプラットホーム構想(たんなる夢) 第五回 DirectX5は腐ってるんか?(不満ぶちまけ篇) 第六回 実はC言語ってよー知らんねん(ごめん俺が悪かったの巻) 第七回 バイナリ互換性は必要なのよね〜ん(8x86はJavaをも超えるんか?) 第八回 だからC言語オタクって嫌いなのねん(Cマガの記事に横槍を入れるの巻) 上記の過去ログ 第九回 翻訳は金になる(コンパイラ作成のための準備体操) 第A回 ゲーム作成講座はいつんなったら始まるねん!(一読者の不満) 第B回 やねうらおからの挑戦状!(80862C
///////////////////////////////////////////////////////////////// // sample 2 : immutableパターンはwrite動作のないresourceクラス // サンプルは割愛 ///////////////////////////////////////////////////////////////// // sample 3 : guarded suspension namespace test3 { struct CRequest { string strData; }; struct CRequestQueue { /** CClientThreadからはputRequest(キューに積む)される。 CServerThreadからはgetRequest(キューからデータを取得する)される。 もし、CSer
Programming Tips 1024 プログラムしているときに思いついた小ネタを書きます。このコーナーへの投稿もお待ちしてます^^ 特にことわりが無い限り、C++/VC++/Win32です。情報提供者orネタ提供者がいる場合は、表題の右横に《 》で書いています。 '01/03/04 Tips 1. コメントアウトをコメントアウトする /* 〜 */でコメント化したりしますよね。
singleton シングルトンとは、アプリケーション全体で、唯一のオブジェクトを生成するパターンを意味します。「シングル�d」などと書くと、ちょっと格好いいような、悪いような(笑) それはともかく。 シングルトンなオブジェクトの生成は、単純には次のように実装します。 list-1 template <class T> struct singleton { T* GetObj() { if (pObj_ == NULL) { pObj_ = new T; } return pObj_; } singleton() : pObj_(0) {} ~singleton() { delete pObj_; } T* pObj_; }; このsingleton::GetObjはstaticな関数からも参照され得るので、このsingleton自体がstaticなメンバとして用意する必要があり
天才ゲームプログラマ養成ギプス やねうらおの考えでは、ゲームプログラミングに必要なテクニックとは、おおよそ800通りに分類されます。(800だけに嘘800です。すんません:p) そのうちの重要な12パターンを今年一年かけて解説しようと思っています。 内容はなーんも考えていません。12パターンの根拠もありません。毎月一回書いたら12ヶ月で12パターンかなーとか…すんまそん(笑) プロ・アマ問いません。内容に対する、ご意見・ご感想などお待ちしております。雑誌への掲載も歓迎です。というか原稿書かせてくださいな(笑) とりあえず、しばらくはゲームプログラミングに必須な実践テクニックをどこよりもおざなりに、誰よりもいい加減に解説しようかなって…(それじゃダメじゃん…) 第一章.キャラクター基底クラスの設計 2000/05/11 この講座、言語としてC++を選択します。コンシューマであってもC++を使
第29回 Excel Interpreter(ExcelによるExcelのための変態的プログラム)'99/4/10-99/4/25 今回紹介するのは、Excel用のインタプリタである。はっきり言って、冗談のようなプログラムである。しかし、結構有用なんではないかなーとか思わなくもない。構想2年。製作時間3時間という、謎なプログラムである。 Excelというのは、ワークシート上の関数で制御構造を持つことが出来ない。早い話、forやwhileと言ったものが無いのである。そこで、繰り返して何かをしようと思うと、必ずモジュール(いわゆるマクロのことである。Excelでは、マクロはユーザーの行なった動作をVBA形式で記録したもののことを言うようだ)を組まなくてはならない。 それが故に、ちょっとしたモジュールを小遣い稼ぎに組まなくてはならなくなったりする。みなさん、周知の(?)事実である。 モジュールと
The deep inside of Windows 〜 Windowsの深淵 Lesson 1.超高速描画の謎【前編】 '01/10/04 走り書きですんません、、時間無いのです。きちんとデータをとりなおして、書き直したいのですが、その時間も無いので、もうこのまま載せちゃいます。読みにくくってごめんなさい。 通常のゲームにおいては、描画処理が、処理全体の80%以上を占めると言っても過言ではありません。そのわりには、Windowsで、どうやれば高速な描画ができるのか、実際に比較して示してある書籍が皆無です。私も断片的に、rsp(スーパープログラマへの道)で書きましたが、測定値を示すには至っていなかったのです。だから、同業者のしとたちから、詳しく書け書けとうるさく催促されています^^; しかし、実は、いま、ここで詳しいことを書いているほど時間は無いのです。私は、某麻雀ソフトで、DIB描画の
<使用上の注意> ここは、ゲームプログラマを目指す人と、現役ゲームプログラマの人たち、そして、それを草葉の陰からひやかし半分で応援している少年少女のための、読んでも決して為にはならない(毒にもならないけど)、精神の開放(解放ではない。パチンコの全台開放!のあの開放をイメージせよ)を促進するためのコンテンツ群である。 ときには、高度な整数論や4元数について書くかも知れないし、ときには知的推論プログラムや最先端の自然言語処理についてお話するかも知れない。テクスチャーでも炊飯ジャーでも何でも来いという心構えで望んでいただきたい。ただし、内容はかなりふざけている。そのことだけはあらかじめお伝えしておく。間違っても、ここから何かを学ぼうなんて思わないこと。基本的にどうでもいいことしか書かないつもりだからして。 過去ログ 直リンで来たんで、トップへ戻ってカウンターを回してやる 第DF回 XPプログラミ
第九回 翻訳は金になる(コンパイラ作成のための準備体操) コンパイラとは何だろうか?経験を積んだプログラマでさえ、案外盲点になっている。 法律用語では、敵国の言語(何が敵国やねん...)を使うのはご法度だからして、コンパイルと言わずに「翻訳」と言う。よって、コンパイラとは、「翻訳家」である。逆コンパイラなら、「逆翻訳家」である。よくゲームのCDに書いてあるのは、 この小型読込専用記憶装置における電子遊戯の処理手順の一部ないしは全部を複写あるいは逆集合家および逆翻訳家にて解析、逆開発することは法律で禁じられており... うおおおおお!!なんのこっちゃ!!そんなこと書いてないって!! ごめんごめん。軽いジョーク。本気にした人、ホントごめん。 コンパイラとは、主に高級言語のソースコード、要はプレーンテキストをターゲットマシンのマシンコードに自動的に変換してくれる、夢のようなプログラムである。(
Programming Tips 1024 プログラムしているときに思いついた小ネタを書きます。このコーナーへの投稿もお待ちしてます^^ 特にことわりが無い限り、C++/VC++/Win32です。情報提供者orネタ提供者がいる場合は、表題の右横に《 》で書いています。 '04/03/05 Tips 71. 点と矩形との領域判定の高速化 2次元の点と矩形との判定で、以下のようなコードをよく目にします。 Rect r; int x,y; if (r.left<=x && x<r.right && r.top<=y && y<r.bottom){ // (x,y)は矩形rの内部にある } まあ、複数の矩形があって複数の点との領域判定を行ないたいならば、2分サーチなり何なりすればいいのですが、このへんは3次元での技法が参考になるでしょう。(→BSP,8分木) ここでは2次元にしぼって話
The Super Programming Technique §1.ラムダ式をC++で実現する【前編】 関数型言語の基本的な概念であるラムダ式を、C++で実現する方法について紹介します。 ・高階関数(higher-order function) 他の関数を引数として扱う関数は、高階関数と呼ばれます。 「関数を引数にとる」のですが、関数を渡すためには、C++では、関数ポインタで渡すか、templateで渡すかです。(operator ( )をオーバーロードしたクラスをfunctorと呼び、これを引数templateを用いて渡すテクニックについては⇒集中講義4. 超高速描画の謎【後編】を参照のこと。) グラフィックの転送ルーチン等は、処理の99%が同じで、ピクセルをコピーする関数のみが違うという場合があります。このように、共通の処理がある場合、この高階関数にすると処理がすっきり書けます。
やねうらおが住んでいるのは大阪府八尾市である。ここは本当に怖いところなのだ。昨日は昨日で、二軒となりのところの息子が「親父を殺す!」とか騒いで警察が来た。なんでも聞くところによると、その息子は中学を中退しているらしい。中学を中退できるのかどうかは知らないが。 今日は今日でサティに買い物に行った。サティの前で自転車をとめて、サティの入り口で何を買おうかと考えていると、そこにおばちゃん二人連れが来て、自転車の前かごに入っているフランスパンをめざとく見つけた。 おばちゃんA「あら〜。おいしそうなパンが」 おばちゃんB「佐藤さん、もろときはったら、どうですのん?」 おばちゃんA「や、ですわー 田村さん、がはははは」(前カゴに入ったフランスパンを自分の買い物バッグに移しながら) おばちゃんB「自転車も、カギかかってかかってないし」 おばちゃんA「ぶつそうやわーぶっそう!」 おばちゃんB
インターネット上には、無数に本が落ちている!!タダで読めるのだ!! ..と言っても違法なものではなく、絶版になった本を出版社の許可を得て著者が公開しているようなケースだ。それらを散在しておくのはもったいない。ここに書いてみんなで共有しようではないか! と思い、こんなコーナーを作ってみた。そんなわけで、掲示板のほうでも情報提供等、お待ちしてます → やねうBBS web bookスレ プログラミング Windows/C/C++ ■ Standard Template Library プログラミング/秀和システム[日本語] επιστημη氏のSTL本。 ■ Win32サブルーチンズ,Win32サブルーチンズ2,実例で学ぶ Win32 API活用術/CQ出版社[日本語] 常岡 伸二氏の名著。 ■ Cプログラミング診断室/技術評論社[日本語] ■ (コ)の業界のオキテ/技術評論社[日本語]
このページを最初にブックマークしてみませんか?
『BM98'S ROOMつう』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く