• 締切済み

途中でエラーが出てしまい手が止まってしまいました(T_T)

don_chaの回答

  • don_cha
  • ベストアンサー率34% (139/407)
回答No.4

見本プログラムではありませんが、処理を箇条書きすると以下のような感じですね。 <乱数設定> 1.乱数により1~13の値を設定する。 2.設定値を表示するラベルに「?」を表示する。 <フォーム表示時> 1.乱数設定処理を行う。 <ボタン1(Small)押下時> 1.当たり判定処理を行う。(判定、スコア、ゲームオーバー、設定乱数表示) 2.乱数設定処理を行う。 <ボタン2(Large)押下時> 1.当たり判定処理を行う。(判定、スコア、ゲームオーバー、設定乱数表示) 2.乱数設定処理を行う。 <当たり判定> 1.Small(Large)ボタン押下で設定されている乱数が7より小さい(大きい)場合、   スコアに1点加算し、MessageTextに「当たり」を代入。 2.乱数が7と同値の場合は、MessageTextに「引き分け」を代入。 3.上記1.と2.に該当しない場合は、スコアを0にし、MessageTextに「外れ、   ゲームオーバー」を代入。 4.スコアをテキストボックスに表示、乱数をラベルに表示し、メッセージボックス   で、上記1.~3.に代入されたMessageTextを表示。 5.スコアが0の時はプログラムを終了。 上記の<>内が各サブルーチンになりますね。

関連するQ&A

  • 文字列連結演算子を使った繰り返し(ループ)について

    Text1・Command1・Label1 と並んだBoxでText1に数字を入力しCommand1を押すと漢数字(一,二…)となるプログラムなのですが、一桁ずつ求めて行き最後に文字列連結演算子を使って求める場合はどのようにしたらよいのでしょうか? エラーが出るのでどこかが変なんだと思うのですが、何度みてもわからなくて。。。今途中の段階ですが当方がやったところまでを乗せておきますので。違うところや付け足すところなど指摘したり教えていただけたらと思っています。よろしくお願いします。 Private Sub Command2_Click() Dim a As Integer Dim b As String a = Val(Text1.Text) For x = 1 To 5 If a = 1 Then Label1.Caption = "一" ElseIf a = 2 Then Label1.Caption = "二" ElseIf a = 3 Then Label1.Caption = "三" ElseIf a = 4 Then Label1.Caption = "四" ElseIf a = 5 Then Label1.Caption = "五" ElseIf a = 6 Then Label1.Caption = "六" ElseIf a = 7 Then Label1.Caption = "七" ElseIf a = 8 Then Label1.Caption = "八" ElseIf a = 9 Then Label1.Caption = "九" Else Label1.Caption = "〇" sText1 = "1" & "2" & "3" & "4" & "5" & "6" & "7" & "8" & "9" sLabel1 = "一" & "二" & "三" & "四" & "五" & "六" & "七" & "八" & "九" End If End Sub

  • コードの添削お願いします(変数エラー)

    Option Explicit Private Sub CommandButton1_Click() Dim myStr As String If myStr <> "" Then myStr = TextBox.Value Label1.Caption = LTrim(myStr) Label2.Caption = RTrim(myStr) Label3.Caption = Trim(myStr) Else MsgBox "終了" End If End Sub 変数のエラーが出ますが、何処がおかしいですか? 宜しくお願い致します。

  • VB初心者です

    計算結果が"7"の時に限り、「当たり!」と表示される、ちょっと意味不明な計算機を作っています。 現在、下記のように書いてますが、何故かうまくいきません。(当たりが表示されない 何故でしょうか?お助けください。。m(_ _)m Private Sub Command1_Click() Label1.Caption = Str(Val(Text1.Text) + Val(Text2.Text)) Label3.Caption = "+" Label4.Visible = False '画像を隠す。 'いずれかの数字が「7」のとき、メッセージを表示する。 If Label1.Caption = "7" Then Label4.Visible = True End If End Sub Private Sub Command2_Click() End End Sub Private Sub Command3_Click() Label1.Caption = Str(Val(Text1.Text) * Val(Text2.Text)) Label3.Caption = "*" End Sub Private Sub Command4_Click() Label1.Caption = Str(Val(Text1.Text) - Val(Text2.Text)) Label3.Caption = "-" End Sub Private Sub Command5_Click() Label1.Caption = Str(Val(Text1.Text) / Val(Text2.Text)) Label3.Caption = "/" End Sub

  • ビジュアルベーシックのお絵かき掲示板

    まったくの初心者です。初歩的な質問で申し訳ありません。 カラーのところでクリックが実行できません。 なぜなのかよくわかりません。お暇なときご教授下さい。  そしてもう一つ質問ですが以下のコードを追加したいの ですがどこに挿入すればいいのですか。 →private sub image_click() ccolor = 7 end sub ここまでのコードを追加したいです。 ーーーーーーーーーーーーーーーーーーーーーーーーーー Private Sub Command1_Click() Form1.Cls End Sub Private Sub Command2_Click() End End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.DrawWidth = 3 If Button = 1 Then PSet (X, Y), QBColor(ccolor) End If End Sub Private Sub Label1_Click() cccolor = 14 End Sub Private Sub lavel2_click() cccolor = 0 End Sub Private Sub label3_click() ccolor = 9 End Sub Private Sub label4_click() ccolor = 12 End Sub Private Sub label5_click() ccolor = 10 End Sub

  • vb6.0のプログラム

    今こんなプログラムを作っているのですがなぜか、足りない部分があると言われて困っております。 できれば教えてください。 図 ーーーーーーーーーーーーーーーー from ーーーーーーーーーーーーーーーー 残り30秒[ーーーーラベルーーーー] 000+000=000←(3つともlabel) □-------------------□←HScrollbar max100 min0 [コマンドボタン] [タイマー]←非表示 ーーーーーーーーーーーーーーーー コード Private intCount As Integer Private intSecond As Integer Private Sub cmdStart_Click() Dim intNum1 As Integer Dim intNum2 As Integer If cmdStart.Caption = "Start" Then intCount = 0 intSecond = 30 lblResult.Caption = "" cmdStart.Caption = "OK" tmrSecond.Enabled = True ElseIf cmdStart.Caption = "OK" Then If CInt(lblAnswer.Caption) = CInt(lblNum1.Caption) + CInt(lblNum2.Caption) Then lblResult.Caption = lblResult.Caption & "○" intCount = intCount + 1 Else lblResult.Caption = lblResult.Caption & "×" End If intNum1 = Rnd() * 50 intNum2 = Rnd() * 50 lblNum1.Caption = intNum1 lblNum2.Caption = intNum2 End If End Sub Private Sub hsbAnswer_Change() lblAnswer.Caption = hsbAnswer.Value End Sub Private Sub tmrSecond_Timer() intSecond = intSecond - 1 lblTime.Caption = "残り" & intSecond & "秒" If intSecond = 0 Then tmrSecond.Enabled = False MsgBox (intCount & "問正解") cmdStart.Caption = "Start" Else End If End Sub どうぞよろしくお願いします。

  • Formオブジェクトについて

    Formオブジェクトに関する質問です。 ある関数にフォームオブジェクトを引数として渡してやりたいのですが、何かよい方法はありますでしょうか? 例) Private Sub cmdTest_Click(Index as Integer) Dim frm as Form If Index = 0 then Load_Test(Form 2) Else Load_Test(Form 3) End if End Sub Private Sub Load_Test(frm as Form) frm.Show frm.Label1.Caption = "TEST” End Sub

  • VB6 Form内のDragDrop

    VB6でForm内にCommandButtonがいくつか有ります。 各CommandButtonはClickするとShellオブジェクトでファイルを開く様になっています。 やりたいことは 2つのCommandButton間をDragDrop?によりCaptionを入れ替えたいです。 (CommandButton間をマウスDragDropでCaption名入れ替え) MouseDownとDragDropイベントで何とかなると思いましたがうまくいきません。 Dim dd As Integer Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton Then dd = 1 'CommandボタンNo, End If End Sub Private Sub Command2_DragDrop(Source As Control, X As Single, Y As Single) Dim cn As String cn = Command2.Caption Command2.Caption = Controls("Command" & dd).Caption Controls("Command" & dd).Caption = cn End Sub CommandButtonプロパティでDragModeを自動にするとShellオブジェクトでファイルが開かないし サイトで調べたところファイルの移動やコマンド自体の移動などで分かりませんでした。 ご教授お願い致します。

  • 漢数字に変換するプログラム

    入力した数字を漢数字に変換する例題なのですが、回答のサンプルコードは以下になっています。 number = Math.Abs(number)以下のコードの意味が分かりません。詳しく教えていただけませんでしょうか。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim kanji() As String = New String() {"○", "一", "二", "三", "四", "五", "六", "七", "八", "九"} Dim number As Integer Dim kansuji As String = "" Dim sign As String = "" If Integer.TryParse(TextBox1.Text, number) Then If number < 0 Then sign = "-" End If number = Math.Abs(number) Do kansuji = kanji(number Mod 10) & kansuji number \= 10 Loop Until number < 1 Label2.Text = sign & kansuji Else Label2.Text = ("整数を入力してください") End If End Sub End Class

  • VBA DoEvents関数の働きと使い方を知りたい

    下記のような UserForm上の Module コードを書いてももらったのですが、DoEvents の働きが分からないのです。どなたか分かりやすく説明していただけませんでしょうか? Private i As Integer Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Me.TextBox1.Value = Me.Label1.Caption Then Me.Label2.Caption = "正解です" Else Me.Label2.Caption = "不正解です" End If DoEvents If i < 20 Then i = i + 1 Label_Up Me.TextBox1.Value = "" Cancel = True Else MsgBox "終了です" End If End Sub Private Sub UserForm_Initialize() i = 1 Label_Up End Sub Private Sub Label_Up() Me.Label1.Caption = Sheets("Sheet1").Range("A1:A20").Cells(i).Value DoEvents End Sub

  • ExcelVBAのイメージコントロールについて

    こんにちは。Excel2000を使用している初心者です。 フォーム上には以下のものがあります。 Image1 Label1、Label2、Label3、Label4 CommandButton1 ・CommandButton1を押すとImage1に画像Aをロードして、次に押すと消すという動作をさせます。 ・Image1の上をマウスが動くと座標をLabel1(x)、2(y)に常に表示させます。 ・Image1をクリックするとそのときの座標をLabel3(x)、4(y)に表示させたままにします。 コードは以下の通りです。 Dim Flg As Boolean Flg = False Private Sub CommandButton1_Click() If Flg = False then Me.Image1.Picture = LoadPicture ("C:\A.jpg") Flg = True Else Me.Image1.Picture = LoadPicture ("") Flg = False End If End Sub Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer,_ ByVal X As Single, ByVal Y As Single) Me.Label1.Caption = X Me.Label2.Caption = Y End Sub Private Sub Image1_Click() Me.Label3.Caption = Me.Label1.Caption Me.Label4.Caption = Me.Label2.Caption End Sub ・・・という記述なんですが、まず画像を表示させて、次にイメージをクリックしてLabel3、4に座標を表示させた後、CommandButton1を押してもイベントを受け付けてくれません。 イメージをクリックさえしなければ、画像の表示/非表示の切り替えはできます。 何が間違っている(足りない?)のでしょうか? よろしくお願いします。