タイピングゲーム
文字
文字列を使うためには String 型というものを使います。 タイピングに使う言葉を格納するために String 型の配列を作ります。 次のようにすることで配列の生成と同時に初期化を行うことができます。
String[] words = {"red", "blue", "cyan", "green", "gray","---end---"};
これとは別にもうひとつ String 型の変数を作っておきます。 この変数にはタイプする文字を格納します。
String str;
キーボードからの入力
タイピングゲームではキーボードからの入力を受け付けますが、 プログラムでの書き方はマウスの場合と似ています。
キーボードの場合は次の 3 種類のメソッドがあります。
public void keyTyped(KeyEvent e){} /* キーがタイプされた場合 */
public void keyPressed(KeyEvent e){} /* キーが押された場合 */
public void keyReleased(KeyEvent e){} /* キーが離された場合 */
キーボードもマウスと同じようにキーリスナーというものを登録しなければなりません。 init メソッドで次のように書いておきましょう。
public void init() {
this.addKeyListener(this);
}
文字列の処理
タイピングゲームで行う処理は、単に押したキーと変数 str に格納された文字の一文字目を比較し、 同じであれば、str の二文字目以降を str に格納し文字がなくなるまで繰り返します。
プログラムは次のように書きます。
if(str.charAt(0) == e.getKeyChar()){
str = str.substring(1);
}
charAt メソッドで変数 str の一文字目(引数を 1 とすれば二文字目)を取り出します。 getKeyChar メソッドはタイプされたキーを取り出しています。 この 2 つを比較して同じであれば if 文の中に進みます。
if 文の中では substring メソッドを使って変数 str の中の文字列の二文字目以降を取り出して、 str に格納しています。つまり一文字目を消しているということです。
Copylight (c) ガメラボ 2006 - All Rights Reserved