読者です 読者をやめる 読者になる 読者になる

たぶん週刊「今週の進捗」

1週間に勉強したことや実装したことをネタに、週に1回(主に土日に)更新していく予定です。「多分」なので、臨時休刊があってもご海容ください。

プロつく計画1-5:2週目 「再帰を使わない塗りつぶし」

Programming Place Plus C++編【標準ライブラリ】 第11章 queue塗りつぶし処理は幅優先にするためにキューを使おうと思う。 ブロックについて 現行ではブロックの色は赤/青/緑/黄/マゼンタなのだが、青とマゼンタの区別がつきにくいのではと気になっていた…

プロつく計画1-4:9週目 「クラス変数の導入」

さめがめのリファクタリングの進捗状況です。 今週の進捗です(打ち消し線+太字部分)。 ClassDefinition.h クラス変数未導入 MenuWindowクラス TitleSceneクラス Fieldクラス 不要なテスト用変数を削除 debug_txt_(Font, Fieldクラス、MainSceneクラス) comma…

プロつく計画1-4:8週目 「クラス変数の導入」

さめがめのリファクタリングの進捗状況です。 今週の進捗です(打ち消し線+太字部分)。 ClassDefinition.h クラス変数未導入 MenuWindowクラス TitleSceneクラス Fieldクラス 不要なテスト用変数を削除 debug_txt_(Font, Fieldクラス、MainSceneクラス) comma…

プロつく計画1-4:7週目 「クラス変数の導入」

進捗状況です。 ClassDefinition.h クラス変数未導入 MenuWindowクラス TitleSceneクラス Fieldクラス 不要なテスト用変数を削除 debug_txt_(Font, Fieldクラス、MainSceneクラス) command_text_(String, Commandクラス) command_area_ の大きさの指定をクラ…

プロつく計画1-4:6週目 「クラス変数の導入」

毎週毎週「続きをしました」っていうのもアレなので、 目についたTODOを忘れないうちに書いておこう。 ClassDefinition.h クラス変数未導入 MenuWindowクラス TitleSceneクラス Fieldクラス 不要なテスト用変数を削除 debug_txt_(Font, Fieldクラス、MainSce…

プロつく計画1-4:5週目 「クラス変数の導入」

今日も今日とてリファクタリングです。先日、Fontはstatic非対応なので、クラス変数の用に使えない旨の記事を書きましたが、zeitungm.hateblo.jp開発者の方によると「そういうときはFontAssetで代用できる」とのこと。というわけで、ここを参考に書いてみた…

プロつく計画1-4:4週目「クラス変数の導入」

先週、こんな記事を書きました。zeitungm.hateblo.jpどうやら原因は、OSのアップグレードではなくて(よく考えたら当たり前だが)、 staticな変数の初期化に失敗していたからだった。で、失敗していたのはFont型のstaticな変数。 どうやらFontはstaticの初期化…

プロつく計画1-4:3週目「クラス変数の導入」

今週も今週とて、クラス変数の導入です。 つまづいたところ インスタンス毎に保持する必要のない変数をクラス変数にしようと、int型と同様に初期化しようとしたら、Error: a member of type "const s3d::Font" cannot have an in-class initializerと言われ…

プロつく計画1-4:1週目「クラス変数の導入」

プロつく計画1-4はクラス変数の導入です。グローバル変数こそ使っていませんが、グローバルな定数は存在しているので、それらをクラス変数に置き換えていこうと思います。 まぁ、今日のところはそれだけ。

プロつく計画1-3:1週目

プロつく計画1-3は、「placement newによるクラス配列から、vectorへの移行」です。そこそこ大きな変更になると思ったら意外とそうでもなかった。 1週間で完了してしまった。なお、間違ってマージしたものをGitHubにpushしたせいで、 修正したマージをpushし…

メモ(C++)

C++

ちょっとC++でプログラミングする機会があったので自分用にメモしておこう。 定数以外で長さを指定された配列 所謂 C言語でのmalloc()で動的確保したいケース。 int length; cin >> length; int *array; array = new int[length]; delete[] array; 2次元の配…

引数有のコンストラクタを持つクラスの配列の初期化

C++

以前自分が書いたコードを見てわけがわからなかったので。 // 引数有のコンストラクタを持つクラスの配列の初期化 #include <iostream> #include <new> // placement new のために new をインクルード using namespace std; class Hoge{ private: int int_var; public: Hoge</new></iostream>…

プロつく計画 18週目

カーソル操作をマウスにも対応しました。クリックでブロック消去するようにしたら、タイトル画面から遷移してゲームが始まったときにカーソルの初期位置でブロックが消去されるようになってしまった…。 どうしよう。 メモ 「領域の上部」を表す名前は、Upper…

プロつく計画 17週目

カーソルを合わせたブロックが消去可能なとき、Enterで消せるようにしました。あとはメニュー画面のマウスとキーボードの使い分けのあたりをちょっと改良したり。メニュー画面ではSpaceで決定になってて、バラバラなのはよろしくなかったなぁと思った次第。

プロつく計画 16週目

消去可能なブロックを探査するプログラムを書きました。カーソルを合わせたブロックが消去可能なとき、消去可能なブロックを全て強調表示(明るい色にして一回り大きく描画)するようになります。それにしても、こういうのって再帰を使わない方法って用いられ…

プロつく計画 15週目

先週作ったカーソルをキーボードで位置だけ操作出来るようにしました。 メモ 命名規則は予め決めておくこと 列挙型、クラス名、インスタンス名等と混同しないように C/C++ では、-1%N すると、演算結果は N-1 ではなく -1 となる 今のところ 480 行くらい(メ…

プロつく計画 14週目

超適当にカーソルを描画しました。 キー/マウス入力はまだ受け付けてないので動きません。

プロつく計画 13週目

先週完成できなかった、フィールドとその描画が出来ました。 フィールド生成時に、ランダムでブロックの色を決定 フィールドの描画を実装 しかし最後に進捗画面を上げた日から約1ヶ月経ってるじゃないですか… メモ 先週、何故か「既定のコンストラクタは存在…

文字列を数値に変換したい

C++

C++で、文字列で表された数値を、整数型に直すときはどうするか。 stoi()を使えば事足りる。 int main() { // your code goes here string stri = "-123", strd = "0.555"; int numi = stoi(stri); double numd = stod(strd); cout 何故かできない まぁこん…