DOBON.NET DOBON.NETプログラミング掲示板過去ログ

タイピングゲームの結果発表について

環境/言語:[VISUAL BASIC]
分類:[.NET]

2007/11/15(Thu) 15:04:53 編集(投稿者)

VISUAL BASICでタイピングげーむを作っているんですが、結果発表で何文字打てたかを最後に表示させたいのですが、どういう風にプログラムを組んだらいいのか分かりません。教えてください!お返事待ってます。
変数を用意して、
正しい文字が打てたという判定の中に、
「変数+=1」を入れて最後に表示すればよいのでは?


ひょっとして何度かタイピングゲーム関連で質問してた方ですか?
今までの内容を見るに、掲示板で質問するよりも、
VB関連の書籍を読んだり、言語共通の考え方を学んだほうが
身に付くと思います。
学校の課題レベルであれば、それで十分解けるはずです。
がんばってください。
ご質問の内容があまりに漠然としています。もっと具体的にお願いします。残念ながらこのように漠然とした質問はこの掲示板のルールに反しています。詳しくは、「書き込みのマナーについて」をご覧ください。

書き込みのマナーについて
http://dobon.net/vb/bbs/index.html
2007/11/22(Thu) 13:33:06 編集(投稿者)
2007/11/22(Thu) 13:32:51 編集(投稿者)

Dim k As Integer = 0
Dim resultlabel As Integer
Dim rank As Integer = 0
Select Case rank
'k = + 1
Case "a"
'resultlabel.text = "Aランク"
'case "b" ,"c", "d"
'resultlabel.text = "Bランク"
Case "e"
'resultlabel.text = "Cランク"
End Select
このプログラムを組んだだのですが、うまく表示されません。
どこがおかしいのでしょうか?
  • 題名: Re[4]: 結果発表のプログラム
  • 著者: Mr.T
  • 日時: 2007/11/22 14:48:23
  • ID: 21042
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
Mr.Tです、こんにちは。

> Dim rank As Integer = 0
> Select Case rank
> 'k = + 1
> Case "a"
> 'resultlabel.text = "Aランク"
> 'case "b" ,"c", "d"
> 'resultlabel.text = "Bランク"
> Case "e"
> 'resultlabel.text = "Cランク"
> End Select

rankってIntegerにしてるからでしょうけど
Integerは数値
case "a"の部分は文字。
case でわからなければ、
IF rank = "a" then
 ....
elseif rank = "b" then
....
end if
と書き直してみると、わかりますか?

数値と文字の扱いの部分をもういっぺんおさらいしては。

それと、前の質問にレスするより、別の質問として新規投稿するべきでしょう。

Dim rank As Integer = 0
と設定されているので、どのCaseにも当てはまってないので、
表示されないのは、当たり前だと思います。
Dim k As Integer = 0
Dim resultlabel As Integer
Dim rank As Char
Select Case rank
'k = + 1
Case "a"
'resultlabel.text = "Aランク"
'case "b" ,"c", "d"
'resultlabel.text = "Bランク"
Case "e"
'resultlabel.text = "Cランク"
End Select

このプログラムを組んだのですが、表示されません。
どこがおかしいのでしょうか?
■No21123に返信(まあちやんさんの記事)
rank に何も入ってないからでは?
るしえさん
返信ありがとうございます!
rankに何を入れたらよいでしょうか?
本当に困ってるんで、よかったら教えてください。
2007/12/13(Thu) 11:04:56 編集(投稿者)

■No21128に返信(まあちやんさんの記事)
本当に困ってるなら、本屋に行って入門本でも買って勉強したら?
基本的なことが分かってないのにプログラミングしようというのが
間違いだと思いますが?

>rankに何を入れたらよいでしょうか?
何ってaかbかcかdかeではないの?

Char を使うなら
rank = "a"c '最後のcは型指定文字

String を使ったほうが分かりやすいのでは?
Dim rank As String
rank = "a"


ただし、最初の質問を見れば
>何文字打てたか
が判定基準なので、数値型のほうが良かったよね。。。
takumix さんが回答済みですが。読んでくれないのならアドバイス
しても意味ないですよね?
…ああ、
>Dim k As Integer = 0
>'k = + 1
が
>「変数+=1」を入れて最後に表示すればよいのでは?
なのかなぁ。。。コメントとか説明がないからよく分からないです。

        k = +1
は、k に1を代入する意味になります。
>「変数+=1」を入れて最後に表示すればよいのでは?
は
        k += 1
で、
        k = k + 1
と同じになるルールです。

数値の判定は Select 文より If 文のほうが分かり易いかもしれません。
[VB.NET]
        'Dim resultlabel As Integer 'なにこれ?Labelなら画面上の
        '                          'コントロールと同じ名前を使ってください
        k = 24 'テスト用(本来はタイピングでの正解数が入る)
        If k = 0 Then
            resultlabel.text = "がんばりましょう"
        ElseIf 0 < k And k <= 20 Then
            resultlabel.text = "もうちょっと"
        ElseIf 20 < k And k <= 50 Then
            resultlabel.text = "よくできました"
        ElseIf 50 < k And k <= 100 Then
            resultlabel.text = "すごっ"
        End If

DOBON.NET | プログラミング道 | プログラミング掲示板