タグ

algorithmとcに関するmanabouのブックマーク (5)

  • ゲームプログラミング研修 - KAYAC Engineers' Blog

    こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get

    ゲームプログラミング研修 - KAYAC Engineers' Blog
  • [初心者向け] プログラムの計算量を求める方法 - Qiita

    はじめに この記事では、プログラムの計算量を求める方法を説明します。プログラミングの初心者向けに、厳密さよりも分かりやすさを優先して説明していきます。 サンプルコードについて この記事のサンプルコードは、C言語(C99)で記述しています。 計算量とは? 計算量とは、 「そのプログラムがどれくらい速いかを大雑把に表す指標」 です。 もう少し正確に言うと、 「入力サイズの増加に対して、実行時間がどれくらいの割合で増加するかを表す指標」 です。 グラフによる計算量の表現 計算量をグラフで表すと、以下のようになります。 これは、「入力サイズ $n$ が増加するにつれて、実行時間が $n$ に比例して増加する」ということを表しています。 別のグラフも見てみましょう。 これは、「入力サイズ $n$ が増加するにつれて、実行時間が $n^2$ に比例して増加する」ということを表しています。 計算量を求め

    [初心者向け] プログラムの計算量を求める方法 - Qiita
  • デザインとロジックを分離したかった・・・ - sazae657

    これは 【その1】ドリコム Advent Calendar 2015 - Adventar の8日目です。 7日目は すべてがKになる (@ka_nipan) | Twitter さんによる ドリコムを支えるデータ分析基盤がTD+AWSに移行した話 - かにぱんのなく頃に です。 【その2】ドリコム Advent Calendar 2015 - Adventar もあります。 自己紹介 Fz (@sazae657) | Twitter 配線工や商業作曲家等を経て、現在はドリコムにてクロスプラットフォーム開発向けのミドルウエアやデータプロテクション等、低レイヤーの研究開発をしています。 ドリコム釣り部CFO(Chief Fishing Officer) 日の話 私が手元で使うツールの爆速開発を支えているのがご存じMotifですが、その開発効率化に取り組んでみた話しをゆる〜くお話しします M

    デザインとロジックを分離したかった・・・ - sazae657
  • C言語で苦しむロックフリー入門(仮

    Please select the category that most closely reflects your concern about the presentation, so that we can review it and determine whether it violates our Terms of Use or isn't appropriate for all viewers.

    C言語で苦しむロックフリー入門(仮
  • c / c++ > RingBuffer (N個のmargin) の実装 - Qiita

    グラフ描画において古いデータは描画域に入らなくなり不要のため、古いデータを削除する処理が欲しかった。 TListなど使えば簡単ではあるが、同じ処理をCプロジェクトでも使えるように自分で実装した。 処理としては keepnum: 最低限保持したいデータ数 margin : 余裕を持たせるデータ数 (keepnum+ margin)にデータ数が達した時に、margin分をごっそり取り除く。 こうすることでデータを取り除く処理をデータ追加時に毎回実行せずに、あるインターバルで実行できるという意図。 int TimeGraph_KeepLatestNsets(int keepnum, int margin, TG_graphData_t *graphDataPtr, int *dataCount) { if (*dataCount < (keepnum + margin) ) { return *

    c / c++ > RingBuffer (N個のmargin) の実装 - Qiita
  • 1