タグ

ブックマーク / qiita.com/mrdagon (2)

  • [C++/分岐の処理]手続き型からジェネリックな設計まで - Qiita

    はじめに 例えばシューティングゲームを作る場合、敵を何十種類か実装して、それぞれ別の動きをさせたいでわけです。 しかしながらc++では(他の言語でも)そういう機能の実現方法がたくさんあり、最高の設計をするのは至難です。 この記事では敵の種類毎に別の動きをさせる方法について色々説明します。 それによって、どういう仕様の場合どうやって処理を分岐させるのが良いか考える助けになるかと思います。 サンプルを動くように実装するのは手間なので、そういう風にはしてません。 ※マークダウンでは表示が狂いますが、識別子に日語を使うのはg++以外では特に問題無いです。 switchによる処理の分岐 プログラミングを始めたばかりの人はまずこんな感じにすると思われる。 あるいはif文でも似たような事したり。 enum class EnemyType { スライム, ゴブリン, ドラゴン }; class Enem

    [C++/分岐の処理]手続き型からジェネリックな設計まで - Qiita
  • [C++]ゲームのオブジェクト管理システムが遅い場合 - Qiita

    この記事の続き http://qiita.com/mrdagon/items/c49f23b426aa96694aa2 はじめに ゲームのオブジェクト管理を同じ型を静的配列に入れて処理をswitch文で分岐する方式で実装してたのから、仮想関数でポリモーフィズムする感じの設計にして配列をstd::vectorにしてstd::shared_ptr使うようにしたら遅くなって処理落ちしだした、どうしよ?みたいな人向けの記事。 具体的に言うと、下の方が書かれた記事の例で言う1.から3.にしたら遅くなったので、めんどくさいけど4.をしたい人向けです、先に読んでおくとこの記事を読みやすくなると思います。 ゲームのオブジェクト管理システムについて考える また今回の内容は同人2Dゲームを作る等のメモリが何に使うのか分からない程余っている状況を想定しています、メモリがカツカツの場合は話が変わってくると思います

    [C++]ゲームのオブジェクト管理システムが遅い場合 - Qiita
  • 1