C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: VB2008でスロットゲームを作っていますが


(過去ログ 89 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■53149 / inTopicNo.1)  VB2008でスロットゲームを作っていますが
  
□投稿者/ VB初心者 (26回)-(2010/09/04(Sat) 13:44:57)

分類:[.NET 全般] 

一応は遊ぶことは出来るのですが、表示される数字が今のままではランダムですので、スロットとしてはあまりにも使い勝手が悪く、どうすればいいのか判らず困っています。
数字の表示順を、LABELごとに固定するにはどう改良すればよろしいのでしょうか? どうか、どなたかアドバイスをお願いいたします。
ちなみに、以下が現在のプログラムのコードです。

Public Class Form1
    Dim x, y, z, m As Integer
    Sub aaaa()
        If Timer1.Enabled = False And Timer2.Enabled = False And Timer3.Enabled = False Then
            If x = y And y = z Then
                Label4.Text = "Fever!"
                m = m + 500
                Label5.Text = m
            Else
                Label4.Text = "Boo!"
            End If
        End If
    End Sub
    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
        Select Case Val(Label1.Text)
            Case 1
                Label1.ForeColor = Color.BlueViolet
            Case 2
                Label1.ForeColor = Color.DarkOrange
            Case 3
                Label1.ForeColor = Color.DarkGreen
            Case 4
                Label1.ForeColor = Color.Crimson
            Case 5
                Label1.ForeColor = Color.Black
            Case 6
                Label1.ForeColor = Color.Beige
            Case 7
                Label1.ForeColor = Color.Blue
        End Select
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        End
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        m = 1000
    End Sub

    Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
        Select Case Val(Label3.Text)
            Case 1
                Label3.ForeColor = Color.BlueViolet
            Case 2
                Label3.ForeColor = Color.DarkOrange
            Case 3
                Label3.ForeColor = Color.DarkGreen
            Case 4
                Label3.ForeColor = Color.Crimson
            Case 5
                Label3.ForeColor = Color.Black
            Case 6
                Label3.ForeColor = Color.Beige
            Case 7
                Label3.ForeColor = Color.Blue
        End Select
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        m = m - 10
        Label1.Text = ""
        Timer1.Enabled = True
        Timer2.Enabled = True
        Timer3.Enabled = True
        Label5.Text = m
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Enabled = False
        aaaa()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Timer2.Enabled = False
        aaaa()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Timer3.Enabled = False
        aaaa()
    End Sub

    Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click
        Select Case Val(Label2.Text)
            Case 1
                Label2.ForeColor = Color.BlueViolet
            Case 2
                Label2.ForeColor = Color.DarkOrange
            Case 3
                Label2.ForeColor = Color.DarkGreen
            Case 4
                Label2.ForeColor = Color.Crimson
            Case 5
                Label2.ForeColor = Color.Black
            Case 6
                Label2.ForeColor = Color.Beige
            Case 7
                Label2.ForeColor = Color.Blue
        End Select
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        x = Int(Rnd(1) * 7 + 1)
        Label1.Text = x
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        y = Int(Rnd(1) * 7 + 1)
        Label2.Text = y
    End Sub

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
        z = Int(Rnd(1) * 7 + 1)
        Label3.Text = z
    End Sub
End Class

引用返信 編集キー/
■53151 / inTopicNo.2)  Re[1]: VB2008でスロットゲームを作っていますが
□投稿者/ επιστημη (2549回)-(2010/09/04(Sat) 13:54:43)
επιστημη さんの Web サイト
> 数字の表示順を、LABELごとに固定する

とは、どんな挙動を期待していますか?

引用返信 編集キー/
■53212 / inTopicNo.3)  Re[1]: VB2008でスロットゲームを作っていますが
□投稿者/ shu (8回)-(2010/09/07(Tue) 08:28:01)
No53149 (VB初心者 さん) に返信
ドラムパターンを定義したいってことですか?
引用返信 編集キー/
■53216 / inTopicNo.4)  Re[2]: VB2008でスロットゲームを作っていますが
□投稿者/ 木元 (1回)-(2010/09/07(Tue) 10:47:42)
> ■No53149 (VB初心者 さん) に返信
timerコントロールを1つにして、ドラムを表示する関数を作ってどうでしょうか
引用返信 編集キー/
■53261 / inTopicNo.5)  Re[3]: VB2008でスロットゲームを作っていますが
□投稿者/ VB初心者 (27回)-(2010/09/08(Wed) 16:40:58)
すいません。所要で数日出かけておりましたので、反応が遅れておりました。

No53151 (επιστημη さん) に返信
>>数字の表示順を、LABELごとに固定する
> とは、どんな挙動を期待していますか?

説明不足ですいません。
No53212さんの仰る通りに、ドラムパターンを定義したいってことなんです。
正確には、ラベルごとに別のドラムパターンを用意しておきたいんです。同じパターンだとやはりスロットゲームとしてどうかと思いますので。


No53212 (shu さん) に返信
> ドラムパターンを定義したいってことですか?

はい、そういう意味です。説明不足で申し訳ございません。


No53216 (木元 さん) に返信
> timerコントロールを1つにして、ドラムを表示する関数を作ってどうでしょうか

えっと、そのやりかたでは複数のドラムパターンを同時に使用することは出来ますか?
そして、どのようにプログラムを組めばいいのでしょうか?
引用返信 編集キー/
■53262 / inTopicNo.6)  Re[4]: VB2008でスロットゲームを作っていますが
□投稿者/ shu (19回)-(2010/09/08(Wed) 16:55:59)
No53261 (VB初心者 さん) に返信
ドラムパターンはそれぞれのドラムで配列かListを使えばいいかと思います。ドラムの場所を保持する変数を用意する必要があります。

Timerは1個でいいです。というか複数持つと変な動きをすることがあるのでやめた方がいいと思います。
ドラムの停止制御はprivate変数をドラム単位で用意してその値をTimerイベント内で判断してTimerの停止を行い、ボタンのクリックではこの変数の値の変更だけ行います。
引用返信 編集キー/
■53275 / inTopicNo.7)  Re[5]: VB2008でスロットゲームを作っていますが
□投稿者/ shu (22回)-(2010/09/09(Thu) 09:53:43)
追記:見た目をもう少しスロットっぽくみせるとしたらラベルは縦3文字分の長さにしておきパネル内に
配置上下半分が隠れるようにするといいかもしれません。現在のドラムの場所に対し前後にある文字も表示することになりますが。
引用返信 編集キー/
■53297 / inTopicNo.8)  Re[5]: VB2008でスロットゲームを作っていますが
□投稿者/ VB初心者 (28回)-(2010/09/09(Thu) 20:12:20)
No53262 (shu さん) に返信
> ■No53261 (VB初心者 さん) に返信
> ドラムパターンはそれぞれのドラムで配列かListを使えばいいかと思います。ドラムの場所を保持する変数を用意する必要があります。
>
> Timerは1個でいいです。というか複数持つと変な動きをすることがあるのでやめた方がいいと思います。
> ドラムの停止制御はprivate変数をドラム単位で用意してその値をTimerイベント内で判断してTimerの停止を行い、ボタンのクリックではこの変数の値の変更だけ行います。
No53275 (shu さん) に返信
> 追記:見た目をもう少しスロットっぽくみせるとしたらラベルは縦3文字分の長さにしておきパネル内に
> 配置上下半分が隠れるようにするといいかもしれません。現在のドラムの場所に対し前後にある文字も表示することになりますが。

見た目の事までは考えてもいませんでした。本題のみならずレイアウトの事までアドバイスいただき、本当にありがとうございました。
とりあえず、ご意見通りにやってみようと思います。

上手く作れないかもしれませんし、もう少しアドバイスを聞きたいので、このスレはもうしばらく解決済みにはしないつもりです。質問の際にはどうぞよろしくお願いいたします。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -