ZerOx4Cの日記だったもの

インポートだけしました

プログラミング

extern宣言分岐についてメモ

最近大学祭向けのゲームを作ってる。 1作目は「C# + SDL.NET + 自作ライブラリ」でやってるだけあってあっという間に先日完成、あとは細かいところを気付いたときに手直しすれば良い感じ。 問題は2作目なんだけど、こちらは大学のサークルに入ってから始めた…

Twitterにコードを投稿して自己満足するキャンペーン1:FizzBuzz

コードを自分の限界まで短くしてつぶやくキャンペーンなのです。 今回はFizzBuzzなのです。 #include <stdio.h> int main(){for(int i=0,t,f;i++<100;){t=i%3;f=i%5;printf(!t^!f?t?"Buzz":"Fizz":t?"%d":"FizzBuzz",i);puts("");}return 0;} 分かりやすく改行、括弧</stdio.h>…

最適化?メモ

今日大学の部活動?サークル?まだ区別がつかないけど、そこでプログラミング講習なるものをやってました。 今回はwhileということで、aのn乗を出力するコードを書いたんですけど、悔しいミスというか、惜しいところがあったのでメモ。 最初のコードはコレ。…

3Dモデルを2D投影

擬似立体描画ができたのかな。多分。 - うおおおおああああZerOx4Cの日記。 の発展。 ぐりぐり回る3Dモデルのデモを作ってみた。仕組みは案外簡単でびっくり。 もっと複雑な、自分にはよく分からないことをしているんだろうとばかり思っていたが、いざこんな…

コメントは大事!

やっと受験も終わったも同然といった感じで、プログラムが書けるー!と思いプロジェクトを開いたのは良かった。 しかしッ!肝心のコードにコメントが全く無くて読む気が失せる今日この頃・・・。多分興奮しながら書いたんだと思う。 仕方ないので思い出しな…

擬似立体描画ができたのかな。多分。

せっかく作ったライブラリなんだからゲームに使いたい ↓ たくさんグラフィックの要るゲームは大変 ↓ ならば単純な図形にしよう ↓ どうせなら動的に立体回転させたりしよう(つまり画面に垂直な軸以外の回転、グラフィックが増える原因) ↓ 試行錯誤 ↓ ベクト…

すり抜けない当たり判定

とりあえず載せると言ったので載せる。誰も見ないかな。 Vector deltaVelocity = this.Velocity - opponent.Velocity; float xtMin, xtMax, ytMin, ytMax, tMin, tMax; // // X方向についてのtの範囲を求める。 // 分母deltaVelocityの正負による不等号の判…

当たり判定できたー

以前のコードは多分欠陥があるので、後日覚えていて気が向いたら載せようと思う。誰も見ないかな・・・。 デモプログラムを作って当たり判定の威力を試していたんだけども、なぜか速度のY成分が負のときだけすり抜けが起こる。 なぜだー!と思って昨日はやめ…

イベントとオーバーライド

媒介変数を使った当たり判定を作ったのは良いんだけど、今使ってるライブラリでデモプログラムを作ると床で止まらない。まぁ原因は分かってるんだけども。 実は今ライブラリには(その頃覚えたからであろう)イベントを多用してあって、キャラクターなどの画…

媒介変数を使ってすり抜けない当たり判定

事の始まりはWikipediaをウロウロしていたとき、 衝突判定 - Wikipedia ここの一番下の方に動く球の衝突判定について、媒介変数t(0 ここで、そうじゃん媒介変数じゃん!と思いついたわけです。 Wikipediaが言ってるのは、t(0 そのフレームの何割の部分で衝突…

ゲームとオブジェクト指向

どうにもオブジェクト指向とゲームプログラミングは相性が悪い気がする。個々の要素の独立性が高すぎるからかな。 と思ってググるとやっぱりそうだよね。 オブジェクト指向ゲームプログラミングの悩みどころ - arCtanがちょっと通りますよ( ´_ゝ`) 今作っ…

HDDを買ったよ!Silverlightを触る準備ができたよ!

Silverlightを触ってみようと思ったら、Visual Web Developer入れないとダメって怒られた。しかしディスク容量が! Cドライブに50GBしか割り当ててなかったのがダメでした。ということでWestern Digitalのこちらをお買い上げ。 ちなみにSATA電源が届かなくて…

mciSendStringについてのメモ

今日の4時間くらいを返してくれ・・・。 ゲームライブラリの中でMCIを使う部分を今日は書いていました。テスト期間中だけどね! まぁMCIを使うのでmciSendStringをexternで宣言して、使いやすいようにメソッドやプロパティの実装をゴリゴリ書いていたわけで…

拡張メソッド

System.Linqがusingされているとき、配列やリストのメンバとして色々メソッドがされていて、最初はなんだこれ?と思っていましたが、あれ拡張メソッドだったのね。 超便利、ゲームライブラリに早速使おうと思ったけど空腹なので寝る・・・明日書こう。 具体…

とりあえずデータバインドするときのメモ

手っ取り早くデータバインドするにはBindingSourceを作って BindingListから継承した型を指定 BindingListから継承した型のインスタンスをBindingSource.DataSourceに代入 インスタンスを好きにするよし!これでいい多分。今やってるとこだ

coutと<<の謎

以前C++をやってみたときも最後まで疑問だった、 cout << "hello, world"; で画面出力が可能ということ。だって左シフトじゃん!coutを"hello, world"ビットだけ左シフトって日本語でおk。と思ってた。 今日とうとうググった。いや最初からググれよ。 Java…

やっぱりC++やらないとだめかー!

MDXはもう終わってやがる。XNAはなにやら評判がよろしくない。ならば!DirectXじゃないか! C++使えたほうがいいよなーやっぱ。でもC#が洗練されすぎてて移る気にならんなぁ・・・。 最初にC#に手を出してしまったのがいけなかったのか・・・。

すごい後悔・・・カクカクSDLの真実かどうか分からないけど現状

id:ZerOx4C:20100708, id:ZerOx4C:20100805で書いてたことの続き。 せっかくデュアルディスプレイなんだから別の画面で試したらどうかと思ってメインディスプレイを上画面に切り替え。デスクトップに散らかってたアイコンがグッチャグチャになったけど気にし…

謎のサーフェスが初期化できない現象

うああああああ。このために1日使いそうな勢い。と、ここでこれまでの経緯。 ZerOx は VS2008 Professional を DreamSpark で入手したので使っているんですけど、VC#2008 Express を使っている後輩からメールで救難要請が。 なんでも新しいパソコンが手に入…

カクカク?SDL

id:ZerOx4C:20100708でSDL.netがカクつくと書きました。まだ気になるのでサンプルを作ってみたけどカクつかねえええええええ。 以前作った「直接SDL.netを触る」サンプルはどんなのを書いたんだ・・・。 こうなってしまうとライブラリを作り「ながら」どの処…

アルファブレンディングするには

画像データはpngでもいいんだけど、既に透明色を使ってある画像はダメ。Transparentプロパティを使って透明化する必要がある。 フルカラーもダメ。ちゃんとインデックスカラーにしないとアルファブレンディングできない。 そんだけー。

カクカクSDL

なぜかSDL.netで作ったゲームの動きが1秒毎に止まる。止まると言ってもすごい短い間だけど。 つまりは横移動するキャラが「ツーッ、ツーッ、ツーッ」ってなる。(分かりにくい ZerOxの作ったライブラリがダメなのかと思って直接SDLを使っても同じ。 でも確か…

ファイラーを作ってみたいでござる

ゲームばっかりしてないで&作ってないで、ファイラーを作ってみたい。 エクスプローラーは少し機能不足な感じが否めないからなぁ。 そして作るなら最強のファイラーを目指したいものだが、しかしDirectoryOpusとか強すぎだろ・・・。 うん、そこそこファイ…

C#が便利すぎてCをやる気にならない

Cを使えた方が良いのは確かにそうだけど、相当に使いにくい。 VSのIntelliSenseはC#にはバリバリ使えますけど、CやC++にはサッパリ使えません。(構文が解析しにくいからだとかどっかで見たなぁ。 エラーメッセージもなかなかの分かりにくさ。 アドバンテー…

jQueryもあるよ!

ajaxするのに便利なライブラリ。 jQuery jQuery 日本語リファレンス 紹介するまでも無く有名だね。リファレンスを見たらこっちの方が使いやすそうに見えて早く使いたい。 部活のサイトはprototype.jsするとして、自分のサイトはこっちを使ってみよう。

日本語ファイル名はうんざり

正確にはフォルダ名ですが。 Ajax.Updaterでページの共通部分を読み込んで表示させようとしていたんだけど、残念ながら読み込まない。でもFirebugはだんまり。何か言えよ。 ぐるぐる困った挙句、意味無いだろうなぁと思いつつ自鯖にうp。すると読み込まれる…

思ったより簡単だった闇鍋

別に闇鍋したわけじゃないよ! 昨日の続き。今朝適当な紙にいろんなケースをまとめて考えてみたけど、結局のところ、 /* 解決のために用意するスクリプト */ var BaseUrl = "http://foo.bar/"; // 基準URL /* 使う側のスクリプト */ var rootPath = "hoge/";…

闇鍋はしたくないんだ!

部活のサイトをjavascriptを駆使して製作中。明日テストなんだけどね。あははは。 prototype.jsを使ってみたらとっても便利。最初は車輪の再開発精神で頑張ってたけど、もうどうでもいいや。Ajax.Updaterおいしいです。 しかしここで問題発生。 全てのページ…

やっててよかったOCP

その3 拡張できて修正不要の原則 : OCP(マルペケつくろーどっとコム) 新しいゲームライブラリはこのページを見て随分と勉強になってから作りました。(いや学校の勉強しろよってツッコミはしないでね! これがこんなに早く役に立つとは。 実は今日は昨日…

ライブラリの今後の方針メモ

FPSを可変にするために何か基準となる時間要素を作って、ゲーム内の処理はすべてその値を基準にするとどうか。 前フレームからの時間の差を使って(例えばそれが16msなら)、(16/1000)*(1000msあたりの移動量)だけ移動させる? 16/1000のあたりが重そうか。 …