見出し画像

播磨陰陽師の独り言・第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では、論理演算を理解していないと採用すらされないようですが……。

  *  *  *

この記事が気に入ったらサポートをしてみませんか?