プログラミング指南 - Code Knowledge

ゲーム制作に関するプログラミング等を主に書き溜めていきます。ただ、どちらかと言えば日記的な書き方が続くと思いますが、そこは温かい目で見て頂ければ。あと、ちょっとしたサンプルやツールのダウンロードも出来るようにしておきます。

タグ:アルゴリズム

バッファに新しい行の文字列画像が出来たら、後はそれを画面にコピーするだけです。ただ、そのコピーの前に現在表示済みの画像も1ラインコピーして上げる処理が必要です。コピー元がバッファか画面上かの違いだけで、やってることは同じです。そのため、ここを如何に高速に処 ...

画面下部に新しい文字を表示するには、ダブルバッファに文字を描画していく事は、前回のプログラムの流れで説明しました。 今回は如何に処理の負担を分散しながら新しい行を作成していくかについて説明します。バッファをクリアする文字数が多いと、当然描画には時間がかかり ...

メッセージデータの形式が決まれば、次は実際の処理の流れです。スクロールは、1ドット単位で行われます。そのため、画面下部で文字を描いているのが見えるのは、あまりエレガントとは言えません。また、スクロール中は、その追加文字列の表示を壊すわけにもいかずで、意外と ...

映画やゲームなどで最後に制作者名や権利表示が出てくるのがエンドロールです。これは主に制作関係者に対する感謝の気持ちとして、その作品の末尾に名前を載せていたりします。何気なく見てると気が付きませんが、結構作るのに手間がかかります。また、これをレトロPCで実現 ...

某所で素数を列挙するプログラムを見かけて、自分も作ってみようという気になりました。また、ついでに C言語、C++、C# でも同じように作成して、そのコードの違いや実行速度の差を検証もしてみました。私の当初の予定では、圧倒的に C++ が高速だと思ってました。さて、その ...

データ圧縮する際に最初に考えるのは「まとめる」事と同じ表現をより小さい値に「置き換える」事です。一箇所指定したら、周辺にドドドッと配置してしまえば、それだけでかなり省メモリです。座標系が1024x512だと座標系はデータが大きいですが、前回のデータからのオフセッ ...

乗算に続いて今回は除算、そう割り算です。割り算はA÷Bだと、AからBを何回引けるかという計算なので、単純にA-Bを引けなくなるまで繰り返すと答えが出ます。これまた簡単です。この処理も乗算の時と同様に、最大で256回ループする可能性がある(1で割れば…ですが)ので、こ ...

乗算って、例えばA×Bってのは、AをB回足したのと同じだから、単純に掛ける数の回数で掛けられる数を加算すると、これで答えが出てしまうんです。簡単ですよね。 ただ、この処理系だと最大で256回ループしてしまうので、それを何とか減らしたいワケです。今回はこの乗算につ ...

自分から見て、相手が左右どちらにいるのかを判定したいことがよくあります。コンパイラ系であれば、内積を使えば一発なのですが、Z80 ではなかなかそういう訳にもいきません。そこで今回は、8方向に移動している自分から見て、相手が左右どちらにいるのかをどう判定すれば良 ...

今回は多くの人が間違った解釈をしていると思われる確率について、私の考えを述べたいと思います。これはあくまでも私の考えですので、正しいとも間違っているともどう思われても構いません。ただ、これをきっかけに何かを感じていただければ幸いです。 乱数の結果は予測不 ...

↑このページのトップヘ