ゲーム作りは楽しい

なんか書く

技術

個人ホームページにRSSを取得して表示するようにした

ホームページは Vue.js で作ってるけど だいたいこんな感じ <template> <div class="feed"> <table> <tbody> <tr v-for="item in sortedFeedItems" :key="item.guid"> <td> <p class="date">{{ item.pubDate }}</p> <p class="title"><a :href="item.link" target="_blank">{{ item.title }}</a></p> </td> <td> </td></tr></tbody></table></div></template>

Haskellの実行環境をVSCode DevContainerで作成

まえがき 関数型パラダイムの言語をあまり触れてこなかったので、最近Haskellを勉強中 書籍として すごいH本 を読んで勉強してます。 勉強用に実行環境を作りたかったのですが、だいたいいつも自分はちょっとした環境作成はDockerでやりたくなるので 今回もD…

VisualStudio複数プロジェクトで共通コードを使う

VisualStudioのソリューションに複数のプロジェクトを追加する際に 共通のコードを使用する方法のメモです。 新しいプロジェクトを追加 > 共有アイテムプロジェクト プロジェクトへ参照の追加 以上

niko and … に対して思う事

ショッピングモールとかを歩いていると「niko and …」をよく見る もしあなたがC++erなら、すぐに気が付いたかもしれない。 あ、これC++のコードだって int main() { auto f = [](auto... niko) constexpr { return (niko and ...); }; static_assert(f(true,…

2Dゲーム 上から視点の反射表現 を作って遊んでた

↑こういうのをやってみてた 方針的には以下のようなことをしていた ちなみに小難しいことはしておらずシンプルな実装でやってみてた。①反転した状態のテクスチャをあらかじめ作っておく②投影するマスクテクスチャのようなものを用意する③シェーダーでがっち…

Siv3Dで仮想ウィンドウクラスを作った

VirtualWindow Windowsのエクスプローラーを参考に作った だいたいそれっぽい動きをしている ツールのレイアウトとかをサクッと作れるといいなぁと思っていて 第一歩という感じ ソースコード 結構ごり押し。一つ一つの挙動を書いていくしかない ちゃんとファ…

レイヤー合成、計算式メモ

随時更新するかも スクリーン float screen(float dest, float src) { return 1 - (1 - dest) * (1 - src); } float4 screen(float4 dest, float4 src) { float4 color; color.r = screen(dest.r, src.r); color.g = screen(dest.g, src.g); color.b = scree…

C++でコードベースのファイル名を使用したマイグレーションみたいなものを作った

コードベースのマイグレーションみたいなものを作りました。 wandbox.org 例 以下に 1_Test.cpp 2_Hoge.cpp がありますが、これのprefixの数字をidとして、カレントバージョンから最新バージョンまで全部実行する仕組みです 1_Test.cpp #include"Migration.h…

メタクラスについて勉強してみました。

メタクラスについて勉強してみた。 class とか structっていうキーワードを使う箇所をユーザー定義したものに変えて my_class Hoge{}; みたいに使います。 んで、 何ができるかというと 例えばC++ではstructはデフォルトpublic, classはprivateっていう話が…

C++でDIするヘッダーオンリーライブラリを作りました。

C++でDIするヘッダーオンリーのライブラリを作りました。 github.com Zenject(Extenject)などから影響を受けてます。

C++でC#のasみたいな書き方する遊び(糞)

template<class T> struct as_op {}; template<class T> constexpr as_op<T> as_obj{}; template<class T, class U> auto operator | (T* ptr, const as_op<U>& op) { return dynamic_cast<U*>(ptr); } #define as | as_obj struct Super{virtual ~Super()=default;}; struct A : Super{ }; int main() { Su</u*></u></class></t></class></class>…

Dockerの環境構築した

ただの備忘録 Windows UpdateがうまくいかずにWSLでの方法がうまくいかなかったので Docker Toolboxでやることに ホストディレクトリのマウントの件は以下を参考に解決した。。 Docker Toolboxでマウントするディレクトリを追加する - Qiita Docker Machine…

ハッシュドポテトの作り方 C++編

はじめに 本記事はネタである。 ハッシュドポテイトうんめなー 今日もハッシュドポテイト食べたいなー よし、作ろう 1. ポテトを用意する // ポテト struct { std::uint8_t taste; // 味 std::uint8_t fragrance; // 香り std::uint8_t freshness; // 新鮮さ…