C++ の const の基本的な使い方は以下の記事にまとめています。
今回は言語仕様で明確に決まっていないところ(運用面の問題)について説明します。
C++ の const の基本的な使い方は以下の記事にまとめています。
今回は言語仕様で明確に決まっていないところ(運用面の問題)について説明します。
class なんかすごいマネージャー
{
クラス A を生成
クラス B を生成
クラス C を…
…以下、延々と続く
クラス A を生成する前の準備
クラス B を生成する前の準備
クラス C を…
…以下、延々と続く
クラス B の状態を変える
クラス D の状態を変える
…以下、延々と続く
クラス B の状態を返す
クラス C の…
…以下、延々と続く
クラス A のコールバック先
クラス B の…
…以下、延々と続く
}
省略しているが、扱うクラスは10個以上。
メソッドの実装コードを含めると1000行を超える
CancellationTokenSource の必要性が分からない…。
動作環境
.Net 6.0
Visual Studio 2022
この特殊なメソッドの使い方を調べたので、そのまとめ。
「GetEnumerator ってよく聞くけど、使い方はよく分かんない」という人向け。
大きく分けると以下の2つの目的で使用
Fallout 4 の Creation Kit は Steam からダウンロードするようになりました。
Fallout 4 があるフォルダにインストールしないと起動しません。
Mo2 から起動する場合、以下の手順で登録を行います。
1
歯車のアイコンを押す
※マウスオーバーすると「Mod Organizer を経由して起動できる実行可能ファイルを構成する」を表示されます。
2
以下のように入力
タイトル Creation Kit
実行ファイル インストールした Creation Kit の実行ファイルを選択
開始フォルダ インストールした Creation Kit があるフォルダを選択
Steam AppIDの上書き…をチェックするとテキストボックスが表示されるので 1946160 を入力
3
追加、または、変更ボタンを押す
Mo2 の「実行」ボタンの隣にあるプルダウンリストから Creation Kit を選択して、「実行」ボタンを押す
Fallout4: Creation Kit の AppID が掲載されている Steam の公式ページ
https://steamdb.info/app/1946160/
・Visual Studio を無料で使える人数を超えてしまう
・エンタープライズ企業に当てはまる
などの理由で、会社や派遣先のクライアントが Visual Studio Professional のライセンスを用意してくれない場合に Visual Studio Code を使うことになります。
C# はわりと良い子なのですが、C++ のセットアップはすこぶる面倒です。
ググっても英語サイトや古い情報、不十分な情報の断片ばかりヒットするので、Cygwin や Linux 環境でコンパイルした経験がない人にはハードルが高いと思います。
個人利用とか、特にこだわりがないなら Visual Studio を使った方が断然良いです。
Visual Studio Code で C++ の boost が使えるようになるまで、2時間くらい格闘したので、セットアップ手順を書きます。
“【C++】Visual Studio Code で MinGW を使って C++ の boost をコンパイルする” の続きを読む
その時々で気に入った曲を厳選して登録しています。
ゲームを作るときに Unity を使ったりする場合は気にする必要がないのですが、そういったツールを使わない場合、FPS を固定させるために1フレーム未満で処理が完了したら残りの時間待つ…という処理が必要になります。
※本稿での FPS は、ファーストパーソンシューターの略ではなく、フレーム・パー・セカンド(毎秒のフレーム数)のことです。
そうしないと、フレームレートが一定にならないので FPS も一定になりません。
ゲームのスピードが毎フレームバラバラになり、カクカクした動きになります。
FPS 60 の場合、1フレームは 16.6666…ミリセカンド以内に処理する。
FPS 30 の場合、1フレームは 33.3333…ミリセカンド以内に処理する。
ゲームループ(float delta_time) {
ゲームの色んな処理をする
if (1フレーム未満で処理が終わってる) {
余った時間待つ
}
次のフレームの処理へ
}
疑似コードで表現すると、上記のような処理になります。
本稿では、上記疑似コード中の「余った時間待つ」処理を .Net を使って実装する場合の注意点について説明します。
Uninstall Python 2.x from your computer.
Pyton 2系をアンインストールする。
UnicodeDecodeError: ‘cp932’ codec can’t decode byte バイトコード in position 行番号: illegal multibyte sequence
3.7 系から 3.9 系に変えたら、UTF-8 で記載したテキストファイルの読み込みでエラーが出るようになった。
これは open(パス, ‘utf-8’, モード) とエンコードを指定することで出なくなる。
C++ を使っているチームのソースコードを見てるとクロージャという言葉をちょいちょい目にするのですが、C# だと全く見ないですね。
厳密な定義はないっぽい(ぼんやりとした定義はある)ので、人によって認識がバラバラです。
なので、「関数オブジェクトのことっぽいけど、なんでクロージャって言うんだろう?関数オブジェクトとは違うの?」という疑問があったので調べてみました。