C# exercises (4) Slot machine

Visual Studio community 2015 アカウントについて (学内専用)

スロットマシンの作成

Slot machine

スロットのプログラムに必要な3つの部品

  • 数字を表示させるための部品
    •   → ラベル (Labelコントロール)
  • スロットを開始するための部品
    •   → ボタン (Buttonコントロール)
  • 数字の書き換えを短い間隔で行うため、その間隔を計るための部品
    •   → タイマー (Timerコントロール)

これらの部品はツールボックスに入っている

デザイン

部品の貼り付け

slot2

文字の大きさの変更

フォントの大きさを72ポイント程度にする

プログラム

コントロールとプログラムの関係

  • コントロールに対して何かをすると、イベントが発生する
    • イベントに対応したプログラムを作成する
  • フォーム上のボタン(button1)をダブルクリックすると、ボタンをクリックしたときに発生するイベントに対応したプログラム(button1_Click)が自動的に生成される

slot3

Timerコントロール

一定の間隔で処理をさせたいときに使う

  • timer1:Timerコントロールの変数名
  • Start()はタイマーを開始する命令
  • Intervalに設定している間隔で、定期的にtimer1_Tick()を発生させる
  • Intervalプロパティに設定する時間はミリ秒単位
    • Intervalプロパティに100を設定すると、100ミリ秒(0.1秒)ごとにtimer1_Tick()が呼ばれる

乱数を生成するイベントのプログラムの作成

0以上10未満の乱数を生成する

Timerコントロールをダブルクリック

  • –フォームの下に貼り付いているTimerコントロールをダブルクリックすると、自動的にtimer1_Tickというイベントのプログラムが生成される
  • –その中に、以下のプログラムを書く
  • –Next()命令により、0以上10未満の乱数を生成する
  • –それをLabelコントロールのTextプロパティに代入する
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace DigitalClock
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            label1.Text = DateTime.Now.ToLongTimeString();
            Random random = new Random();
            label1.Text = random.Next(10).ToString();
        }
    }
}

実行してみる

スクリーンショット 2016-05-12 14.55.35

機能追加

音声を追加

  • 一番最初に、using System.Media; を追加
  • button1_Clickイベントの{ } の中に
SoundPlayer sound = new SoundPlayer(@“ファイル名”);
sound.Play();

(ファイル名の指定で、””の前に@を書くと、\を2つ書かなくても良くなる)

停止機能

ボタン(開始/停止)機能

 

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


Related Post

C# programming exercisesC# programming exercises

【授業の概要】  比較的簡単に自分が作成したいWindowsアプリを開発できるVisual C# を無料2015 Visual Studio Communityの統合開発環境を使い学習する。 開発現場でも使われているVisual Studioの使い方やコンポーネント指向やオブジェクト指向を理解できるように、GDI+ APIを使ってGUIのあるプログラムで実践的に学習していく。 簡単ながら、応用しやすく、興味がもてるような題材を使う。自宅のWindowsPCを持っている学生はインストールして実習することで理解が深まる。 【授業要旨】 【テキスト】 回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分) 1 […]

C# exercises (9) Puzzle Game3C# exercises (9) Puzzle Game3

Visual Studio community 2015 アカウントについて (学内専用) パズルゲームUIの改進 改進点: ピースを順番でセットするではなく、あらかじめランダムにセットして、マウス移動できるようにする ピースをあらかじめランダムにセット initialData の改造 // 変数関係の初期化処理 private void initialData() { flg = new […]

C# exercises (2) Event-drivenC# exercises (2) Event-driven

 Visual Studio community 2015 アカウントについて (学内専用) イベントドリブンとは 「キーボードのボタンが押された」とか「マウスが移動した」等の、 コンピュータ上で発生するなんらかの事象のことをイベント(event)といい、 イベントが発生したときに行う処理のことをイベント ハンドラー(event handler)と呼びます。 このように、イベントとそれに対する処理により動作するようなプログラムのことをイベント駆動型(event drive)プログラムと呼びます。 課題:ボタンクリックでメッセージボックス に表示 デザインの作成 ツールボックスの中から、Buttonを選択して、Form1に貼り付ける ボタン名の変更 プログラムの作成 ボタンをダブルクリック(ダブルクリック: マウスの左ボタンを2回連続で押す) […]