C++

C++で文字列を1行ごとに処理する方法

C++

以下の例のようにRange-based for loopを使用して処理できるようにします。 for (auto& line : lines("1,2,3\n4,5,6\n7,8,9")){ cout << '[' << line << ']' << endl; } コード using namespace std; class LinesIterator : public iterator<input_iterator_tag, string>{ public: LinesI</input_iterator_tag,>…

フォルダ内の各ファイルをfor文で処理する

C++11ではfor文に新たな記法が追加され、便利になりました。 新しい記法ではイテレーターを返すbegin()とend()を持っているものなら何でも回すことができます。 イテレーターを自作することでfor文で書けるものを増やすことができます。 今回はDXライブラリ…

フェードイン・フェードアウトを簡単に書けるFaderクラス

ゲームを作っているとある値を一定時間かけて変化させたいという場面が多くあります。 例えば、画面の明るさ(フェードイン・フェードアウト)、スコアの数値、HPゲージなど… こういった要素は一瞬で変化させるより、動きを与えた方が画面に高級感が出てきま…

C++で2次元ベクトルクラスを作る

C++

ここでいうベクトルはstd::vectorではなく、2次元平面上の幾何ベクトルを意味します。 特徴は、a / b を外積にしている点です。これは当たり判定等で役立ちます。 #include <cmath> class Vector2 { public: double x, y; Vector2():x(0),y(0){ } Vector2(const Vec</cmath>…

C++でのCSVファイルの処理について

C++

色々あさってみて、最終的にこれが今一番しっくりきたので載せます。せっかくだし。 data.csv 10, 20, 30 hello, world, ! 12a, 23b, 34c main.cpp #include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; int main(){ ifstream file("data.csv"); v</vector></string></fstream></iostream>…

Visual StudioでDxLibプロジェクトテンプレートを作成する

DxLibのインクルードの仕方 表示(V) → プロパティーマネージャー(P) 見つからない場合は「表示(V) → その他のウィンドウ → プロパティーマネージャー(P)」に隠れていることがあります "プロジェクト名" → Debug | Win32 → Microsoft.Cpp.Win32.user をダブル…

Hello, World

このサイトについて 調べたこと、メンバー同士で教え合ったことなどが、Skypeや口頭だと流れてしまいます。 それはもったいないので記事として残そうという趣旨で運営されています。 編集はメンバーであれば自由です。 内容は解説記事、リンク集、メモ、コー…