• 検索結果がありません。

結章‐ 本研究のまとめと今後の展望 ‐  56

ドキュメント内 目 次 (ページ 57-113)

画像提示装置を検討していく.また,音での輪郭提示のメリット,限界を見定 めた上で,言語など他の聴覚要素での提示方法も検討していく.

これまでの研究により,「視覚の空間分解能」を「聴覚の時間分解能」に変換 することで,図形を認識できることを明らかにした.

これにより,触覚提示ではなしえない「聴覚ならではの図形提示」への道を 開いた.たとえば,以下のようなユースケースが考えられる.

公共施設などでの,他人数への非難誘導表示

視覚特別支援学校などでの黒板的利用

今後は,本方式を,様々な図形やグラフの表示に活用できるように,提示ス ピード,刺激音などのパラメタを検討していく.また

,16

16

列のスピーカ・

マトリクスを試作し,より詳細な角度,曲線の提示をした場合,その情報量を どの程度認識できるか検討していく.

さらに

,

空間音響の知見を生かし

,

立体図形の表現にも挑戦していく

.

また

,

色やコントラストを音で伝えることを目標に,色やコントラストを音にマッピ ングする検討をしていく.

6 章 業績一覧

査読ありフルペーパー 鈴木淳也,守井清吾,篠原寛明, 広林茂樹, 移動す る音源によるアルファベット形状の提示, 映像情報メディア学会誌, 論文特集 ヒューマンインフォメーション〜情報メディアに対する人間特性の理解と応用

〜, Vol. 67, No. 12 (2013年12月号) p. J441-J447

国際学会プレシーディング(査読あり)

Junya Suzuki, Takahiro Miura, Mayumi Tsuchiya, Hiroaki Shinohara and Tohru Ifukube, Presentation tech-nique of 2-D diagram utilizing touch-sensitive visual display and loudspeaker matrix: aurally presentation of the corresponding line direction to contact position, SICE SII2010, 2010.12, Sendai, Japan.

国内学会プレシーディング(査読なし)

1.

鈴木淳也,三浦貴大,土屋繭美,上田一貴,伊福部達, 二次元パタンを提示 するためのスピーカマトリクスの設計

,

10

回計測自動制御学会システ ムインテグレーション部門講演会論文集,2009.12,芝浦工業大学豊洲キャ ンパス.(優秀講演賞)

2.

鈴木淳也

,

三浦貴大

,

土屋繭美

,

篠原寛明

,

伊福部達

,

多音源定位による図 形認識-探索部分の拡大提示法-第

11

回計測自動制御学会システムインテ グレーション部門講演会論文集,2010.12, 東北大学川内キャンパス.

その他業績

R. Nakada, Y. Hasegawa, S. Hirobayashi, T. Yoshizawa, T. Mis-awa, J. Suzuki , Wide-Area Sound-Control System for Reducing Reverberation Using Power Envelope Inverse Filtering, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, vol. E96-A, no.7, pp.1509-1517, 2013

受賞

[優秀講演賞]

鈴木淳也,三浦貴大,土屋繭美,上田一貴,伊福部達, 二次元

パタンを提示するためのスピーカマトリクスの設計

,

10

回計測自動制御学会 システムインテグレーション部門講演会論文集,2009.12,芝浦工業大学豊洲キャ ンパス.

7 章 謝辞

本研究は,2008年から5年にわたり積み重ねてきました.研究を進めてい く上で、多くの先生方のご指導をいただきました。また、伊福部研究室(東京 大学)、廣林研究室(富山大学)の皆様とたくさんの議論を深めることができ ました。その他にも、さまざまな分野の方々にたくさんのご協力をいただきま した。ここに、深く感謝の気持ちを記したいと思います。

以下に、本博士論文を執筆する上で、特に、深くご指導、ご協力いただいた 方のお名前を記載し、感謝の意を示します。

本研究の所期の段階(2008年)から、東京大学・先端化学技術センターの伊 福部達先生に,「感覚代行」の考え方をご指導いただき,「図形(視覚情報)」を

「音の動き(聴覚情報)」に変換する研究に着手することができました。また、

同研究室の三浦貴大氏,土屋繭美氏,上田一貴氏には,実験の立案,図の作成 をはじめ、研究のさまざまな側面でご協力いただきました.同研究室の藪謙一 郎氏には,特に、ロジック回路についてご指導,ご協力をいただき,スピーカ 切り替え装置を実現し,制御可能なスピーカの数を格段に増やすことができる ようになりました。

富山大学の津田正明先生には,博士取得への道を開いていただき、多くの励 ましをいただきました。また、篠原寛明先生には、研究のフレームワークの立 案方法についてご指導いただき、揺るぎのない研究を進めることができまし た。広林茂樹先生に,実験方法,分析方法、また論文執筆にいたるまで、ご指 導いただきました.特に、「研究の訴求方法」についてご示唆をいただき、論 文執筆のポイントを学ばせていただきました。また、西条寿夫先生には,解剖 学的視点で多くのご助言をいただきました。また、安藤彰男先生には、空間音 響のご専門のお立場から、詳細なご指導をいただきました。特に、用語の適切 な解釈方法を学ばせていただきました。また、守井清吾氏とは、「視覚障碍者 に図形情報を提示する」という同じ研究目的の元、深い議論をし、切磋琢磨し てくることができました。また

,

小澤 恭平君

,

高木 裕久君に

,

論文の図の作 成をご協力いただきました。

なお,本研究の一部は,JST A-STEP(探索タイプ

AS242Z00714K)

の助成に よる成果である.

上記のとおり、ほんとうに多くの皆様のおかげで研究を進めることができ、

この博士論文をまとめることができました。皆様に深く感謝するとともに、研

2014

年3月 鈴木淳也

付録 A  スピーカ切り替え装置の原理および回路図

3

章の実験用に試作したスピーカ切り替え装置の回路図を記す.

Fig. 1:

基板の外形図

SP SP

G3VM-62C1

VCC 390Ω

R 390Ω

R VCC

SP SP

G3VM-62C1

VCC 390Ω

R 390Ω

R VCC

SP SP

G3VM-62C1

VCC 390Ω

R 390Ω

R VCC

SP SP

G3VM-62C1

VCC 390Ω

R 390Ω

R VCC

SP SP

G3VM-62C1

VCC 390Ω

R 390Ω

R VCC

SP SP

G3VM-62C1

VCC 390Ω

R 390Ω

R VCC

SP SP

G3VM-62C1

VCC 390Ω

R 390Ω

R VCC

SP SP

G3VM-62C1

VCC 390Ω

R VCC 390Ω

R A1 B2 C3 G2A4 G2B5 G16

Y015 Y114 Y213 Y312 Y411 Y510 Y69 Y77

74138 U

A1 B2 C3 G2A4 G2B5 G16 Y015 Y114 Y213 Y312 Y411 Y510 Y69 Y77

74138 U VCC

GND

Fig. 2:

スピーカ切り替え回路

Fig. 3:

基板の回路図

A1 B2 C3 G2A4 G2B5 G16

Y015 Y114 Y213 Y312 Y411 Y510 Y69 Y77

74138 U VCC

A1 B2 C3 G2A4 G2B5 G16

Y015 Y114 Y213 Y312 Y411 Y510 Y69 Y77

74138 U

GND

GND

Fig. 4:

4ビットで振り分ける部分

付録 B  第 3 章の実験用プログラム・ソース

リスト

1: sample source

1 u s i n g S y s t e m ;

2 u s i n g S y s t e m . C o l l e c t i o n s . G e n e r i c ;

3 u s i n g S y s t e m . C o m p o n e n t M o d e l ;

4 u s i n g S y s t e m . D a t a ;

5 u s i n g S y s t e m . D r a w i n g ;

6 u s i n g S y s t e m . L i n q ;

7 u s i n g S y s t e m . T e x t ;

8 u s i n g S y s t e m . W i n d o w s . F o r m s ;

9 u s i n g S y s t e m . R u n t i m e . I n t e r o p S e r v i c e s ;

10 u s i n g S y s t e m . S p e e c h ;

11 u s i n g S y s t e m . S p e e c h . S y n t h e s i s ;

12 u s i n g M i c r o s o f t . D i r e c t X ;

13 u s i n g M i c r o s o f t . D i r e c t X . D i r e c t S o u n d ;

14

15 n a m e s p a c e s o u n d _ b l a c k b o a r d

16 {

17 p u b l i c p a r t i a l c l a s s F o r m 1 : F o r m

18 {

19 p r i v a t e P a s 5 0 0 w P a s w ;

20 s h o r t w L o g S l o t ; // デ バ イ ス の 論 理 ス ロ ッ ト 番 号 を 格 納

21 b y t e c b D a t ;

22 s t r i n g s z B u f ;

23 S p e e c h S y n t h e s i z e r syn = new S p e e c h S y n t h e s i z e r ();

24 int i n t e r v a l _ v a l = 5 0 ;

25 int m u t e _ d u r =1;

26 int [] a r r a y 1 = n u l l ;

27 int [] a r r a y 2 = n u l l ;

28 int [] a r r a y 3 = n u l l ;

29 int [] a r r a y 4 = n u l l ;

30 int [] a r r a y 5 = n u l l ;

31 int [] a r r a y 6 = n u l l ;

32 int [] a r r a y 7 = n u l l ;

33 int [] a r r a y 8 = n u l l ;

34 int [] a r r a y 9 = n u l l ;

35 int [] a r r a y 1 0 = n u l l ;

36 int [] a r r a y = n u l l ;

37 int [] r e s t = n u l l ;

38 int _ s p 6 4 = 6 4 ;

39 int pen =0;

40 b y t e m u t e = 2 5 4 ; // 無 音 用 ビ ッ ト c o n s t

41

42 p r i v a t e D e v i c e _ d e v i c e = n u l l ;

43 p r i v a t e S e c o n d a r y B u f f e r _ b u f f e r = n u l l ;

44 p r i v a t e G u i d [] id = new G u i d [ 2 0 ] ;

45 46 47

48 p r i v a t e v o i d u s e _ c o u n t ( int [] array , int [] u n u s e )

49 {

50 for ( int k =0; k < a r r a y . L e n g t h ; k ++)

51 {

52 for ( int l =1; l < = 6 4 ; l ++)

53 {

54 if ( a r r a y [ k ]== l )

55 {

56 u n u s e [ l - 1 ] + + ;

57 }

58 }

59 }

60 }

66

67 p r i v a t e v o i d F o r m 1 _ L o a d ( o b j e c t sender , E v e n t A r g s e )

68 {

69 // - - - PA - S 5 0 0接 続

-70 P a s 5 0 0 w . R e s o u r c e Ri ; // リ ソ ー ス 情 報

71 int d w S w V a l = 0; // ロ ー タ リ ー ス イ ッ チ の 値

72 int d w D i r e c t i o n s = 0; // デ ィ レ ク シ ョ ン

73 b o o l b R e s u l t ; // 処 理 結 果

74 int i ;

75

76 // 生 成

77 P a s w = new P a s 5 0 0 w ();

78 Ri = new P a s 5 0 0 w . R e s o u r c e ();

79 Ri . d w M e m B a s e = new int [ P a s 5 0 0 w . M A X _ M E M ];

80 Ri . d w M e m L e n g t h = new int [ P a s 5 0 0 w . M A X _ M E M ];

81 Ri . d w M e m A t t r i b = new int [ P a s 5 0 0 w . M A X _ M E M ];

82 Ri . d w I O P o r t B a s e = new int [ P a s 5 0 0 w . M A X _ I O ];

83 Ri . d w I O P o r t L e n g t h = new int [ P a s 5 0 0 w . M A X _ I O ];

84 Ri . d w I R Q R e g i s t e r s = new int [ P a s 5 0 0 w . M A X _ I R Q ];

85 Ri . d w I R Q A t t r i b = new int [ P a s 5 0 0 w . M A X _ I R Q ];

86 Ri . d w D M A L s t = new int [ P a s 5 0 0 w . M A X _ D M A ];

87 Ri . d w D M A A t t r i b = new int [ P a s 5 0 0 w . M A X _ D M A ];

88 Ri . d w R e s e r v e d 1 = new int [ P a s 5 0 0 w . M A X _ R S V ];

89

90 // 初 期 化

91 Ri . d w N u m M e m W i n d o w s = 0;

92 for ( i = 0; i < P a s 5 0 0 w . M A X _ M E M ; i ++)

93 {

94 Ri . d w M e m B a s e [ i ] = 0;

95 Ri . d w M e m L e n g t h [ i ] = 0;

96 Ri . d w M e m A t t r i b [ i ] = 0;

97 }

98 Ri . d w N u m I O P o r t s = 0;

99 for ( i = 0; i < P a s 5 0 0 w . M A X _ I O ; i ++)

100 {

101 Ri . d w I O P o r t B a s e [ i ] = 0;

102 Ri . d w I O P o r t L e n g t h [ i ] = 0;

103 }

104 Ri . d w N u m I R Q s = 0;

105 for ( i = 0; i < P a s 5 0 0 w . M A X _ I R Q ; i ++)

106 {

107 Ri . d w I R Q R e g i s t e r s [ i ] = 0;

108 Ri . d w I R Q A t t r i b [ i ] = 0;

109 }

110 Ri . d w N u m D M A s = 0;

111 for ( i = 0; i < P a s 5 0 0 w . M A X _ D M A ; i ++)

112 {

113 Ri . d w D M A L s t [ i ] = 0;

114 Ri . d w D M A A t t r i b [ i ] = 0;

115 }

116 for ( i = 0; i < P a s 5 0 0 w . M A X _ R S V ; i ++)

117 {

118 Ri . d w R e s e r v e d 1 [ i ] = 0;

119 }

120

121 //

-122 // PA - S 5 0 0の 使 用 を 宣 言

123 //

-124 w L o g S l o t = P a s 5 0 0 w . S L O T _ A U T O ; // 未 使 用 の デ バ イ ス を 探 し

ま す 。

125 b R e s u l t = P a s w . C r e a t e ( ref w L o g S l o t ); // 成 功 し た 場 合 、 そ の 時 の

デ バ イ ス の 論 理 ス ロ ッ ト 番 号 が 格 納 さ れ ま す 。

126 if ( b R e s u l t == f a l s e ) // デ バ イ ス が 見 つ か り ま せ

ん 。

127 {

128 E r r o r M e s s a g e ( P a s 5 0 0 w . S L O T _ A U T O );

129 // t h i s . C l o s e ( ) ;

130 r e t u r n ;

131 }

132 s z B u f = s t r i n g . C o n c a t ( " PA - S 5 0 0 C r e a t e d " , E n v i r o n m e n t . NewLine , E n v i r o n m e n t . NewLine , s t r i n g . F o r m a t ( " L o g S l o t : {0} " , w L o g S l o t ));

133 R e s u l t M e s s a g e ( s z B u f );

134 //

-135 // リ ソ ー ス 情 報 と ロ ー タ リ ー ス イ ッ チ の 値 を 取 得

136 //

-137 I n t P t r pri = M a r s h a l . A l l o c H G l o b a l ( M a r s h a l . S i z e O f ( Ri )); // ア ン マ ネ ー ジ メ モ リ 確 保

138 M a r s h a l . S t r u c t u r e T o P t r ( Ri , pri , f a l s e ); // マ ー シ

ャ リ ン グ(マ ネ ー ジ メ モ リ- >ア ン マ ネ ー ジ メ モ リ)

139 b R e s u l t = P a s w . G e t R e s o u r c e ( w L o g S l o t , pri );

140 Ri = ( P a s 5 0 0 w . R e s o u r c e )( M a r s h a l . P t r T o S t r u c t u r e ( pri , t y p e o f ( P a s 5 0 0 w . R e s o u r c e ) ) ) ; // マ ー シ ャ リ ン グ(ア ン マ ネ ー ジ メ モ リ- >マ ネ ー ジ メ モ リ)

141 M a r s h a l . F r e e H G l o b a l ( pri ); // メ モ リ

を 解 放

142 if ( b R e s u l t == f a l s e )

143 {

144 E r r o r M e s s a g e ( w L o g S l o t );

145 // t h i s . C l o s e ( ) ;

146 r e t u r n ;

147 }

148

149 if ( P a s w . G e t S w i t c h V a l u e ( w L o g S l o t , ref d w S w V a l ) == f a l s e )

150 {

151 E r r o r M e s s a g e ( w L o g S l o t );

152 // t h i s . C l o s e ( ) ;

153 r e t u r n ;

154 }

155 s z B u f = s t r i n g . C o n c a t ( " B o a r d N a m e : PA - S 5 0 0 " , E n v i r o n m e n t . NewLine , s t r i n g . F o r m a t ( " IO A d d r e s s : {0: x4 } h - {1: x4 } h " , Ri .

d w I O P o r t B a s e [0] , Ri . d w I O P o r t B a s e [0] + Ri . d w I O P o r t L e n g t h [0] -1) , E n v i r o n m e n t . NewLine , s t r i n g . F o r m a t ( " S w i t c h : {0: x } h

" , d w S w V a l ));

156 R e s u l t M e s s a g e ( s z B u f );

157 //

-158 // す べ て のP o r tの デ ィ レ ク シ ョ ン を 出 力 に 設 定 す る

159 //

-160 if ( P a s w . G e t D i r e c t i o n s ( w L o g S l o t , ref d w D i r e c t i o n s ) == f a l s e )

161 {

162 E r r o r M e s s a g e ( w L o g S l o t );

163 // t h i s . C l o s e ( ) ;

164 r e t u r n ;

165 }

166 d w D i r e c t i o n s = ~ P a s 5 0 0 w . D I R _ A _ I N P U T & d w D i r e c t i o n s ; // A P o r t ビ ッ ト を 出 力 に 変 更 し ま す 。

167 if ( P a s w . S e t D i r e c t i o n s ( w L o g S l o t , d w D i r e c t i o n s ) == f a l s e )

168 {

169 E r r o r M e s s a g e ( w L o g S l o t );

170 // t h i s . C l o s e ( ) ;

171 r e t u r n ;

172 }

173 R e s u l t M e s s a g e ( " P o r t A の デ ィ レ ク シ ョ ン を 出 力 に 変 更" );

174

175 if ( P a s w . G e t D i r e c t i o n s ( w L o g S l o t , ref d w D i r e c t i o n s ) == f a l s e )

176 {

177 E r r o r M e s s a g e ( w L o g S l o t );

178 // t h i s . C l o s e ( ) ;

179 r e t u r n ;

180 }

181 d w D i r e c t i o n s = ~ P a s 5 0 0 w . D I R _ B _ I N P U T & d w D i r e c t i o n s ; // B P o r t ビ ッ ト を 出 力 に 変 更 し ま す 。

182 if ( P a s w . S e t D i r e c t i o n s ( w L o g S l o t , d w D i r e c t i o n s ) == f a l s e )

183 {

184 E r r o r M e s s a g e ( w L o g S l o t );

185 // t h i s . C l o s e ( ) ;

186 r e t u r n ;

193 // t h i s . C l o s e ( ) ;

194 r e t u r n ;

195 }

196 d w D i r e c t i o n s = ~ P a s 5 0 0 w . D I R _ C _ I N P U T & d w D i r e c t i o n s ; // C P o r t ビ ッ ト を 出 力 に 変 更 し ま す 。

197 if ( P a s w . S e t D i r e c t i o n s ( w L o g S l o t , d w D i r e c t i o n s ) == f a l s e )

198 {

199 E r r o r M e s s a g e ( w L o g S l o t );

200 // t h i s . C l o s e ( ) ;

201 r e t u r n ;

202 }

203 R e s u l t M e s s a g e ( " P o r t C の デ ィ レ ク シ ョ ン を 出 力 に 変 更" );

204

205 if ( P a s w . G e t D i r e c t i o n s ( w L o g S l o t , ref d w D i r e c t i o n s ) == f a l s e )

206 {

207 E r r o r M e s s a g e ( w L o g S l o t );

208 // t h i s . C l o s e ( ) ;

209 r e t u r n ;

210 }

211 d w D i r e c t i o n s = ~ P a s 5 0 0 w . D I R _ D _ I N P U T & d w D i r e c t i o n s ; // D P o r t ビ ッ ト を 出 力 に 変 更 し ま す 。

212 if ( P a s w . S e t D i r e c t i o n s ( w L o g S l o t , d w D i r e c t i o n s ) == f a l s e )

213 {

214 E r r o r M e s s a g e ( w L o g S l o t );

215 // t h i s . C l o s e ( ) ;

216 r e t u r n ;

217 }

218 R e s u l t M e s s a g e ( " P o r t D の デ ィ レ ク シ ョ ン を 出 力 に 変 更" );

219

220 if ( P a s w . G e t D i r e c t i o n s ( w L o g S l o t , ref d w D i r e c t i o n s ) == f a l s e )

221 {

222 E r r o r M e s s a g e ( w L o g S l o t );

223 // t h i s . C l o s e ( ) ;

224 r e t u r n ;

225 }

226 d w D i r e c t i o n s = ~ P a s 5 0 0 w . D I R _ E _ I N P U T & d w D i r e c t i o n s ; // E P o r t ビ ッ ト を 出 力 に 変 更 し ま す 。

227 if ( P a s w . S e t D i r e c t i o n s ( w L o g S l o t , d w D i r e c t i o n s ) == f a l s e )

228 {

229 E r r o r M e s s a g e ( w L o g S l o t );

230 // t h i s . C l o s e ( ) ;

231 r e t u r n ;

232 }

233 R e s u l t M e s s a g e ( " P o r t E の デ ィ レ ク シ ョ ン を 出 力 に 変 更" );

234

235 if ( P a s w . G e t D i r e c t i o n s ( w L o g S l o t , ref d w D i r e c t i o n s ) == f a l s e )

236 {

237 E r r o r M e s s a g e ( w L o g S l o t );

238 // t h i s . C l o s e ( ) ;

239 r e t u r n ;

240 }

241 d w D i r e c t i o n s = ~ P a s 5 0 0 w . D I R _ F _ I N P U T & d w D i r e c t i o n s ; // F P o r t ビ ッ ト を 出 力 に 変 更 し ま す 。

242 if ( P a s w . S e t D i r e c t i o n s ( w L o g S l o t , d w D i r e c t i o n s ) == f a l s e )

243 {

244 E r r o r M e s s a g e ( w L o g S l o t );

245 // t h i s . C l o s e ( ) ;

246 r e t u r n ;

247 }

248 R e s u l t M e s s a g e ( " P o r t F の デ ィ レ ク シ ョ ン を 出 力 に 変 更" );

249

250 c b D a t = m u t e ;

251 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

252 {

253 E r r o r M e s s a g e ( w L o g S l o t );

254 // t h i s . C l o s e ( ) ;

255 r e t u r n ;

256 }

257 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

258 // R e s u l t M e s s a g e ( s z B u f );

259

260 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_B , c b D a t ) == f a l s e )

261 {

262 E r r o r M e s s a g e ( w L o g S l o t );

263 // t h i s . C l o s e ( ) ;

264 r e t u r n ;

265 }

266 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

267 // R e s u l t M e s s a g e ( s z B u f );

268

269 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_C , c b D a t ) == f a l s e )

270 {

271 E r r o r M e s s a g e ( w L o g S l o t );

272 // t h i s . C l o s e ( ) ;

273 r e t u r n ;

274 }

275 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

276 // R e s u l t M e s s a g e ( s z B u f );

277

278 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_D , c b D a t ) == f a l s e )

279 {

280 E r r o r M e s s a g e ( w L o g S l o t );

281 // t h i s . C l o s e ( ) ;

282 r e t u r n ;

283 }

284 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

285 // R e s u l t M e s s a g e ( s z B u f );

286

287 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_E , c b D a t ) == f a l s e )

288 {

289 E r r o r M e s s a g e ( w L o g S l o t );

290 // t h i s . C l o s e ( ) ;

291 r e t u r n ;

292 }

293 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

294 // R e s u l t M e s s a g e ( s z B u f );

295

296 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_F , c b D a t ) == f a l s e )

297 {

298 E r r o r M e s s a g e ( w L o g S l o t );

299 // t h i s . C l o s e ( ) ;

300 r e t u r n ;

301 }

302 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

303 // R e s u l t M e s s a g e ( s z B u f );

304 305

306 // サ ウ ン ド デ バ イ ス の 取 得

307 D e v i c e s C o l l e c t i o n d e v i c e s = new D e v i c e s C o l l e c t i o n ();

308 int j = 0;

309 f o r e a c h ( D e v i c e I n f o r m a t i o n d e v I n f o in d e v i c e s )

310 {

311 id [ j ] = d e v I n f o . D r i v e r G u i d ;

312 // d e v N a m e [ i ]= d e v I n f o . D e s c r i p t i o n ;

313 j ++;

314 }

315

316 try

317 {

318 // t h i s . _ d e v i c e = n e w D e v i c e ( id [ 2 ] ) ;

324 }

325

326 t h i s . _ d e v i c e . S e t C o o p e r a t i v e L e v e l ( this , C o o p e r a t i v e L e v e l . N o r m a l );

327

328 B u f f e r D e s c r i p t i o n B u f f e r D e s c r i p t i o n = new B u f f e r D e s c r i p t i o n ();

329 B u f f e r D e s c r i p t i o n . C o n t r o l V o l u m e = t r u e ;

330 B u f f e r D e s c r i p t i o n . C o n t r o l P a n = t r u e ;

331 B u f f e r D e s c r i p t i o n . C o n t r o l F r e q u e n c y = t r u e ;

332 B u f f e r D e s c r i p t i o n . G l o b a l F o c u s = f a l s e ;

333

334 t h i s . _ b u f f e r = new S e c o n d a r y B u f f e r ( " t o n e s / W h i t e . wav " , t h i s . _ d e v i c e );

335

336 t h i s . _ b u f f e r . Pan =0;

337 338 339

340 syn . S p e a k ( "準備できました。" );

341 }

342

343 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

344 // 処 理 結 果 を 表 示

345 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

346 p r i v a t e v o i d R e s u l t M e s s a g e ( s t r i n g l p s z b u f )

347 {

348 M e s s a g e B o x . S h o w ( lpszbuf , t h i s . Text , M e s s a g e B o x B u t t o n s . OK , M e s s a g e B o x I c o n . I n f o r m a t i o n );

349 }

350 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

351 // エ ラ ー メ ッ セ ー ジ を 表 示

352 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

353 p r i v a t e v o i d E r r o r M e s s a g e ( s h o r t w L o g S l o t )

354 {

355 l o n g d w R e s = 0;

356 s t r i n g s z B u f = n u l l ;

357

358 d w R e s = P a s w . G e t L a s t E r r o r ( w L o g S l o t );

359 s w i t c h ( d w R e s )

360 {

361 c a s e P a s 5 0 0 w . E R R _ S Y S T E M :

362 d w R e s = S y s t e m . R u n t i m e . I n t e r o p S e r v i c e s . M a r s h a l . G e t L a s t W i n 3 2 E r r o r ();

363 s z B u f = s t r i n g . C o n c a t ( " S y s t e m e r r o r " , E n v i r o n m e n t . NewLine , E n v i r o n m e n t . NewLine , s t r i n g . F o r m a t ( " E r r o r c o d e : & H {0:

X8 } " , d w R e s ));

364 b r e a k ;

365 d e f a u l t :

366 s z B u f = s t r i n g . C o n c a t ( " PA - S 5 0 0 e r r o r " , E n v i r o n m e n t . NewLine , E n v i r o n m e n t . NewLine , s t r i n g . F o r m a t ( " E r r o r c o d e : & H {0: X8 } " , d w R e s ));

367 b r e a k ;

368 }

369 M e s s a g e B o x . S h o w ( szBuf , t h i s . Text , M e s s a g e B o x B u t t o n s . OK , M e s s a g e B o x I c o n . E r r o r );

370 }

371

372 p r i v a t e v o i d F o r m 1 _ F o r m C l o s e d ( o b j e c t sender , F o r m C l o s e d E v e n t A r g s e )

373 {

374 // PA - S 5 0 0の 使 用 を 開 放

375 //

-376 if ( P a s w . C l o s e ( w L o g S l o t ) == f a l s e )

377 {

378 E r r o r M e s s a g e ( w L o g S l o t );

379 // t h i s . C l o s e ( ) ;

380 r e t u r n ;

381 }

382 R e s u l t M e s s a g e ( " PA - S 5 0 0 C l o s e d " );

383 // t h i s . C l o s e ( ) ;

384

385 }

386

387 p r i v a t e v o i d s w _ o n ( b y t e c b D a t )

388 {

389 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

390 {

391 E r r o r M e s s a g e ( w L o g S l o t );

392 // t h i s . C l o s e ( ) ;

393 r e t u r n ;

394 }

395 }

396

397 int n o i s e _ O n O f f =0;

398 int [] u n u s e = new int [ 6 4 ] ;

399 p r i v a t e v o i d F o r m 1 _ K e y D o w n ( o b j e c t sender , K e y E v e n t A r g s e )

400 {

401 // - - - - - 停 止 ・ 無 音

402 if ( e . K e y C o d e == K e y s . E s c a p e )

403 {

404 c b D a t = m u t e ;

405 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

406 {

407 E r r o r M e s s a g e ( w L o g S l o t );

408 // t h i s . C l o s e ( ) ;

409 r e t u r n ;

410 }

411 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

412 // R e s u l t M e s s a g e ( s z B u f );

413 t h i s . T e x t = c b D a t . T o S t r i n g ();

414 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

415 }

416

417 // - - - - - ス ピ ー カ 1 か ら 出 力

418 if ( e . K e y C o d e == K e y s . F1 )

419 {

420 c b D a t = 0;

421 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

422 {

423 E r r o r M e s s a g e ( w L o g S l o t );

424 // t h i s . C l o s e ( ) ;

425 r e t u r n ;

426 }

427 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

428 // R e s u l t M e s s a g e ( s z B u f );

429 t h i s . T e x t = c b D a t . T o S t r i n g ();

430 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

431 }

432

433 // - - - - - 出 力 ス ピ ー カ を デ ク リ メ ン ト

434 if ( e . K e y C o d e == K e y s . F2 )

435 {

436 if ( c b D a t > 0)

437 {

438 cbDat - -;

439 }

440 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

441 {

442 E r r o r M e s s a g e ( w L o g S l o t );

443 // t h i s . C l o s e ( ) ;

444 r e t u r n ;

445 }

446 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

447 // R e s u l t M e s s a g e ( s z B u f );

448 t h i s . T e x t = c b D a t . T o S t r i n g ();

455 if ( c b D a t < 2 5 5 )

456 {

457 c b D a t ++;

458 }

459 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

460 {

461 E r r o r M e s s a g e ( w L o g S l o t );

462 // t h i s . C l o s e ( ) ;

463 r e t u r n ;

464 }

465 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

466 // R e s u l t M e s s a g e ( s z B u f );

467 t h i s . T e x t = c b D a t . T o S t r i n g ();

468 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

469 }

470

471 // - - - - - ス ピ ー カ6 3か ら 出 力

472 if ( e . K e y C o d e == K e y s . F4 )

473 {

474 c b D a t = 63;

475 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

476 {

477 E r r o r M e s s a g e ( w L o g S l o t );

478 // t h i s . C l o s e ( ) ;

479 r e t u r n ;

480 }

481 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

482 // R e s u l t M e s s a g e ( s z B u f );

483 t h i s . T e x t = c b D a t . T o S t r i n g ();

484 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

485 }

486

487 // - - - - - ス ピ ー カ8か ら 出 力

488 if ( e . K e y C o d e == K e y s . F5 )

489 {

490 c b D a t = 8;

491 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

492 {

493 E r r o r M e s s a g e ( w L o g S l o t );

494 // t h i s . C l o s e ( ) ;

495 r e t u r n ;

496 }

497 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

498 // R e s u l t M e s s a g e ( s z B u f );

499 t h i s . T e x t = c b D a t . T o S t r i n g ();

500 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

501 }

502

503 // - - - - - ス ピ ー カ1 6か ら 出 力

504 if ( e . K e y C o d e == K e y s . F6 )

505 {

506 c b D a t = 16;

507 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

508 {

509 E r r o r M e s s a g e ( w L o g S l o t );

510 // t h i s . C l o s e ( ) ;

511 r e t u r n ;

512 }

513 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

514 // R e s u l t M e s s a g e ( s z B u f );

515 t h i s . T e x t = c b D a t . T o S t r i n g ();

516 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

517 }

518

519 // - - - - - ス ピ ー カ2 4か ら 出 力

520 if ( e . K e y C o d e == K e y s . F7 )

521 {

522 c b D a t = 24;

523 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

524 {

525 E r r o r M e s s a g e ( w L o g S l o t );

526 // t h i s . C l o s e ( ) ;

527 r e t u r n ;

528 }

529 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

530 // R e s u l t M e s s a g e ( s z B u f );

531 t h i s . T e x t = c b D a t . T o S t r i n g ();

532 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

533 }

534

535 // - - - - - ス ピ ー カ3 2か ら 出 力

536 if ( e . K e y C o d e == K e y s . F8 )

537 {

538 c b D a t = 32;

539 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

540 {

541 E r r o r M e s s a g e ( w L o g S l o t );

542 // t h i s . C l o s e ( ) ;

543 r e t u r n ;

544 }

545 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

546 // R e s u l t M e s s a g e ( s z B u f );

547 t h i s . T e x t = c b D a t . T o S t r i n g ();

548 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

549 }

550

551 // - - - - - ス ピ ー カ4 0か ら 出 力

552 if ( e . K e y C o d e == K e y s . F9 )

553 {

554 c b D a t = 40;

555 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

556 {

557 E r r o r M e s s a g e ( w L o g S l o t );

558 // t h i s . C l o s e ( ) ;

559 r e t u r n ;

560 }

561 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

562 // R e s u l t M e s s a g e ( s z B u f );

563 t h i s . T e x t = c b D a t . T o S t r i n g ();

564 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

565 }

566

567 // - - - - - ス ピ ー カ4 8か ら 出 力

568 if ( e . K e y C o d e == K e y s . F11 )

569 {

570 c b D a t = 48;

571 if ( P a s w . O u t P o r t ( w L o g S l o t , P a s 5 0 0 w . PORT_A , c b D a t ) == f a l s e )

572 {

573 E r r o r M e s s a g e ( w L o g S l o t );

574 // t h i s . C l o s e ( ) ;

575 r e t u r n ;

576 }

577 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

578 // R e s u l t M e s s a g e ( s z B u f );

579 t h i s . T e x t = c b D a t . T o S t r i n g ();

580 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

581 }

582

ス ピ ー カ か ら 出 力

589 E r r o r M e s s a g e ( w L o g S l o t );

590 // t h i s . C l o s e ( ) ;

591 r e t u r n ;

592 }

593 // s z B u f = " P o r t A へ デ ー タ を 出 力" + "\ n " + " P o r t A O u t D a t a :

& H " + C o n v e r t . T o S t r i n g ( cbDat , 1 6 ) . T o U p p e r ( ) ;

594 // R e s u l t M e s s a g e ( s z B u f );

595 t h i s . T e x t = c b D a t . T o S t r i n g ();

596 syn . S p e a k ( c b D a t . T o S t r i n g ( ) ) ;

597 }

598

599 if ( e . K e y C o d e == K e y s . S p a c e )

600 {

601 t h i s . _ b u f f e r . S t o p ();

602 t h i s . _ b u f f e r = new S e c o n d a r y B u f f e r ( " t o n e s / W h i t e . wav " , t h i s . _ d e v i c e );

603 t h i s . _ b u f f e r . Pan =0;

604

605 if ( n o i s e _ O n O f f = = 0 )

606 {

607 t h i s . _ b u f f e r . P l a y (0 , B u f f e r P l a y F l a g s . L o o p i n g );

608 n o i s e _ O n O f f =1;

609 } e l s e {

610 t h i s . _ b u f f e r . S t o p ();

611 n o i s e _ O n O f f =0;

612 }

613

614 }

615 616 617

618 // - - - - - 刺 激 提 示 用 ト リ ガ ー

619 if ( e . K e y C o d e == K e y s . A )

620 {

621 a r r a y 1 = new int []{ mute , 8 , 15 , 22 , 28 , 36 , 43 , 50 , 5 7 } ; //

-p8

622 a r r a y 2 = new int []{8 , 16 , 24 , 32 , 40 , 48 , 56 , _ s p 6 4 }; // - v8

623 a r r a y 3 = new int []{36 , 37 , 38 , 39 , 40 , mute , -1}; // h5

624 a r r a y = new int [ 1 0 0 ] ;

625 r e s t = new int [ m u t e _ d u r ];

626 for ( int i =0; i < m u t e _ d u r ; i ++)

627 {

628 r e s t [ i ]= m u t e ;

629 }

630

631 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

632 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

633 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

634 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

635 u s e _ c o u n t ( array , u n u s e );

636

637 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

638 t i m e r 1 . E n a b l e d = t r u e ;

639 }

640

641 if ( e . K e y C o d e == K e y s . Tab )

642 {

643 S y s t e m . IO . S t r e a m W r i t e r sw = new S y s t e m . IO .

S t r e a m W r i t e r (

644 @ " t e s t . txt " ,

645 false ,

646 S y s t e m . T e x t . E n c o d i n g . G e t E n c o d i n g ( " s h i f t _ j i s "

));

647 for ( int m =0; m < 6 4 ; m ++)

648 {

649 if ( u n u s e [ m ] = = 2 )

650 {

651 sw . W r i t e L i n e ( " 2 t i m e s : " +( m + 1 ) . T o S t r i n g ()+ " \ n " );

652 }

653 if ( u n u s e [ m ] = = 1 )

654 {

655 sw . W r i t e L i n e ( " a t i m e s : " +( m + 1 ) . T o S t r i n g ()+ " \ n " );

656 }

657 if ( u n u s e [ m ] = = 0 )

658 {

659 sw . W r i t e L i n e ( " no t i m e s : " +( m + 1 ) . T o S t r i n g ()+ " \ n " );

660 }

661 }

662

663 sw . C l o s e ();

664

665 syn . S p e a k ( " D o n e " );

666 }

667

668 if ( e . K e y C o d e == K e y s . B )

669 {

670 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; //

-v8

671 a r r a y 2 = new int []{1 , 2 , 3 , 4 , 5 , 6 , 15 , 23 , 30 , 29 , 28 ,

27 , 26 , 2 5 } ; // h6 - v2 - h6

672 a r r a y 3 = new int []{25 , 26 , 27 , 28 , 29 , 30 , 39 , 48 ,

55 , 62 , 61 , 60 , 59 , 58 , 57 , mute , -1}; // h6 - m2 - p2

- h5

673 a r r a y = new int [ 1 0 0 ] ;

674 r e s t = new int [ m u t e _ d u r ];

675 for ( int i =0; i < m u t e _ d u r ; i ++)

676 {

677 r e s t [ i ]= m u t e ;

678 }

679

680 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

681 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

682 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

683 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

684 u s e _ c o u n t ( array , u n u s e );

685

686 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

687 t i m e r 1 . E n a b l e d = t r u e ;

688

689 }

690

691 if ( e . K e y C o d e == K e y s . C )

692 {

693 a r r a y = new int []{ mute , 23 , 14 , 5 , 4 , 11 , 18 , 25 , 33 ,

42 , 51 , 60 , 61 , 54 , 47 , mute , -1}; // m3 - p4 - m 4 p 3

694 u s e _ c o u n t ( array , u n u s e );

695

696 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

697 t i m e r 1 . E n a b l e d = t r u e ;

698 }

699

700 if ( e . K e y C o d e == K e y s . D )

701 {

702 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; //

-v8

703 a r r a y 2 = new int []{1 , 2 , 3 , 4 , 5 , 14 , 23 , 32 , 40 , 47 ,

54 , 61 , 60 , 59 , 58 , 57 , mute , -1}; // h5 - m3 - p4 - h4

704

705 a r r a y = new int [ 1 0 0 ] ;

706 r e s t = new int [ m u t e _ d u r ];

707 for ( int i =0; i < m u t e _ d u r ; i ++)

708 {

709 r e s t [ i ]= m u t e ;

710 }

711

712 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

719 720

721 }

722

723 if ( e . K e y C o d e == K e y s . E )

724 {

725 a r r a y 1 = new int []{ mute , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8}; // - h8

726 a r r a y 2 = new int []{1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; // - v8

727 a r r a y 3 = new int []{25 , 26 , 27 , 28 , 29 , 3 0 } ; // h6

728 a r r a y 4 = new int []{57 , 58 , 59 , 60 , 61 , 62 , 63 , _sp64 , mute ,

-1}; // h8

729

730 a r r a y = new int [ 1 0 0 ] ;

731 r e s t = new int [ m u t e _ d u r ];

732 for ( int i =0; i < m u t e _ d u r ; i ++)

733 {

734 r e s t [ i ]= m u t e ;

735 }

736

737 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

738 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

739 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

740 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

741 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

742 a r r a y = a r r a y . C o n c a t ( a r r a y 4 ). T o A r r a y ();

743 u s e _ c o u n t ( array , u n u s e );

744

745 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

746 t i m e r 1 . E n a b l e d = t r u e ;

747 748 749

750 }

751

752 if ( e . K e y C o d e == K e y s . F )

753 {

754 a r r a y 1 = new int []{ mute , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8}; // h8

755 a r r a y 2 = new int []{1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; // - v8

756 a r r a y 3 = new int []{25 , 26 , 27 , 28 , 29 , 30 , mute , -1}; // h6

757

758 a r r a y = new int [ 1 0 0 ] ;

759 r e s t = new int [ m u t e _ d u r ];

760 for ( int i =0; i < m u t e _ d u r ; i ++)

761 {

762 r e s t [ i ]= m u t e ;

763 }

764

765 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

766 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

767 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

768 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

769 u s e _ c o u n t ( array , u n u s e );

770

771 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

772 t i m e r 1 . E n a b l e d = t r u e ;

773 }

774

775 if ( e . K e y C o d e == K e y s . G )

776 {

777 // a r r a y 1 = n e w i n t []{0 , 24 , 15 , 6 , 5 , 4 , 3 , 10 , 17 , 25 , 33 ,

41 , 50 , 59 , 60 , 61 , 62 , 55 , 4 8 } ;

778 a r r a y 1 = new int []{ mute , 23 , 14 , 5 , 4 , 11 , 18 , 25 ,

33 , 42 , 51 , 60 , 61 , 54 , 4 7 } ; // m3 - p4 - m 4 p 3

779 a r r a y 2 = new int []{45 , 46 , 47 , 4 8 } ; // h4

780 a r r a y 3 = new int []{48 , 56 , _sp64 , mute , -1}; // - v3

781

782 a r r a y = new int [ 1 0 0 ] ;

783 r e s t = new int [ m u t e _ d u r ];

784 for ( int i =0; i < m u t e _ d u r ; i ++)

785 {

786 r e s t [ i ]= m u t e ;

787 }

788

789 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

790 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

791 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

792 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

793 u s e _ c o u n t ( array , u n u s e );

794

795 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

796 t i m e r 1 . E n a b l e d = t r u e ;

797 }

798 799

800 if ( e . K e y C o d e == K e y s . H )

801 {

802 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; //

-v8

803 a r r a y 2 = new int []{25 , 26 , 27 , 28 , 29 , 30 , 31 , 3 2 } ; // h8

804 a r r a y 3 = new int []{8 , 16 , 24 , 32 , 40 , 48 , 56 , _sp64 , mute ,

-1}; // - v8

805

806 a r r a y = new int [ 1 0 0 ] ;

807 r e s t = new int [ m u t e _ d u r ];

808 for ( int i =0; i < m u t e _ d u r ; i ++)

809 {

810 r e s t [ i ]= m u t e ;

811 }

812

813 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

814 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

815 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

816 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

817 u s e _ c o u n t ( array , u n u s e );

818

819 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

820 t i m e r 1 . E n a b l e d = t r u e ;

821 }

822

823 if ( e . K e y C o d e == K e y s . I )

824 {

825 a r r a y = new int []{ mute , 4 , 12 , 20 , 28 , 36 , 44 , 52 , 60 , mute ,

-1}; // - v8

826 u s e _ c o u n t ( array , u n u s e );

827

828 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

829 t i m e r 1 . E n a b l e d = t r u e ;

830 }

831

832 if ( e . K e y C o d e == K e y s . J )

833 {

834 a r r a y = new int []{ mute , 7 , 15 , 23 , 31 , 31 , 39 , 47 , 54 ,

61 , 60 , 51 , 42 , 33 , mute , -1};

835 u s e _ c o u n t ( array , u n u s e );

836

837 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

838 t i m e r 1 . E n a b l e d = t r u e ;

839 }

840

841 if ( e . K e y C o d e == K e y s . K )

842 {

843 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; //

-v8

844 a r r a y 2 = new int []{5 , 12 , 19 , 2 6 } ; // - p4 // こ の 行 と 次 の 行 が

「 く 」 に な る よ う に す る こ と

845 a r r a y 3 = new int []{26 , 35 , 44 , 53 , 62 , mute , -1}; // - m5

852 }

853

854 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

855 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

856 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

857 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

858 u s e _ c o u n t ( array , u n u s e );

859

860 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

861 t i m e r 1 . E n a b l e d = t r u e ;

862 }

863

864 if ( e . K e y C o d e == K e y s . L )

865 {

866 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; //

-v8

867 a r r a y 2 = new int []{57 , 58 , 59 , 60 , 61 , 62 , 63 , _sp64 , mute ,

-1}; // h8

868

869 a r r a y = new int [ 1 0 0 ] ;

870 r e s t = new int [ m u t e _ d u r ];

871 for ( int i =0; i < m u t e _ d u r ; i ++)

872 {

873 r e s t [ i ]= m u t e ;

874 }

875

876 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

877 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

878 u s e _ c o u n t ( array , u n u s e );

879

880 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

881 t i m e r 1 . E n a b l e d = t r u e ;

882 }

883

884 // M :斜 辺 部 が 1 段 下 が っ て い る 。 確 認 す る こ と 。

885 if ( e . K e y C o d e == K e y s . M )

886 {

887 a r r a y 1 = new int []{ mute , 57 , 49 , 41 , 33 , 25 , 17 , 9 , 1}; // v8

888 a r r a y 2 = new int []{2 , 11 , 20 , 2 9 } ; // p4 // 一 段 下 が っ て い る

の で は ・ 確 認 す る こ と 。

889 a r r a y 3 = new int []{29 , 22 , 15 , 8}; // - m4 // こ こ も 一 段 下 が っ

て い る の で は ?

890 a r r a y 4 = new int []{8 , 16 , 24 , 32 , 40 , 48 , 56 , _sp64 , mute ,

-1}; // - v8

891

892 a r r a y = new int [ 1 0 0 ] ;

893 r e s t = new int [ m u t e _ d u r ];

894 for ( int i =0; i < m u t e _ d u r ; i ++)

895 {

896 r e s t [ i ]= m u t e ;

897 }

898

899 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

900 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

901 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

902 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

903 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

904 a r r a y = a r r a y . C o n c a t ( a r r a y 4 ). T o A r r a y ();

905 u s e _ c o u n t ( array , u n u s e );

906

907 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

908 t i m e r 1 . E n a b l e d = t r u e ;

909 }

910

911 if ( e . K e y C o d e == K e y s . N )

912 {

913 a r r a y 1 = new int []{ mute , 57 , 49 , 41 , 33 , 25 , 17 , 9 , 1}; // v8

914 a r r a y 2 = new int []{2 , 11 , 20 , 29 , 38 , 47 , 5 6 } ; // - m7

915 a r r a y 3 = new int []{ _sp64 , 56 , 48 , 40 , 32 , 24 , 16 , 8 , mute ,

-1}; // v8

916

917 a r r a y = new int [ 1 0 0 ] ;

918 r e s t = new int [ m u t e _ d u r ];

919 for ( int i =0; i < m u t e _ d u r ; i ++)

920 {

921 r e s t [ i ]= m u t e ;

922 }

923

924 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

925 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

926 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

927 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

928 u s e _ c o u n t ( array , u n u s e );

929

930 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

931 t i m e r 1 . E n a b l e d = t r u e ;

932 }

933

934 if ( e . K e y C o d e == K e y s . O )

935 {

936 a r r a y = new int []{ mute , 24 , 15 , 6 , 5 , 4 , 3 , 10 , 17 ,

25 , 33 , 41 , 50 , 59 , 60 , 61 , 62 , 55 , 48 ,

40 , 32 , 24 , mute , -1}; // m3 - h3 - p2 - v3 - m 2 h 3 p 2 v 3

937 u s e _ c o u n t ( array , u n u s e );

938

939 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

940 t i m e r 1 . E n a b l e d = t r u e ;

941 }

942

943 if ( e . K e y C o d e == K e y s . P )

944 {

945 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; //

-v8

946 a r r a y 2 = new int []{1 , 2 , 3 , 4 , 5 , 6 , 7 , 16 , 24 , 31 ,

30 , 29 , 28 , 27 , 26 , 25 , mute , -1}; // h7v2 - h7

947

948 a r r a y = new int [ 1 0 0 ] ;

949 r e s t = new int [ m u t e _ d u r ];

950 for ( int i =0; i < m u t e _ d u r ; i ++)

951 {

952 r e s t [ i ]= m u t e ;

953 }

954

955 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

956 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

957 u s e _ c o u n t ( array , u n u s e );

958

959 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

960 t i m e r 1 . E n a b l e d = t r u e ;

961 }

962

963 // Q :中 の 直 線 が 長 す ぎ る か も 。

964 if ( e . K e y C o d e == K e y s . Q )

965 {

966 a r r a y 1 = new int []{ mute , 24 , 15 , 6 , 5 , 4 , 3 , 10 , 17 ,

25 , 33 , 41 , 50 , 59 , 60 , 61 , 62 , 55 , 48 ,

40 , 32 , 2 4 } ; // m3 - h3 - p3 - v2 - m2 - m 3 p 2 v 3

967 a r r a y 2 = new int []{35 , 36 , 37 , 46 , 55 , _sp64 , mute , -1};

// h3 - m3

968

969 a r r a y = new int [ 1 0 0 ] ;

970 r e s t = new int [ m u t e _ d u r ];

971 for ( int i =0; i < m u t e _ d u r ; i ++)

972 {

973 r e s t [ i ]= m u t e ;

974 }

981 t i m e r 1 . E n a b l e d = t r u e ;

982 }

983

984 if ( e . K e y C o d e == K e y s . R )

985 {

986 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; //

-v8

987 a r r a y 2 = new int []{2 , 3 , 4 , 5 , 6 , 7 , 16 , 24 , 31 , 30 ,

29 , 28 , 27 , 26 , 2 5 } ; // h6v2 - h7

988 a r r a y 3 = new int []{28 , 37 , 46 , 55 , _sp64 , mute , -1}; // - m5

989

990 a r r a y = new int [ 1 0 0 ] ;

991 r e s t = new int [ m u t e _ d u r ];

992 for ( int i =0; i < m u t e _ d u r ; i ++)

993 {

994 r e s t [ i ]= m u t e ;

995 }

996

997 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

998 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

999 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1000 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

1001 u s e _ c o u n t ( array , u n u s e );

1002

1003 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1004 t i m e r 1 . E n a b l e d = t r u e ;

1005 }

1006

1007 if ( e . K e y C o d e == K e y s . S )

1008 {

1009 // a r r a y = n e w i n t []{0 , 14 , 5 , 4 , 11 , 19 , 28 , 29 ,

30 , 39 , 48 , 55 , 62 , 61 , 60 , 59 , 50 , 41 ,

33 , 0 , -1}; // m2 - p2 - m2h2 - m2 - p2 - h 3 m 2 v 1 // 鈴 木

1010 a r r a y = new int []{ mute , 23 , 14 , 5 , 12 , 19 , 28 , 29 , 30 , 39 ,

48 , 55 , 61 , 60 , 51 , 42 , 33 , mute , -1}; // 高 木

1011 u s e _ c o u n t ( array , u n u s e );

1012

1013 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1014 t i m e r 1 . E n a b l e d = t r u e ;

1015 }

1016

1017 if ( e . K e y C o d e == K e y s . T )

1018 {

1019 a r r a y 1 = new int []{ mute , 1 , 2 , 3 , 4 , 5 , 6 , 7}; // h7

1020 a r r a y 2 = new int []{4 , 12 , 20 , 28 , 36 , 44 , 52 , 60 , mute , -1};

// - v8

1021

1022 a r r a y = new int [ 1 0 0 ] ;

1023 r e s t = new int [ m u t e _ d u r ];

1024 for ( int i =0; i < m u t e _ d u r ; i ++)

1025 {

1026 r e s t [ i ]= m u t e ;

1027 }

1028

1029 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

1030 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

1031 u s e _ c o u n t ( array , u n u s e );

1032

1033 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1034 t i m e r 1 . E n a b l e d = t r u e ;

1035 }

1036

1037 if ( e . K e y C o d e == K e y s . U )

1038 {

1039 a r r a y = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 42 , 51 , 60 ,

61 , 54 , 47 , 40 , 32 , 24 , 16 , 8 , mute , -1}; //

-v5 - m 3 p 4 v 4

1040 u s e _ c o u n t ( array , u n u s e );

1041

1042 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1043 t i m e r 1 . E n a b l e d = t r u e ;

1044 }

1045

1046 if ( e . K e y C o d e == K e y s . V )

1047 {

1048 a r r a y 1 = new int []{ mute , 1 , 10 , 19 , 28 , 37 , 46 , 55 , _ s p 6 4 };

// - m8

1049 a r r a y 2 = new int []{56 , 48 , 40 , 32 , 24 , 16 , 8 , mute , -1}; //

v7

1050

1051 a r r a y = new int [ 1 0 0 ] ;

1052 r e s t = new int [ m u t e _ d u r ];

1053 for ( int i =0; i < m u t e _ d u r ; i ++)

1054 {

1055 r e s t [ i ]= m u t e ;

1056 }

1057

1058 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

1059 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

1060 u s e _ c o u n t ( array , u n u s e );

1061

1062 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1063 t i m e r 1 . E n a b l e d = t r u e ;

1064 }

1065

1066 // M :斜 辺 部 が 1 段 下 が っ て い る 。 確 認 す る こ と 。

1067 if ( e . K e y C o d e == K e y s . W )

1068 {

1069 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ; //

-v8

1070 a r r a y 2 = new int []{50 , 43 , 36 , 2 0 } ; // p4

1071 a r r a y 3 = new int []{38 , 47 , 5 6 } ; // - m3

1072 a r r a y 4 = new int []{ _sp64 , 56 , 48 , 40 , 32 , 24 , 16 , 8 , mute ,

-1}; // v8

1073

1074 a r r a y = new int [ 1 0 0 ] ;

1075 r e s t = new int [ m u t e _ d u r ];

1076 for ( int i =0; i < m u t e _ d u r ; i ++)

1077 {

1078 r e s t [ i ]= m u t e ;

1079 }

1080

1081 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

1082 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

1083 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1084 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

1085 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1086 a r r a y = a r r a y . C o n c a t ( a r r a y 4 ). T o A r r a y ();

1087 u s e _ c o u n t ( array , u n u s e );

1088

1089 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1090 t i m e r 1 . E n a b l e d = t r u e ;

1091 }

1092

1093 if ( e . K e y C o d e == K e y s . X )

1094 {

1095 a r r a y 1 = new int []{ mute , 1 , 10 , 19 , 28 , 37 , 46 , 55 , _ s p 6 4 };

// - m8

1096 a r r a y 2 = new int []{8 , 15 , 22 , 29 , 36 , 43 , 50 , 57 , mute , -1};

// - p8

1097

1098 a r r a y = new int [ 1 0 0 ] ;

1099 r e s t = new int [ m u t e _ d u r ];

1100 for ( int i =0; i < m u t e _ d u r ; i ++)

1101 {

1102 r e s t [ i ]= m u t e ;

1109 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1110 t i m e r 1 . E n a b l e d = t r u e ;

1111 }

1112

1113 if ( e . K e y C o d e == K e y s . Y )

1114 {

1115 a r r a y 1 = new int []{ mute , 1 , 10 , 19 , 2 8 } ; // - m4

1116 a r r a y 2 = new int []{8 , 15 , 22 , 2 9 } ; // - p4

1117 a r r a y 3 = new int []{37 , 45 , 53 , 61 , mute , -1}; // - v4

1118

1119 a r r a y = new int [ 1 0 0 ] ;

1120 r e s t = new int [ m u t e _ d u r ];

1121 for ( int i =0; i < m u t e _ d u r ; i ++)

1122 {

1123 r e s t [ i ]= m u t e ;

1124 }

1125

1126 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

1127 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

1128 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1129 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

1130 u s e _ c o u n t ( array , u n u s e );

1131

1132 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1133 t i m e r 1 . E n a b l e d = t r u e ;

1134 }

1135

1136 if ( e . K e y C o d e == K e y s . Z )

1137 {

1138 a r r a y 1 = new int []{ mute , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8}; // h8

1139 a r r a y 2 = new int []{15 , 22 , 29 , 36 , 43 , 5 0 } ; // - p6

1140 a r r a y 3 = new int []{57 , 58 , 59 , 60 , 61 , 62 , 63 , _sp64 , mute ,

-1}; // h8

1141

1142 a r r a y = new int [ 1 0 0 ] ;

1143 r e s t = new int [ m u t e _ d u r ];

1144 for ( int i =0; i < m u t e _ d u r ; i ++)

1145 {

1146 r e s t [ i ]= m u t e ;

1147 }

1148

1149 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

1150 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

1151 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1152 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

1153 u s e _ c o u n t ( array , u n u s e );

1154

1155 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1156 t i m e r 1 . E n a b l e d = t r u e ;

1157 }

1158

1159 // 最 外 角 の 四 角 形

1160 if ( e . K e y C o d e == K e y s . D1 )

1161 {

1162 a r r a y 1 = new int []{ mute , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8};

1163 a r r a y 2 = new int []{8 , 16 , 24 , 32 , 40 , 48 , 56 , _ s p 6 4 };

1164 a r r a y 3 = new int []{ _sp64 , 63 , 62 , 61 , 60 , 59 , 58 , 5 7 } ;

1165 a r r a y 4 = new int []{57 , 49 , 41 , 33 , 25 , 17 , 9 , 1 , mute , -1};

1166

1167 a r r a y = new int [ 1 0 0 ] ;

1168 r e s t = new int [ m u t e _ d u r ];

1169 for ( int i =0; i < m u t e _ d u r ; i ++)

1170 {

1171 r e s t [ i ]= m u t e ;

1172 }

1173

1174 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

1175 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

1176 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1177 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

1178 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1179 a r r a y = a r r a y . C o n c a t ( a r r a y 4 ). T o A r r a y ();

1180

1181 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1182 t i m e r 1 . E n a b l e d = t r u e ;

1183 }

1184

1185 // 横 線

1186 if ( e . K e y C o d e == K e y s . D2 )

1187 {

1188 a r r a y 1 = new int []{ mute , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8};

1189 a r r a y 2 = new int []{9 , 10 , 11 , 12 , 13 , 14 , 15 , 1 6 } ;

1190 a r r a y 3 = new int []{17 , 18 , 19 , 20 , 21 , 22 , 23 , 2 4 } ;

1191 a r r a y 4 = new int []{25 , 26 , 27 , 28 , 29 , 30 , 31 , 3 2 } ;

1192 a r r a y 5 = new int []{33 , 34 , 35 , 36 , 37 , 38 , 39 , 4 0 } ;

1193 a r r a y 6 = new int []{41 , 42 , 43 , 44 , 45 , 46 , 47 , 4 8 } ;

1194 a r r a y 7 = new int []{49 , 50 , 51 , 52 , 53 , 54 , 55 , 5 6 } ;

1195 a r r a y 8 = new int []{57 , 58 , 59 , 60 , 61 , 62 , 63 , mute , -1};

1196

1197 a r r a y = new int [ 1 0 0 ] ;

1198 r e s t = new int [ m u t e _ d u r ];

1199 for ( int i =0; i < m u t e _ d u r ; i ++)

1200 {

1201 r e s t [ i ]= m u t e ;

1202 }

1203

1204 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

1205 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

1206 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1207 a r r a y = a r r a y . C o n c a t ( a r r a y 3 ). T o A r r a y ();

1208 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1209 a r r a y = a r r a y . C o n c a t ( a r r a y 4 ). T o A r r a y ();

1210 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1211 a r r a y = a r r a y . C o n c a t ( a r r a y 5 ). T o A r r a y ();

1212 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1213 a r r a y = a r r a y . C o n c a t ( a r r a y 6 ). T o A r r a y ();

1214 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1215 a r r a y = a r r a y . C o n c a t ( a r r a y 7 ). T o A r r a y ();

1216 a r r a y = a r r a y . C o n c a t ( r e s t ). T o A r r a y ();

1217 a r r a y = a r r a y . C o n c a t ( a r r a y 8 ). T o A r r a y ();

1218

1219 t i m e r 1 . I n t e r v a l = i n t e r v a l _ v a l ;

1220 t i m e r 1 . E n a b l e d = t r u e ;

1221 }

1222

1223 // 縦 線

1224 if ( e . K e y C o d e == K e y s . D3 )

1225 {

1226 a r r a y 1 = new int []{ mute , 1 , 9 , 17 , 25 , 33 , 41 , 49 , 5 7 } ;

1227 a r r a y 2 = new int []{2 , 10 , 18 , 26 , 34 , 42 , 50 , 5 8 } ;

1228 a r r a y 3 = new int []{3 , 11 , 19 , 27 , 35 , 43 , 51 , 5 9 } ;

1229 a r r a y 4 = new int []{4 , 12 , 20 , 28 , 36 , 44 , 52 , 6 0 } ;

1230 a r r a y 5 = new int []{5 , 13 , 21 , 29 , 37 , 45 , 53 , 6 1 } ;

1231 a r r a y 6 = new int []{6 , 14 , 22 , 30 , 38 , 46 , 54 , 6 2 } ;

1232 a r r a y 7 = new int []{7 , 15 , 23 , 31 , 39 , 47 , 55 , 6 3 } ;

1233 a r r a y 8 = new int []{8 , 16 , 24 , 32 , 40 , 48 , 56 , mute , -1};

1234

1235 a r r a y = new int [ 1 0 0 ] ;

1236 r e s t = new int [ m u t e _ d u r ];

1237 for ( int i =0; i < m u t e _ d u r ; i ++)

1238 {

1239 r e s t [ i ]= m u t e ;

1240 }

1241

1242 a r r a y = a r r a y 1 . C o n c a t ( r e s t ). T o A r r a y ();

1243 a r r a y = a r r a y . C o n c a t ( a r r a y 2 ). T o A r r a y ();

ドキュメント内 目 次 (ページ 57-113)

関連したドキュメント