播磨陰陽師の独り言・第415話「ゲームで扱う数字〈後〉」
16進数の他には2進数を扱います。
2進数は0と1で出来ています。他の数字はありません。
書き出すと、
0000 0 0100 4
0001 1 0101 5
0010 2 0110 6
0011 3 0111 7
……と、まぁ、こんな感じです。
配列には、ある種のパターンがあり、美しいと思います。
仕事で2進数を使うのは、主にカラーROMにデータを書く場合でした。カラーROMと言うのは、背景やキャラクターの色を設定するためのメモリのことです。
基本的にはRGB……つまり、赤・緑・青の三色を混ぜ合わせて色を作ります。カラーROMはただの部品なので、指定した色データを2進数のビットデータに変えて、それからビットの順番を入れ替えます。最後に2進数を16進数に変えたデータを入力するのです。
さて、16進数や2進数を知らなくてもアルゴリズムは組めますが、論理演算を理解していなければゲームそのものが作れません。
論理演算と言うのは、論理積(AND)、論理和(OR)、否定(NOT)、排他的論理和(XOR)などの組み合わせで行われる計算のことです。まぁ、プログラムに組み込む要素だと思ってください。
たとえば、論理積を使う時は、
——これと、これと、これのすべての条件が揃ったら……。
と言う意味になります。
また、論理和なら、
——これ、またはこれ、またはこれのどれかの条件が揃ったら……。
と言う意味になります。
否定だと、
——これではなく、またこれでもなく、これも条件が違っていたら……。
と言う意味になります。
排他的論理和では、
——これか、これか、これのいずれかの条件が揃っていたら……。
と言う意味になります。
これらの情報を組み合わせてアルゴリズムをコンピュータにプログラムします。
Googleでは、論理演算を理解していないと採用すらされないようですが……。
* * *
この記事が気に入ったらサポートをしてみませんか?