ペインティングプロセッサのプログラミング:正方形グリッドにXを描く方法
概要
エシックとヘッジは、第2のアーティファクトの位置がボットの駐屯地に守られた塔にあることがわかっている198の森に到着しました。オクタヴィアは、聖域の住民が作成した絵画を損壊して、塔を守るボットたちを気を引くことを提案します。課題は、ヘッジにプログラムして、彼のペインティングプロセッサが90度のターンをしながら正方形ごとに移動することしかできないため、各ポートレートにXを描くことです。この記事では、このタスクに使用できる2つの可能な方法を検討し、どのパターンでも簡単に適応できる解決策を提供しています。
目次
- 正方形グリッドにXを描く課題
- 方法1:タイプライター方式
- 方法2:スパイラル方式
- どちらの方法が優れているか
- 結論
正方形グリッドにXを描く課題
ヘッジのペインティングプロセッサは、90度のターンをしながら正方形ごとに移動することしかできません。各ポートレートにXを描くには、特定の指示セットが必要です。可能な解決策の1つは、グリッドを同心の正方形に分割し、各正方形を描くパターンを見つけることです。
方法1:タイプライター方式
タイプライター方式では、ヘッジにタイプライターのように、各行を描くように指示します。ペインティングが9ピクセル×9ピクセルの正方形の場合、ヘッジは描画して、ピクセルをスキップして描画します。2行目では、最初のピクセルをスキップして描画し、ピクセルをスキップして描画し、以降続けます。このパターンは、各行について続けられ、最初にスキップされるピクセルの数が1つずつ増え、中央でスキップされるピクセルが1つずつ減ります。ヘッジが中心に到達すると、1つの描かれたピクセルがある行に遭遇します。その後、プロセス全体が反転し、左側でスキップされるピクセルの数が1つずつ減り、中央で2つ増えます。
方法2:スパイラル方式
スパイラル方式では、グリッドを同心の正方形に分割し、各正方形を1つずつ描画します。最初に、ヘッジは角から始めてピクセルを描画します。次に、n-1のスペースを前進し、別のピクセルを描画し、右に曲がります。これを繰り返して、最も外側の正方形のすべてのピクセルを描画します。次に、ヘッジは1つのピクセルを内側に移動し、右に曲がって、プロセスを再開します。このパターンは、ヘッジが中心に到達するまで続き、各正方形の長さと幅が前の正方形よりn-2ピクセル小さくなります。
どちらの方法が優れているか
タイプライター方式は、より多くのロジックが必要で、逆にすることがより困難かもしれませんが、どのパターンでも簡単に適応できるより一般的な解決策です。一方、スパイラル方式は実装がより簡単で、同じロジックを最初から最後まで再利用できます。最終的に、どちらの方法を使用するかは、個人の好みや特定のユースケースに依存します。
結論
各ポートレートにXを描くために、ヘッジをプログラムするには、正方形グリッドを同心の正方形に分割し、各正方形を描くパターンを見つける必要がありました。タイプライター方式では、各行を描画します。スパイラル方式では、各正方形を1つずつ描画します。どちらの方法も、どのパターンでも簡単に適応できます。どちらを使用するかの選択は、個人の好みによるものです。