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

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

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

Re[12]: スロットマシンを作ってみましたが [1]


(過去ログ 32 を表示中)

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

■15772 / inTopicNo.21)  Re[8]: スロットマシンを作ってみましたが
  
□投稿者/ seven (18回)-(2008/03/21(Fri) 09:47:49)
No15750 (y4yama さん) に返信
> 一段落されたようで・・・
> えぇ〜と、ドラムは段々遅くなって、遂にはあるimageList1の4つの画像のどれかの中心で止まる・・・
> という動きは不要なのでしょうか。Timerは一定間隔でも、Y方向のずれの値を変化させれば実現可能です
>が・・・
> コードはif (ps == 0)//とelseの2つに分けなくていいし、キレイになりそうです

もしお時間がありましたら、サンプルあげていただけますか。勉強したいと思います。
> sevenさん、気楽に会話をしましょうヨ 

ありがたいお言葉、うれしく思います。
引用返信 編集キー/
■15773 / inTopicNo.22)  Re[9]: スロットマシンを作ってみましたが
□投稿者/ PATIO (44回)-(2008/03/21(Fri) 10:21:44)
No15772 (seven さん) に返信
> ■No15750 (y4yama さん) に返信
>>一段落されたようで・・・
>>えぇ〜と、ドラムは段々遅くなって、遂にはあるimageList1の4つの画像のどれかの中心で止まる・・・
>>という動きは不要なのでしょうか。Timerは一定間隔でも、Y方向のずれの値を変化させれば実現可能です
> >が・・・
>>コードはif (ps == 0)//とelseの2つに分けなくていいし、キレイになりそうです
>
> もしお時間がありましたら、サンプルあげていただけますか。勉強したいと思います。

すでにある程度作成を進めておられるのですし、ヒントはもらったわけですから
まずは御自分で考えて見られた方が良いと思いますよ。
人からサンプルもらってしまうとどうしてもそれに引きずられてしまうので
見せられる前に自分で考えてみた方が勉強になると思います。

できれば、自分で考えた内容を提示して意見を聞くとかした方が
もっと建設的で勉強になるかと。

引用返信 編集キー/
■15775 / inTopicNo.23)  Re[9]: スロットマシンを作ってみましたが
□投稿者/ y4yama (61回)-(2008/03/21(Fri) 11:15:09)
No15772 (seven さん) に返信
> もしお時間がありましたら、サンプルあげていただけますか。勉強したいと思います。
VB2005で昔作ったつたないテスト版ならありますが、・・・VBは読めますでしょうか?

引用返信 編集キー/
■15781 / inTopicNo.24)  Re[10]: スロットマシンを作ってみましたが
□投稿者/ seven (19回)-(2008/03/21(Fri) 19:30:40)
No15775 (y4yama さん) に返信
> VB2005で昔作ったつたないテスト版ならありますが、・・・VBは読めますでしょうか?
2003をかじったことがあるので、書籍などで調べながら解読したいと思います。
よろしくお願いします。

引用返信 編集キー/
■15855 / inTopicNo.25)  Re[11]: スロットマシンを作ってみましたが
□投稿者/ y4yama (62回)-(2008/03/24(Mon) 09:35:49)
No15781 (seven さん) に返信
>人からサンプルもらってしまうとどうしてもそれに引きずられてしまうので
>見せられる前に自分で考えてみた方が勉強になると思います。
というご意見は、もっともなので、「それに引きずられてしまう」ことなく、一例として
ながめて下さいネ
VB2005EEで動作確認しました。

Public Class Form1

    Private y1 As Single = 999
    Private y1_addvalue As Single = 8
    Private y1_hantei As Single
    Private b1_push As Boolean = False
    Private arrLabel() As String = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
    Private a1 As Integer = 0
    Private yLabel(2) As Label '3つの文字は、実行時にソフトが作る

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'PictureBox1 は幅40、高さ80 
        PictureBox1.BorderStyle = BorderStyle.Fixed3D

        Timer1.Interval = 160 'ドラムの回転速度
        Timer1.Enabled = True
        Dim ii As Integer
        For ii = 0 To 2
            yLabel(ii) = New Label()
            yLabel(ii).Width = 20
            yLabel(ii).Left = 5
            yLabel(ii).TextAlign = ContentAlignment.MiddleCenter
            yLabel(ii).BorderStyle = BorderStyle.Fixed3D
            yLabel(ii).ForeColor = Color.Blue
            PictureBox1.Controls.Add(yLabel(ii))
        Next
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If 0 < y1_addvalue Then
            y1 += y1_addvalue       '下に回転する
        End If
        If 32 <= y1 Then
            y1 = 0
            a1 = a1 + 1
            If 9 < a1 Then
                a1 = 0
            End If
            yLabel(0).Text = arrLabel(a1)
            yLabel(1).Text = arrLabel((a1 + 9) Mod 10)
            yLabel(2).Text = arrLabel((a1 + 8) Mod 10)
        End If
        If b1_push Then
            If y1_addvalue < y1_hantei And 12 <= y1 And y1 < 16 Then
                y1 = 15
                y1_addvalue = 0
                yLabel(1).ForeColor = Color.Red '中央のyLabel(1)を赤色(停止のサイン)
            ElseIf y1_hantei <= y1_addvalue Then
                y1_addvalue -= 0.13  '回転を少しづつ遅くする
            End If
        End If
        'yLabel(0)〜(2)のPictureBox1中での位置を更新する
        Dim y_offset = 20
        yLabel(0).Top = y1 - y_offset
        yLabel(1).Top = y1 - y_offset + 32
        yLabel(2).Top = y1 - y_offset + 64

    End Sub

    '停止ボタン
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        b1_push = True
        y1_hantei = 0.9 + (Now().Millisecond) / 300 '擬似乱数で停止の判定を変化させる
    End Sub

    'restartボタン. 再度、回転を始める
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        b1_push = False
        a1 = 2
        y1 = 999
        y1_addvalue = 8
        yLabel(1).ForeColor = Color.Blue
    End Sub
End Class

PictureBox1の中に、yLabel(0)〜(2)が3個配置されて、配置位置はソフトでyLabel(0).Top を更新しています
yLabel(0)〜(2)には、yLabel(1).Text = arrLabel((a1 + 9) Mod 10)というようにシーケンスな"0"〜"9"の
文字を表示させます
imageListを使わなくても、このようにTESTは簡単にできるのです。正確な終了処理などはしてませんので、あしからず・・

引用返信 編集キー/
■15941 / inTopicNo.26)  Re[12]: スロットマシンを作ってみましたが
□投稿者/ seven (20回)-(2008/03/25(Tue) 22:06:41)
No15855 (y4yama さん) に返信
お忙しところサンプル有り難うございます。
今度の休みにじっくり眺めて取り組んでみます。
引用返信 編集キー/

<前の20件
トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

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

管理者用

- Child Tree -