• ベストアンサー

VBを使ってのタイピングについて

今、卒業研究でVBを使ってのタイピングゲームソフトを作成してます。 5行の文字列をひとまとめにして連続してタイピングさせたい。 (1行目が終わったら2行目。2行目が終わったら3行目・・・5行目まで) そこでみなさんにお聞きしたいのですが、 配列を使ってのタイピングは可能なのでしょうか?? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.3

では簡単な例を説明してみます。 フォームのkeypressのイベントでどのキーが押されたかは分かります。 押された回数をカウントすれば基本的にタイプ数は分かります。 "例えば"は(tatoeba)で問題ないのですが"ふ"の場合(hu/fu)でもいいですし"だった"は(datta/daltuta/daxtuta)でもいいのですよね。これがローマ字入力の判定の難しさだと思います。 "例えば"のチェックルーチン(めっちゃいい加減版)エンターキーは不要と判断しました。 なお、bが文字を打った回数。cが文字数という事で参考にして下さい。 Dim wk(5) As String Dim a As Integer Dim b As Integer Dim c As Integer Private Sub Form_KeyPress(KeyAscii As Integer) Dim chk As String chk = LCase(Chr(KeyAscii)) If Mid(wk(0), a, 1) = chk Then a = a + 1 End If b = b + 1 If a > c Then MsgBox "ok" End If End Sub Private Sub Form_Load() wk(0) = "tatoeba" a = 1 b = 0 c = Len(wk(0)) End Sub

sakky_t
質問者

お礼

さっそくありがとうございます。 しかもプログラム付で・・・。 プログラムはある程度は理解しているものの 初めてみる関数ばかりで、苦戦中です。 しばらくこの参考プログラムを先生に聞いて理解してみます。 また、新たに質問させてもらうと思いますが その時はよろしくお願いします。

その他の回答 (2)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

質問の意味をいまいち理解してませんが・・・ 判定を行うタイミングが、このソフトの鍵となると思います。 複数行あろうとなかろうと一緒です。 複数行ある文章もようは改行コード(定数:vbCrlf)を含んだ一行と置き換えることができます。 簡単な比較ロジックは 1.テキストボックスのChangeイベントを認識 2.入力文字と入力文字数を得る 3.正解例の頭からその文字数文を得る 4.それらを比較 です。 しかし、文章の入力を終えてからの判定は並大抵ではありません。 一度判定ロジックを組んだ経験があるのですが、結局かなりの駄作になってしまいました。 例えば、余計な文字が1文字入ったら、どうするのかというだけで様々なパターンが想像つきます。 それ以外に2行目と3行目が入れ違いになっていた場合にも、複数の処理に分かれます。 これらを全て兼ね備えたプログラムは、人工知能開発ぐらいのレベルになると思います。。。 ですので、あまり入力し終えてからの判定はお奨めできません。 一度、市販されてるタイピングソフトではなく、フリーでダウンロードできるタイピングのソフトを見て研究してみては? はずしてたなら、ごめんなさい。

参考URL:
http://www.vector.co.jp/vpack/pickup/win/edu/comp/index.html
sakky_t
質問者

お礼

回答ありがとうございます。 私たちが作成しようとしているソフトは下記のyanmaaさんのお礼に記した通りです。 判定のタイミングとしてはローマ字、1文字ずつ判定させるつもりでいます。 表示は1行をローマ字で表示させて、先頭から順にタイピングです。 一致していればその文字が消え、次の文字のタイプという感じです。 その際、1行終わるまでにタイプした数と誤った入力をカウントさせたいのです。 とりあえず、教えていただいたURLでDLしてみて研究してみます。 また、よろしくお願いします。

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

プログラムを作るのが卒業研究なら基本的なプログラミング技能を有していると判断します。 例えば そこで みなさんに お聞き したいのですが というタイピングを出題するとして どのようにキータイプさせ、どのような判定を下すのでしょうか? OKなら次の行、違うなら元の行ですね。 後は自分で考えて何処までやって何処が分からないのか説明してからにしてね。

sakky_t
質問者

お礼

回答をありがとうございます。 yanmaaさんの言われるプログラム技能は有しています。 私たちが作っているタイピングプログラムは 例えば そこで みなさんに お聞き したいのですが の5行で例えると 1.『例えば』を日本語表示とローマ字表示する。   例    例えば      tatoeba 2.「t」からタイプ開始 → Enterキーを押すと1行終了   その際、先頭の文字とキーボードからタイピングした文字が同じなら同時にローマ字を一文字ずつ消していく。   なおかつ、Enterキーを押すまでに「タイプした数」と「誤った数」をカウントする。 3.これを5回繰り返す。 というのを考えています。 こういうプログラムをVBで作成するのは可能でしょうか?

関連するQ&A

  • 再)英文タイピングについて

    ローマ字配列はわかっていても、英文タイピングが 苦手という方が居ることはいるのですが、 どのようにしたら、ローマ字、または、かな配列から 英文タイピングを慣れるようにするには、 できるだけ手っ取り速く慣れるには、 どのようなことを覚えるのが一番でしょうか? 私自信、実質英文タイピングから覚えてしまったので わかりません。 ここでは、タイピングソフト等を利用しない、なるだけてっとり早い慣れ方を 教えてもらいたいと思います。 既出ものものとしては、以下のものがあります・・・ ・qやv、及び、x、cを使うことが特徴 ・文字のパターンを覚える必要がある  →実際、これは、「タイピングソフト」の為に慣れる為、最小限の単語を覚えらればと ・同じ文字の連続に慣れる=これは新たにコツを教えてもらいたいです。 その他、以下は必要ありません。 ・大文字、小文字の区別は必要なし ・スペースキーの入力はなし 以上、よろしくお願いします。 前スレ: http://okwave.jp/qa/q7195999.html

  • VB6.0でタイピングゲームを作りたい

    VB6.0でタイピングゲームを作る事は可能でしょうか? もし可能であれば、ボタンをキー配列分用意しないといけませんが、押すキー(アルファベット)によって、ボタンを判別させることは可能でしょうか? 例えば、ボタンを一つ用意し、以下のプログラムでアルファベットのAが押された時に通るようにしたい場合はどうすればよいのでしょうか? Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer) End Sub

  • タイピングのソフトについて

    よろしくお願いします。  タイピングのソフトですが、最初から出てくる文字が決まってなく自分で文字を考えてその文字をゲーム感覚でタイピングするっていうソフト知っている方いますか?  もし、そんなのがありましたら教えてください。

  • 二次元配列について

    高校の課題研究で、タイピングソフトを作ることになったのですが 二次元配列で、配列内の文字列をランダムで一つ表示するものを作りたいのですが 全然分かりません^^; プログラムを教えてくださる方いらっしゃいましたら 教えて貰えますとありがたいです><

    • ベストアンサー
    • Java
  • VBや、Excelでこんなことできますでしょうか?

    ネットワークでマージャンゲームをやっています。 そのマージャンゲームではつもった牌や捨てた牌のログが常に画面上に 出力されています。 このログから文字列、例えば”3万”とか”8ピン”といったものを 抽出し、ソフト上あるいはExcel上に表示させたいのです。 つまり、単にログから文字列を取得し、その値を得たいということです。 こういう動作をするソフトというかプログラムを作成したいのですが、 何からはじめたらよいのかわかりません。そこで以下の2点を教えて下さい。 1.VBやExcelで上記プログラムは作成できるか 2.できるとしたら一番重要な準備は何であるのか 私のスキルは7年位前にVBの本で数冊勉強した程度です。 以上、よろしくお願い致します。

  • VB6.0で連想配列は可能?

    VB6.0で、perlの連想配列のように、配列の添字として文字列を使うことは可能でしょうか?

  • タイピングソフト&ネットのタイピングゲーム

    タイピングソフトはいろいろなものを見ましたが、 今まで「これが一番よいっっ!」というものにめぐり合っていません。 もし今までこれはすごいタイピングゲームだ!と思うフリーのゲームに出会った方、ぜひ教えてください。 あと、オンラインでできるタイピングゲームで、楽しいものもよろしければ教えてください。お願いします。

  • Visual Basicでタイピングゲームを作成するには…

    課題研究の一環でタイピングゲームを作成しようと思うのですが そこまで応用のきく知識が自分にはありません。 簡単なものでいいので タイピングできるようなソースありましたら教えてください。

  • VB6.0で

    お世話になります。 今VB6.0でちょっとしたソフトを作ろうと思っています。 そこで、質問なんですが、 文字列をスクロールさせる方法と、文字列をLED風(電光掲示板のように)にするにはどうしたらよいのでしょうか? 参考になるHPなどありましたら教えていただきたいと思います。 よろしくお願いします!

  • C言語でタイピングゲーム作成

    C言語でタイピングのプログラムを作りたいと思っています。 仕様は以下の通りです。 1、文字列出力とタイピング機能 出力する英単語は、プログラムの中で文字配列として定義しておく。英単語はすべて小文字 のみとする。まず、配列の先頭から1つ英単語を出力してそれをタイピングさせる。 そして次の英単語、また次の英単語と、最後の英単語まで出力とタイピングを繰り返す。 2.照合とカウント 入力文字を一文字ずつ照合して、あってるか間違っているかを判定しカウントする。 定義した配列のすべての英単語についてタイピングと照合を終えたら、タイピング成績の出 力へ進む。 3. タイピングの成績出力 タイピングの成績を出力する。何文字正しく入力できたかを%で出力する。 以上です。 理解を深めるために、ソースに説明を入れて書いていただけるとありがたいです! 回答よろしくお願いいたします

専門家に質問してみよう