じゃんけんゲームを作成するには?

解決


海音  URL  2004-01-14 20:13:10  No: 81437

只今、じゃんけんゲームを作成しています。
それで、
「ジャン」「ケン」「ポン」とLabel3に表示させるのですが、
「ポン」と表示させるのと同時にLabel1に
comの手を表示させえたいのです。
どのような関数を使えばよいのかもわからないので
なにか、アドバイスください。。。

只今のソースは、↓のようになっています。
--------------------------------------------------------------------
Public taisen As Integer
Public kati As Integer
Public make As Integer
Public aiko As Integer
Public user_gu As Integer
Public user_chok As Integer
Public user_par As Integer
--------------------------------------------------------------------
Private Sub Command1_Click()
    Comcho
            
End Sub
--------------------------------------------------------------------
Private Sub Command2_Click()
    Label2.Caption = "グー"
    Comcho
        If Label1.Caption = "グー" Then n = 3
        If Label1.Caption = "チョキ" Then n = 1
        If Label1.Caption = "パー" Then n = 2
    Shohai (n)
        user_gu = user_gu + 1
End Sub
--------------------------------------------------------------------
Private Sub Command3_Click()
    Label2.Caption = "チョキ"
    Comcho
        If Label1.Caption = "チョキ" Then n = 3
        If Label1.Caption = "パー" Then n = 1
        If Label1.Caption = "グー" Then n = 2
    Shohai (n)
        user_chok = user_chok + 1
End Sub
--------------------------------------------------------------------
Private Sub Command4_Click()
    Label2.Caption = "パー"
    Comcho
        If Label1.Caption = "パー" Then n = 3
        If Label1.Caption = "グー" Then n = 1
        If Label1.Caption = "チョキ" Then n = 2
    Shohai (n)
        user_par = user_par + 1
End Sub
--------------------------------------------------------------------
Private Sub Comcho()
    Dim randamvalue As Double
    Dim com_gu As Double    'ユーザがグーを出す確率
    Dim com_chok As Double  'ユーザがチョキを出す確率
    
    randamvalue = Rnd(1)    '0以上1未満の乱数を発生させる
    com_gu = user_gu / (user_gu + user_chok + user_par)
    com_chok = (user_gu + user_chok) / (user_gu + user_chok + user_par)
    
    If randamvalue <= com_gu Then
        Label1.Caption = "パー"     'グーを出す確率が高いのでパーを出す
    Else
    
    If randamvalue <= com_chok Then
        Label1.Caption = "グー"     'チョキを出す確率が高いのでグーを出す
    Else
        Label1.Caption = "チョキ"
    End If
    End If
End Sub
--------------------------------------------------------------------
Private Sub Shohai(k)
    taisen = taisen + 1
    Label6.Caption = taisen
    If k = 1 Then
        Label3.Caption = "勝ち"
        kati = kati + 1
    End If
    If k = 2 Then
        Label3.Caption = "負け"
        make = make + 1
    End If
    If k = 3 Then
        Label3.Caption = "あいこ"
        aiko = aiko + 1
    End If
        Label9.Caption = kati
        Label11.Caption = make
        Label12.Caption = aiko
End Sub
--------------------------------------------------------------------
Private Sub Form_Load()
    user_gu = 1
    user_chok = 1
    user_par = 1
End Sub
--------------------------------------------------------------------


いちゆ  2004-01-14 20:35:40  No: 81438

プログラムをみると…その「ジャン」「ケン」「ポン」というのがないんですけど…
どうしろと?
見たところあまり合理化されていないプログラムなので、力任せに一度書いてみてはいかが?


海音  2004-01-14 21:08:40  No: 81439

「ジャン」と表示させることは
captionで可能なのですが、
ジャンのあとに
「ケン」と「ポン」を
表示させることができないのです。。。
すいません。初心者で。
みなさんは、関数とか
どうやって調べているのですか?


ぽち  2004-01-14 21:15:45  No: 81440

Timer コントロールを使えばできるかと。
Timer1, Command1, Label1 をフォーム上に配置し、
下のコードを実行して、ボタンを押してみて下さい。
ラベルに、じゃん、けん、ぽんと順に表示されます。

Private Sub Command1_Click()
  Label1.Caption = "じゃん"
  Timer1.Interval = 700
  Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
  Select Case Label1.Caption
    Case "じゃん": Label1.Caption = "けん"
    Case "けん":   Label1.Caption = "ぽん"
    Case "ぽん": Timer1.Enabled = False
  End Select
End Sub


海音  URL  2004-01-15 20:11:28  No: 81441

Private Sub Command1_Click()
  Label1.Caption = "じゃん"
  Timer1.Interval = 700
  Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
  Select Case Label1.Caption
    Case "じゃん": Label1.Caption = "けん"
    Case "けん":   Label1.Caption = "ぽん"
  comcho
    Case "ぽん": Timer1.Enabled = False
  End Select
End Sub

で、ちゃんとできましたv
ありがとうございました。


海音  2004-01-15 20:12:20  No: 81442

解決チェックするの
忘れてました。
スイマセン。。。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加