[ ホーム | 本の感想 | 好きな作家 | イラスト展示 | Perlは便利 | Javaプログラミング ]

3. グルグルの使用例(応用編)

テストモードを指定する

<APPLET CODE="Guruguru.class" WIDTH=180 HEIGHT=140>
<PARAM NAME=cellwidth  VALUE="40">
<PARAM NAME=cellheight  VALUE="20">
<PARAM NAME=cellxmax  VALUE="4">
<PARAM NAME=cellymax  VALUE="3">
<PARAM NAME=colormax VALUE="3">
<PARAM NAME=cellcolor1 VALUE="red">
<PARAM NAME=cellcolor2 VALUE="blue">
<PARAM NAME=cellcolor3 VALUE="yellow">
<PARAM NAME=darkstep  VALUE="30">
<PARAM NAME=brightstep  VALUE="10">
<PARAM NAME=testmode  VALUE="0">
</APPLET>

上のアプレットの左側は普通の表示、右側は同じ指定で testmode を 1 にした時の表示です。
testmode が 1 のときは、テストモードになりなす。テストモード時には、この表示以外に色データが出力されています。Internet Explorer なら [表示]-[Javaコンソール] を表示すると、出力された色データが確認できます。
この色表示は横一列が、ある瞬間の画面全体のセルの色を表しています。一番左側が、左上のセルに対応します。セルは一斉に一段下の色に変わります。順に色が変わって、一番下まできたら一番上に戻ります。
色データを下に示します。色データの方は、1行目だけが datamax の指定で、次からのひとかたまりがテストモードのアプレットの色表示の一番上の横一列に相当するデータです。次のかたまりが一段下の横一列、その次が…のように対応します。
datamax = [14][7] の 14 は画面全体のセルの数に相当し、これはセルの横と縦の数の合計の 2倍なので、パラメータでは cellxmax と cellymax の合計の 2倍になっています。7 は色の変化の数で、セルの横と縦の数の合計になっています。パラメータでは cellxmax と cellymax の合計です。
0 から 13 の 14個のセルに、0 から 6 の7色の色が設定されている事を表します。ですから、[0][0] = 255,30,30 は、セル 0番の 0番目の色を表します。255,30,30 は順に色の成分 RGB の値になっています。それぞれ 0 から 255 までの範囲の数値です。
datamax = [14][7]

[0][0] = 255,30,30
[0][1] = 255,20,20
[0][2] = 255,10,10
[0][3] = 255,0,0
[0][4] = 225,0,0
[0][5] = 195,0,0
[0][6] = 165,0,0


[1][0] = 0,0,165
[1][1] = 30,30,255
[1][2] = 20,20,255
[1][3] = 10,10,255
[1][4] = 0,0,255
[1][5] = 0,0,225
[1][6] = 0,0,195


[2][0] = 195,195,0
[2][1] = 165,165,0
[2][2] = 255,255,30
[2][3] = 255,255,20
[2][4] = 255,255,10
[2][5] = 255,255,0
[2][6] = 225,225,0


[3][0] = 225,0,0
[3][1] = 195,0,0
[3][2] = 165,0,0
[3][3] = 255,30,30
[3][4] = 255,20,20
[3][5] = 255,10,10
[3][6] = 255,0,0


[4][0] = 0,0,255
[4][1] = 0,0,225
[4][2] = 0,0,195
[4][3] = 0,0,165
[4][4] = 30,30,255
[4][5] = 20,20,255
[4][6] = 10,10,255


[5][0] = 255,255,10
[5][1] = 255,255,0
[5][2] = 225,225,0
[5][3] = 195,195,0
[5][4] = 165,165,0
[5][5] = 255,255,30
[5][6] = 255,255,20


[6][0] = 255,20,20
[6][1] = 255,10,10
[6][2] = 255,0,0
[6][3] = 225,0,0
[6][4] = 195,0,0
[6][5] = 165,0,0
[6][6] = 255,30,30


[7][0] = 255,30,30
[7][1] = 255,20,20
[7][2] = 255,10,10
[7][3] = 255,0,0
[7][4] = 225,0,0
[7][5] = 195,0,0
[7][6] = 165,0,0


[8][0] = 0,0,165
[8][1] = 30,30,255
[8][2] = 20,20,255
[8][3] = 10,10,255
[8][4] = 0,0,255
[8][5] = 0,0,225
[8][6] = 0,0,195


[9][0] = 195,195,0
[9][1] = 165,165,0
[9][2] = 255,255,30
[9][3] = 255,255,20
[9][4] = 255,255,10
[9][5] = 255,255,0
[9][6] = 225,225,0


[10][0] = 225,0,0
[10][1] = 195,0,0
[10][2] = 165,0,0
[10][3] = 255,30,30
[10][4] = 255,20,20
[10][5] = 255,10,10
[10][6] = 255,0,0


[11][0] = 0,0,255
[11][1] = 0,0,225
[11][2] = 0,0,195
[11][3] = 0,0,165
[11][4] = 30,30,255
[11][5] = 20,20,255
[11][6] = 10,10,255


[12][0] = 255,255,10
[12][1] = 255,255,0
[12][2] = 225,225,0
[12][3] = 195,195,0
[12][4] = 165,165,0
[12][5] = 255,255,30
[12][6] = 255,255,20


[13][0] = 255,20,20
[13][1] = 255,10,10
[13][2] = 255,0,0
[13][3] = 225,0,0
[13][4] = 195,0,0
[13][5] = 165,0,0
[13][6] = 255,30,30


色データを編集して読み込ませる

色データを読み込ませる事が出来ます。色データはテストモードで出力される色データをファイルにしたもので、テストモードのデータをファイルにして変更するか、同様なデータを自分で作るかします。パラメータでは 13の基本色しか指定できないので、その他の色を表示したいときや、色の変化で思うような色が出ないとき、特別な色の変化をさせたいときなどに使います。
色データを読み込ませるには、パラメータ colorfile を使います。colorfile に色データのファイル名を指定します。色データの読み込みをさせた場合、パラメータに色や色の変化の度合いの指定があっても無視されます。逆に、セルの数(cellxmax, cellymax)と色データ中のデータの数は関連があるので、矛盾しないように指定します。下にデータファイル名を colorfile.dat としたときの例を挙げておきます。例では赤のパラメータは無視されます。
<APPLET CODE="Guruguru.class" WIDTH=180 HEIGHT=140>
<PARAM NAME=cellwidth  VALUE="40">
<PARAM NAME=cellheight  VALUE="20">
<PARAM NAME=cellxmax  VALUE="4">
<PARAM NAME=cellymax  VALUE="3">
<PARAM NAME=colormax VALUE="3">
<PARAM NAME=cellcolor1 VALUE="red">
<PARAM NAME=cellcolor2 VALUE="blue">
<PARAM NAME=cellcolor3 VALUE="yellow">
<PARAM NAME=darkstep  VALUE="30">
<PARAM NAME=brightstep  VALUE="10">
<PARAM NAME=colorfile  VALUE="colorfile.dat">
<PARAM NAME=testmode  VALUE="0">
</APPLET>


colorfile.dat の内容

datamax = [14][7]

[0][0] = 255,30,30
[0][1] = 255,20,20
[0][2] = 255,10,10
[0][3] = 255,0,0
[0][4] = 225,0,0
[0][5] = 195,0,0
[0][6] = 165,0,0


[1][0] = 0,0,165
[1][1] = 30,30,255
[1][2] = 20,20,255
[1][3] = 10,10,255
[1][4] = 0,0,255
[1][5] = 0,0,225
[1][6] = 0,0,195


[2][0] = 195,195,0
[2][1] = 165,165,0
[2][2] = 255,255,30
[2][3] = 255,255,20
[2][4] = 255,255,10
[2][5] = 255,255,0
[2][6] = 225,225,0


[3][0] = 225,0,0
[3][1] = 195,0,0
[3][2] = 165,0,0
[3][3] = 255,30,30
[3][4] = 255,20,20
[3][5] = 255,10,10
[3][6] = 255,0,0


[4][0] = 0,0,255
[4][1] = 0,0,225
[4][2] = 0,0,195
[4][3] = 0,0,165
[4][4] = 30,30,255
[4][5] = 20,20,255
[4][6] = 10,10,255


[5][0] = 255,255,10
[5][1] = 255,255,0
[5][2] = 225,225,0
[5][3] = 195,195,0
[5][4] = 165,165,0
[5][5] = 255,255,30
[5][6] = 255,255,20


[6][0] = 255,20,20
[6][1] = 255,10,10
[6][2] = 255,0,0
[6][3] = 225,0,0
[6][4] = 195,0,0
[6][5] = 165,0,0
[6][6] = 255,30,30


[7][0] = 30,30,255  
[7][1] = 20,20,255  
[7][2] = 10,10,255  
[7][3] = 0,0,255    
[7][4] = 0,0,225    
[7][5] = 0,0,195    
[7][6] = 0,0,165    

 
[8][0] = 165,165,0
[8][1] = 255,255,30
[8][2] = 255,255,20
[8][3] = 255,255,10
[8][4] = 255,255,0
[8][5] = 225,225,0
[8][6] = 195,195,0
  
  
[9][0] = 195,0,0
[9][1] = 165,0,0
[9][2] = 255,30,30
[9][3] = 255,20,20
[9][4] = 255,10,10
[9][5] = 255,0,0
[9][6] = 225,0,0


[10][0] = 0,0,225
[10][1] = 0,0,195
[10][2] = 0,0,165
[10][3] = 30,30,255
[10][4] = 20,20,255
[10][5] = 10,10,255
[10][6] = 0,0,255


[11][0] = 255,255,0
[11][1] = 225,225,0
[11][2] = 195,195,0
[11][3] = 165,165,0
[11][4] = 255,255,30
[11][5] = 255,255,20
[11][6] = 255,255,10


[12][0] = 255,10,10
[12][1] = 255,0,0
[12][2] = 225,0,0
[12][3] = 195,0,0
[12][4] = 165,0,0
[12][5] = 255,30,30
[12][6] = 255,20,20
 

[13][0] = 20,20,255
[13][1] = 10,10,255
[13][2] = 0,0,255
[13][3] = 0,0,225
[13][4] = 0,0,195
[13][5] = 0,0,165
[13][6] = 30,30,255


上記の例はこのページの一番上のアプレットの画面右下の色ずれを直すために、データの[7][0] から [13][6] までを変更しています。変更前のデータと比較できるように並べて示します。変更点は赤いデータです。
testmode="1"にして        [7][0]から[13][6]を変更して
採取したデータ            colorfile で指定

datamax = [14][7]         datamax = [14][7]  
                                             
[0][0] = 255,30,30        [0][0] = 255,30,30 
[0][1] = 255,20,20        [0][1] = 255,20,20 
[0][2] = 255,10,10        [0][2] = 255,10,10 
[0][3] = 255,0,0          [0][3] = 255,0,0   
[0][4] = 225,0,0          [0][4] = 225,0,0   
[0][5] = 195,0,0          [0][5] = 195,0,0   
[0][6] = 165,0,0          [0][6] = 165,0,0   
                                             
                                             
[1][0] = 0,0,165          [1][0] = 0,0,165   
[1][1] = 30,30,255        [1][1] = 30,30,255 
[1][2] = 20,20,255        [1][2] = 20,20,255 
[1][3] = 10,10,255        [1][3] = 10,10,255 
[1][4] = 0,0,255          [1][4] = 0,0,255   
[1][5] = 0,0,225          [1][5] = 0,0,225   
[1][6] = 0,0,195          [1][6] = 0,0,195   
                                             
                                             
[2][0] = 195,195,0        [2][0] = 195,195,0 
[2][1] = 165,165,0        [2][1] = 165,165,0 
[2][2] = 255,255,30       [2][2] = 255,255,30
[2][3] = 255,255,20       [2][3] = 255,255,20
[2][4] = 255,255,10       [2][4] = 255,255,10
[2][5] = 255,255,0        [2][5] = 255,255,0 
[2][6] = 225,225,0        [2][6] = 225,225,0 
                                             
                                             
[3][0] = 225,0,0          [3][0] = 225,0,0   
[3][1] = 195,0,0          [3][1] = 195,0,0   
[3][2] = 165,0,0          [3][2] = 165,0,0   
[3][3] = 255,30,30        [3][3] = 255,30,30 
[3][4] = 255,20,20        [3][4] = 255,20,20 
[3][5] = 255,10,10        [3][5] = 255,10,10 
[3][6] = 255,0,0          [3][6] = 255,0,0   
                                             
                                             
[4][0] = 0,0,255          [4][0] = 0,0,255   
[4][1] = 0,0,225          [4][1] = 0,0,225   
[4][2] = 0,0,195          [4][2] = 0,0,195   
[4][3] = 0,0,165          [4][3] = 0,0,165   
[4][4] = 30,30,255        [4][4] = 30,30,255 
[4][5] = 20,20,255        [4][5] = 20,20,255 
[4][6] = 10,10,255        [4][6] = 10,10,255 
                                             
                                             
[5][0] = 255,255,10       [5][0] = 255,255,10
[5][1] = 255,255,0        [5][1] = 255,255,0 
[5][2] = 225,225,0        [5][2] = 225,225,0 
[5][3] = 195,195,0        [5][3] = 195,195,0 
[5][4] = 165,165,0        [5][4] = 165,165,0 
[5][5] = 255,255,30       [5][5] = 255,255,30
[5][6] = 255,255,20       [5][6] = 255,255,20
                                             
                                             
[6][0] = 255,20,20        [6][0] = 255,20,20 
[6][1] = 255,10,10        [6][1] = 255,10,10 
[6][2] = 255,0,0          [6][2] = 255,0,0   
[6][3] = 225,0,0          [6][3] = 225,0,0   
[6][4] = 195,0,0          [6][4] = 195,0,0   
[6][5] = 165,0,0          [6][5] = 165,0,0   
[6][6] = 255,30,30        [6][6] = 255,30,30 
                                             
                                             
[7][0] = 255,30,30        [7][0] = 30,30,255 
[7][1] = 255,20,20        [7][1] = 20,20,255 
[7][2] = 255,10,10        [7][2] = 10,10,255 
[7][3] = 255,0,0          [7][3] = 0,0,255   
[7][4] = 225,0,0          [7][4] = 0,0,225   
[7][5] = 195,0,0          [7][5] = 0,0,195   
[7][6] = 165,0,0          [7][6] = 0,0,165   
                                             
                                             
[8][0] = 0,0,165          [8][0] = 165,165,0 
[8][1] = 30,30,255        [8][1] = 255,255,30
[8][2] = 20,20,255        [8][2] = 255,255,20
[8][3] = 10,10,255        [8][3] = 255,255,10
[8][4] = 0,0,255          [8][4] = 255,255,0 
[8][5] = 0,0,225          [8][5] = 225,225,0 
[8][6] = 0,0,195          [8][6] = 195,195,0 
                                             
                                             
[9][0] = 195,195,0        [9][0] = 195,0,0   
[9][1] = 165,165,0        [9][1] = 165,0,0   
[9][2] = 255,255,30       [9][2] = 255,30,30 
[9][3] = 255,255,20       [9][3] = 255,20,20 
[9][4] = 255,255,10       [9][4] = 255,10,10 
[9][5] = 255,255,0        [9][5] = 255,0,0   
[9][6] = 225,225,0        [9][6] = 225,0,0   
                                             
                                             
[10][0] = 225,0,0         [10][0] = 0,0,225  
[10][1] = 195,0,0         [10][1] = 0,0,195  
[10][2] = 165,0,0         [10][2] = 0,0,165  
[10][3] = 255,30,30       [10][3] = 30,30,255
[10][4] = 255,20,20       [10][4] = 20,20,255
[10][5] = 255,10,10       [10][5] = 10,10,255
[10][6] = 255,0,0         [10][6] = 0,0,255  
                                             
                                             
[11][0] = 0,0,255         [11][0] = 255,255,0
[11][1] = 0,0,225         [11][1] = 225,225,0
[11][2] = 0,0,195         [11][2] = 195,195,0
[11][3] = 0,0,165         [11][3] = 165,165,0
[11][4] = 30,30,255       [11][4] = 255,255,3
[11][5] = 20,20,255       [11][5] = 255,255,2
[11][6] = 10,10,255       [11][6] = 255,255,1
                                             
                                             
[12][0] = 255,255,10      [12][0] = 255,10,10
[12][1] = 255,255,0       [12][1] = 255,0,0  
[12][2] = 225,225,0       [12][2] = 225,0,0  
[12][3] = 195,195,0       [12][3] = 195,0,0  
[12][4] = 165,165,0       [12][4] = 165,0,0  
[12][5] = 255,255,30      [12][5] = 255,30,30
[12][6] = 255,255,20      [12][6] = 255,20,20
                                             
                                             
[13][0] = 255,20,20       [13][0] = 20,20,255
[13][1] = 255,10,10       [13][1] = 10,10,255
[13][2] = 255,0,0         [13][2] = 0,0,255  
[13][3] = 225,0,0         [13][3] = 0,0,225  
[13][4] = 195,0,0         [13][4] = 0,0,195  
[13][5] = 165,0,0         [13][5] = 0,0,165  
[13][6] = 255,30,30       [13][6] = 30,30,255

変更前のアプレットと変更後のアプレットを示します。従来コピーされていた部分のデータを変更して読ませる事で、赤いセルの連続がなくなりました。

変更前のアプレット


色を変更して読み込ませたアプレット



[ ホーム | 本の感想 | 好きな作家 | イラスト展示 | Perlは便利 | Javaプログラミング ]
間違いなどお気付きの事がありましたら hirose97@cg.netlaputa.ne.jp までメールを下さい。
ご感想もお待ちしています。なお、リンクは自由ですが出来ればお知らせ下さい。