[COLOR(1)]コマンド

Display画面の各部の色、およびグラフィック画面のパレットモードを指定します。
文法  COLOR [<ファンクションコード>][,<バックグラウンドカラー>]
    [,<ボーダーカラー>][,<フォアグラウンドカラー>][,<パレットモード>]
文例  COLOR 7, 0, 0, 7


COLOR(1)はテキスト画面の文字の色を変えたり、グラフィック画面のフォアグラウンド、
バックグラウン、ボーダーの各カラーを設定したり、グラフィック画面のパレットモードを指定
したりするのに使用します。

<ファンクションコード>
 テキスト画面の文字の色を指定します。これは "パレット番号" とは異なり、
[COLOR(2)] コマンドによるカラーパレットの変更により色は
変化しません。
コード内容は次のとうりです。
 0 黒    1 青    2 赤    3 紫
 4 緑    5 水色   6 黄    7 白
 
 
<バックグラウンドカラー>
 グラフィック画面の地の色を指定します。このパラメータは "パレット番号" に従います。
 [COLOR(2)]コマンド参照。
 CLS命令により、画面はこの設定色で塗り替えられます。
 
 
<ボーダーグラウンドカラー>
 画面の外枠の色を指定します。このパラメータは次のとうりです。
 0 黒    1 青    2 赤    3 紫
 4 緑    5 水色   6 黄    7 白
 
 
<フォアグラウンドカラー>
 グラフィック画面の点や線の色を指定します。このパラメータは "パレット番号" に従います。
 [COLOR(2)] コマンド参照。
 種々のグラフィック命令([PSET][LINE][CIRCLE] など)
で色指定をしなかった場合、このフォアグラウンドカラーを用います。


<パレットモード>
 グラフィック画面に対する色指定のモードを設定します。
 このパラメータは次のとうりです。
 0   8色中より8色モード 
     8個のパレットにSystemの決めた8色を対応させます。
 1   4096色中より8色モード 
     8個のパレットに4096色より任意の8色を選び対応させます。
 2   4096色中より16色モード 
     16個のパレットに4096色より任意の8色を選び対応させます。
     
[注意]
 各部分のデータが空白の場合、現在値のままとなります。
 COLOR ,5 の場合、バックグラウンドカラーだけを水色に変えます。
 このあとCLSを実行した時点で背景が水色で塗りつぶされます。
   
[注意] MBASIC86の起動直後(Default)のパレットモードは 0の 8色中より8色モードです。
次のファイルを開いても[COLOR(1)]コマンドで変えない限り、
パレットモードに変わりはありません。
 パレットとカラーコードの対応つけは[COLOR(2)] コマンドで行います。
ただし、<パレットモード>の指定直後の対応関係は次のように初期化されています。
 
 

パレットモード0:

8色中より8色モード

パレットモード1:

4096色中より8色モード

[パレット番号]

[カラーコード]

[パレット番号]

[カラーコード]

0

0(黒)

0

&H000(黒)

1

1(明るい青)

1

&H00F(明るい青)

2

2(明るい赤)

2

&H0F0(明るい赤)

3

3(明るい紫)

3

&H0FF(明るい紫)

4

4(明るい緑)

4

&HF00 (明るい緑)

5

5(明るい水色)

5

&HF0F(明るい水色)

6

6(明るい黄)

6

&HFF0(明るい黄)

7

7(白)

7

&HFFF(白)

 

 

 

 

パレットモード2:

4096色中より16色モード

 

 

[パレット番号]

[カラーコード]

[パレット番号]

[カラーコード]

0

&H000(黒)

8

&H777(灰色)

1

&H00F(明るい青)

9

&H00A(暗い青)

2

&H0F0(明るい赤)

10

&H0A0(暗い赤)

3

&H0FF(明るい紫)

11

&H0AA(暗い紫)

4

&HF00(明るい緑)

12

&HA00(暗い緑)

5

&HF0F(明るい水色)

13

&HA0A(暗い水色)

6

&HFF0(明るい黄)

14

&HAA0(暗い黄)

7

&HFFF(白)

15

&HAAA(暗い白)



     
[注意]このカラーコードは12ビットのGRB順のコードであり、
24ビットのWINDOWSのRGB順のコードとは異なっています。

サンプル
10 CLS
20 COLOR 7, 0, , 7, 0
30 PRINT "Color is white."
40 CIRCLE (100,100),100

この例では、文字は白色、円(中心(100,100)、半径100)も白色です。

サンプル
10 CLS
20 COLOR 6, 0, , 15, 2
30 PRINT "Color is bright_yellow."
40 CIRCLE (100,100),100
50 COLOR=(6,&HAA8)
60 CIRCLE (200,100),100,6
70 PRINT "Color is bright_yellow."

この例では、文字は明るい黄色、円(中心(100,100)、半径100)は4096色中16色ですが、
初期値のフォアカラー15で暗い白色です。
円(中心(200,100)、半径100)は4096色中 16色の変色した6番で、
暗い黄色に少し青が入っています。
テキスト(文字)の色の6番はパレットとは別で、Systemの指定した8色と決められています。
行番号30と70のPrint文はSystemの指定した8色中の6番です。