プログラミング
明日も実力テストがありますが、ZerOxは元気です。リアフォで指が疲れません。 ところでAvoid RushをEeePC 900Xで動かしてみましたが、予想外に重くなっていてビックリ。 新しいライブラリを作る前は、無敵チャージメーターの処理の考え方が悪くてチャージの…
チャージインジケーターが邪魔なので小さくした。 正方形を生成する処理を書き直したのでとってもスッキリ。(コードが 課題には手をつけていない。
モーションブラーとインジケーターを実装しました。 モーションブラーはAvoid Rushでももっと古いバージョンでは実装してあったんですが、何故か1.0.0.0系では忘れていたので改めて実装しました。 といっても、背景を半透明で描画しているだけなので動作速度…
こんなタイトルにするとリリースするみたいだけどそんなワケねーよバーカあはははは!ごめんなさいごめんなさいホントすみません。 書き直し中ですが、新しいライブラリのおかげで随分楽に書くことができます。 とりあえずこのスクショは1.1.0.0で新しく実装…
MSDNをよく読んでおけば今までこんな非効率なことをしなくて済んだろうに・・・ クラスを継承したときには、コンストラクタではbaseキーワードを使って親クラスのコンストラクタを呼び出す必要があります。(パラメータがある場合は。 つまりはthisキーワー…
今日は仕事がはかどりました。いやー良い気分だわぁ。 まず、GoogleIMEを使ってみたこと。 最近MSIMEの誤変換がひどくなってきて、スカイプでチャットしてるときなんか毎回誤変換。これはひどいということでGoogleIMEを試してみたところ、これがまた凄い。メ…
id:ZerOx4C:20091130で作っていたライブラリが多分出来ました。大雑把な構造はこう。 public abstract class UpdateEventArgs : EventArgs { } public abstract class RenderEventArgs : EventArgs { } public abstract class Game<TUpdateArgs, TRenderArgs> where TUpdateArgs : Upda</tupdateargs,>…
C#のgenericsでは型パラメータを持つ型パラメータを制約するには余分な型パラメータが増えて困るorz « 来栖川電算 まさにこれ。でもジェネリックスのおかげで随分コードが綺麗にまとまった。あとはここだけだろうな。あるいは諦めるか。
SlimDXを使ってみるという記事を書きましたが、そうなるとようやく完成させたSDL.net用のライブラリが丸ごとパーです。 ちなみにこれまで、 GDI+用ゲームライブラリ Managed DirectX用ゲームライブラリ SDL.net用ゲームライブラリ こんだけパーにしてきまし…
何かまたゲームを作りたくなりました。でもドット絵が面倒です、ローポリでもするか。しかしSDL.netで3Dを扱うのはどうも面倒なようです。そこでGoogle先生。 すると、SDL.netに辿り着いたときに名前だけ見たことのあった「SlimDX」の使い方を解説したページ…
以前お金が降ってくるゲームを作った時のこと。部活の仲間にテストプレイしてもらおうと、時々スカイプでzipを送ったりしていたのですが、64bitなVistaを使っている奴だけ動かない!当時はあきらめていましたが、昨日調べてみたらこんな記事が! 今年こそは …
新しく作り直したゲームライブラリがなんだか良い感じにまとまっています。 作ってる最中はCompositeパターンなので頭の中がぐちゃぐちゃになって疲れましたが、いざ完成してavoid rushに使ってみると、驚くほどサクサクが開発が進む・・・。 タイトル、メニ…
まだまだ人格[1]で生活中のZerOxです。テスト前なのに授業よりプログラムが気になる・・・。 今日は確率リストなるものを書き直ししていました。 オブジェクトをその確率とのペアにしてリストに登録し、Getな感じのメソッドでその確率にしたがってランダムな…
頼むから、たまに「性的コンストラクタ」に変換されるのはやめてくれ! クラス「初期化しゃれましゅううううううううう!!!!!!(アヘ顔」 興奮した。
ゲームは順調なのか知らないけど出来つつあります。 しかしここにきてガタが出てきたようで、ここで文章として説明するには足りないくらいの面倒な構造上の欠陥が・・・ 一番面倒なのは、ゲームの進行に関するコード。ゲームはツールと違ってそこまでキチッ…
現在ランキング登録画面のコードを書いているところです。 今回のゲームはちょっと変わった登録方法で、スコアと日付の書いてある紙のような画面に手書きでサイン(ようするにお絵かき)してもらって登録するようになっています。 で、このお絵かき処理。SDL…
プログラムが大きくなってくるにつれて目に見えて良く分かってくる。 上手く細分化されているおかげでゲームクラスの描画メソッドの内容は、*****.Render(screen);のステートメントしか書かれていない。つまりは、純粋に描画命令のみを行っていると言うこと…
なんだか行ったり来たりだ。頭痛いのもあるけど、なにより初めからちゃんと実装方法をイメージできてなかったな。 お金を管理する部分の現在の実装方法は、 Moneyクラスから派生した各クラスにMoney.Information構造体を持たせて、その中には表示名、価値、…
どんなに書いても見た目に変わるところが無いとモチベーションが持続しません・・・。 確かに見た目にコードは変わっているけれども、スマートにかけると嬉しいけれども、ゲーム画面に変化は現れません。 今を耐えれば・・・!そうすれば次は・・・またそん…
苦戦していたのは何処のどいつだよまったく役立たずが本当に申し訳ないwwwwwwwww 今までコンストラクタを直接ではなく間接的に・・・って分かりにくいけど「newキーワードを使わずに呼び出すのは無理だな☆」と思い込んでいたせいで随分と遠回りをし…
現在苦戦中。お金の降ってくるゲームの話です。 後々拾ったお金を一覧する機能を付けたいので、お金の金額だけでなく種類を識別する必要が出てきました。 しかもお金をあとで追加するとか、仕様変更に耐え得るようにするため、リテラルではなく「その場でID…
昨日の夜・・・って日付的には今日書き込んだ、スコアカウンタの回転音。 何度もテストしていて気づいたんですけど、相当うるさい・・・なんかマシンガン的でキモいので地味なのに変えてみました。 あとでみんなに送って聞いてみよう。
XMLコメントでいい感じにスパゲッティしてきました。密度高すぎるんだよなぁ。 本職の人はどうやってるんだろうか・・・この程度のゲームだと一週間でできちゃったりするんだろうなぁ・・・ 地道に頑張ります。ちなみに今日の晩御飯はスパゲッティ。
音が付くととっても雰囲気が出てステキ・・・ でもSdlDotNet.Audio.Soundクラスのコンストラクタがちょっと面倒。 外部ファイルパスから初期化するのは嫌なので、もう片方のバイト配列から読む方を使うんですけど、リソースにwavファイルを登録すると音声フ…
周期性のある処理をするときに「%」演算子は非常に便利です。(こんな記事初心者にしか役に立たねーよ・・・ ダメージを受けたときの無敵時間に点滅処理をするとき、毎フレームintを加算していって、描画メソッドの中で、 if (this.frames % 6 < 3) { // 描…
道は長かったけどなんとかスマートに収まった。 当たり判定を表示するデバッグ用の赤い枠の下端がまっすぐ揃って嬉しい!ヒャッハー! 結局staticなGroundクラスを作って、その中にHEIGHT定数。これが地面の高さを表します。 Elementの座標を表すLocationプ…
ああ、シューティングゲームならどんなに楽か・・・ マップにめり込んだら爆発してしまえば誰も文句は言いませんよね・・・ さすがにお金を拾うゲームでプレイヤーが地面にめり込んで爆発したら笑えませんね・・・ あwwwダメだwwww想像したら笑えてき…
今当たり判定を実装しています。 が、Elementクラスに気の向くままにメンバを追加しているので、後々スパゲッティしないか心配です・・・ 最善の実装をしているつもりだけど大丈夫だろうか・・・
ああ、なんでこんな面倒な基本クラスを作ってしまったし。 全ゲーム要素の基本クラスであるElementが当たり判定用のプロパティを持っていないので、追加しようかなぁとも思ったんですけど、よく考えたらElementクラスは非表示要素も含むから変なことはしない…
SDL.netのフォント関連でおかしな動作があるようで・・・ Font font = new Font(Resources.font, 24); screen.Blit(font.Render("あぎょぎょ\nぎょぎょ☆ミ", Color.Cyan), new Point()); とかやると、こちらの望みとしては背景を透過して\nのところで改行し…