このページは前回と前々回の内容の理解を前提とした、まとめページとなります。そのため、直接こちらに飛んできた場合は、先に準備と実装のページを読んでいただくと助かります。準備 実装 前回までの実装で Z80 のニーモニックのままで、展開処理を実行できる前準備が整いま ...
タグ:C#
Z80 を C# で再現する - 実装
このページでは、Z80 の動作を C# でシミュレートするための技法について解説しています。いきなりこちらに飛んできた場合は、先に準備編を読んでから先にお進み頂ければ、理解がしやすいと思います。準備 Acc アキュムレーターZ80 で計算を行う際は、この Acc に値を入れて ...
Z80 を C# で再現する - 準備
Exomizer は圧縮率で ZIP をも凌ぐ大変優れたソリューションです。欠点としては解凍速度が遅いことですが、絶対的な圧縮が欲しい時は、これの選択が唯一無二とまで思っています。例えば、データロードの時間を短くする時も、Exomizer を使って圧縮すれば、その後数秒の展開時 ...
素数算出と実行速度の差
某所で素数を列挙するプログラムを見かけて、自分も作ってみようという気になりました。また、ついでに C言語、C++、C# でも同じように作成して、そのコードの違いや実行速度の差を検証もしてみました。私の当初の予定では、圧倒的に C++ が高速だと思ってました。さて、その ...
C# 左右判定(外積と内積)
前回 Z80 で左右判定を行いました。Z80 ではアナログの扱いではなく 8方向で表現してた事もあり、各方向毎に専用判定を記述することで対応しました。C# ではベクトルで座標を、向きはベクトルや角度で扱っているため、角度毎の専用処理では判定できません。そこで数式を用い ...
C# クラスの活用
前回まででベクトルや行列を使った動きに関する説明を行いました。ただ、Program.cs にベタ書きされているので、このままプログラムの規模が大きくなっていくと、可動性が著しく劣ることが考えられます。また、今後の拡張も面倒なことになりそうですので、まだ規模か小さい今 ...
C# 行列演算で画像表示
前回の記事で、メインループからプレイヤーを自由自在に動かせるようになりました。ですが、キャラはずっと正面を向いたままです。方向に応じた画像表示に入れ替えたら、それなりに見えるのは分かりますが、例えば自動車のように、各方向にアナログ的に回転させて表示しよう ...
C# ベクトル移動
前回でメインループの基本形が出来たので、このまま次はプレイヤーを動かしてみたいと思います。プレイヤーを動かすのに、上下左右では味気がないので、ここはベクトルを使ってアナログ的に移動させてみます。内容に関しては今回も、前回の続きとなりますので、直接こちらに ...
C# ゲームのメインループ
前回、ゲームの描画について解説しました。その際に、ゲームのメインループに関しては Timer で暫定的な実装をしています。今回は暫定的ではなくて本格的な実装例を紹介していきます。内容に関しては前回の続きとなりますので、直接こちらに来てしまった場合は、前回の記事を ...
C# 2Dゲームの画面描画
今回は、リクエストがあった VS2022 の C# だけでゲームの画面表示を、どうやって実装するかの手順説明となります。簡単ではありますが、細かく説明したために少し記事が長くなっています。まあ、DirectX 使うという選択肢とかもあるんですが、簡単なゲームなら C# .NET のそ ...