visual basic.netでフラッシュ暗算のプログラムを作成しようと思っていますが、上手くいきません。
まずランダム関数によって101~999の3桁で試そうとしてます。
これを10個表示して結果を出したいのですが、
本来はlabelbox2に答えを入力し答えを確認しようと思いましたが、表示される数が1津市かでなかったため、
たとえばrが乱数だとした場合試しで乱数をlabel1に結果をlabel2に表示してみたく以下のようなループ文にしました。
for i=1 to 10 step 1
labelbox1.text=r
s=s+r
labelbox2.text=s
next i
のようにしています。
しかしlabelbox2には10個たせれた数が表示し、labelbox1には最後の乱数しかでません。
ですのでこのままではフラッシュ暗算にはならないので空き時間を入れたいのですが、for~next文を途中に追加し空ループで時間を稼ごうとしてもできません。
なにか待ち時間を上手くする方法ありませんか?
まだまだ初心者なのでいまいちよくわかりません。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Option Explicit On
Option Strict On
Option Compare Binary
' Option Infer Off
Class Q4090807A
Inherits System.Windows.Forms.Form
Private QuestionLabel As System.Windows.Forms.Label
Private AnswerTextBox As System.Windows.Forms.TextBox
Private CheckButton As System.Windows.Forms.Button
Private RetryButton As System.Windows.Forms.Button
Private Timer As System.Windows.Forms.Timer
Private Dice As System.Random
Private Const Count As Integer = 10
Private Const Min As Integer = 101
Private Const Max As Integer = 999
Private Current As Integer = 0
Private Numbers As Integer()
Sub New()
Dice = New System.Random()
Me.Size = New System.Drawing.Size(800,600)
QuestionLabel = New System.Windows.Forms.Label
QuestionLabel.Left = 350
QuestionLabel.Top = 100
QuestionLabel.Size = New System.Drawing.Size(100,50)
QuestionLabel.Text = "問題"
AnswerTextBox = New System.Windows.Forms.TextBox
AnswerTextBox.Left = 350
AnswerTextBox.Top = 200
AnswerTextBox.Size = New System.Drawing.Size(100,50)
AnswerTextBox.Enabled = false
CheckButton = New System.Windows.Forms.Button
CheckButton.Left = 350
CheckButton.Top = 300
CheckButton.Size = New System.Drawing.Size(100,50)
CheckButton.Enabled = False
CheckButton.Text = "チェック"
RetryButton = New System.Windows.Forms.Button
RetryButton.Left = 200
RetryButton.Top = 300
RetryButton.Size = New System.Drawing.Size(100,50)
RetryButton.Enabled = True
RetryButton.Text = "再挑戦"
Me.Controls.AddRange(New System.Windows.Forms.Control(){QuestionLabel,AnswerTextBox,CheckButton,RetryButton})
Timer = New System.Windows.Forms.Timer()
Timer.Interval = 1000
AddHandler Timer.Tick,AddressOf Timer_Tick
AddHandler CheckButton.Click,AddressOf CheckButton_Click
AddHandler RetryButton.Click,AddressOf RetryButton_Click
Prepare()
Timer.Enabled = true
End Sub
Private Sub Timer_Tick(Sender As Object,e As System.EventArgs)
If Current < Count Then
QuestionLabel.Text = Numbers(Current).ToString()
Current = Current + 1
Else
Timer.Enabled = False
QuestionLabel.Text = ""
AnswerTextBox.Enabled = True
CheckButton.Enabled = True
End If
End Sub
Private Sub CheckButton_Click(Sender As Object,e As System.EventArgs)
CheckButton.Enabled = False
Dim Answer As Integer = 0
For i As Integer = 0 To Numbers.Length - 1
Answer = Answer + Numbers(i)
Next
Try
If Answer = Integer.Parse(AnswerTextBox.Text) Then
Me.BackColor = System.Drawing.Color.Blue
Else
Me.BackColor = System.Drawing.Color.Red
End If
Catch err As System.FormatException
System.Console.WriteLine(err.ToString()) 'コンソールアプリとして作成したのでこの辺でエラー出るかも
System.Console.ReadKey(true) 'コンソールアプリとして作成したのでこの辺でエラー出るかも
Finally
End Try
End Sub
Sub RetryButton_Click(Sender As Object,e As System.EventArgs)
Timer.Enabled = False
Prepare()
Timer.Enabled = True
End Sub
Sub Prepare()
AnswerTextBox.Enabled = False
AnswerTextBox.Text = ""
CheckButton.Enabled = False
Me.BackColor = System.Drawing.SystemColors.Control
For i As Integer = 0 To Count - 1
ReDim Preserve Numbers(i)
Numbers(i) = (Dice.Next Mod (Max + 1 - Min)) + Min
Next
Current = 0
End Sub
Shared Sub Main()
Dim Form1 As Q4090807A = New Q4090807A
Form1.ShowDialog()
End Sub
End Class
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UWSCにてある一定の動作を無限...
-
do-while文が禁止される理由
-
入力した文字列から母音だけを...
-
ライントレース 変数の使い方...
-
if( )の( )の中の意味
-
C言語forループが完結した場合...
-
プログラムで関数は使わない方...
-
For文の終了値を関数にしても問...
-
エクセルVBAで Do While (1)って?
-
信頼区間の1.96や1.65ってどこ...
-
プログラミング初心者です。 Py...
-
2÷3などの余りについて
-
「Aに対するBの割合」と「Aに対...
-
ラップ関数とはどんなものですか?
-
複数桁10進数の*桁目だけを抽出...
-
2の補数を計算するプログラム
-
(int *)の意味
-
#define _CRT_SECURE_NO_WARNIN...
-
変数とパラメータとは違うもの...
-
コンソールアプリケーションの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループを途中で抜けたいのですが。
-
入力した文字列から母音だけを...
-
do-while文が禁止される理由
-
break文でループを一気に抜ける...
-
Excel VBAで年度をまたぐ期間の...
-
エクセルVBAで Do While (1)って?
-
入力した数値を倍々するプログラム
-
UWSCにてある一定の動作を無限...
-
For文の終了値を関数にしても問...
-
C言語forループが完結した場合...
-
n重のfor文にするには?
-
for文while文の無限ループの違...
-
Delphiで・・・
-
Cプログラムが終了しない
-
strstr()関数の実装内容について。
-
PAD図の書き方
-
__asm int 3でのブレイクポイン...
-
PIC のプログラムについて ど...
-
線形探索(番兵法)のプログラ...
-
放電現象の2分法C言語プログラ...
おすすめ情報