C#で自動販売機作成するよ(。-`ω-)

#【はじめに】機能説明は、、、えっ？そんだけ？！
:star:起動時画面
<img src="https://qiita-image-store.s3.amazonaws.com/0/248438/9ce1b208-f464-b6a9-35c2-28543bc470dd.png" width=50%>

:star:飲み物を購入する場合の流れ(/・ω・)/
①お金のボタンを押す！
②飲み物のボタンを押す！
③下に表示されるボタンを押してGET！
④2秒後終了。。。

:star:飲み物の購入を取り消しする場合の流れ(゜_゜)
①お金のボタンを押す！
②取り消しボタンを押す！
③2秒後終了。。。

ほらね！雑でしょ (・∀・)/~~

#【各コントロールのプロパティ】わかりやすいかな？
:star:「コントロール：Nameプロパティ：その他のプロパティ」の順で書くよ(￣▽￣)
Form：VendingMachines：Text(自動販売機)
Button：TeaBtn：Text(お茶 120円)
Button：ColaBtn：Text(コーラ 120円)
Button：WaterBtn：Text(水 100円)
Button：Btn10：Text(10円)
Button：Btn50：Text(50円)
Button：Btn100：Text(100円)
Button：Btn500：Text(500円)
Button：Btn1000：Text(1000円)
Button：ClearBrn：Text(取り消し)
Button：OutBtn：なし
Label：DisplayMoney：なし
Label：Display：なし
Label：returnMoney：Text(返却)

Nameプロパティ書き方雑丸出し(;・∀・)

#【コード】説明は特になくベタッ！と
※コード雑です。悪しからずぅぅぅううう！！(∩´∀｀)∩
:star:ボタンを「有効」「無効」で無理やり制御(●´ω｀●)

```C#:Form1.cs
using System;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;

namespace Vendingmachines
{
    public partial class VendingMachines : Form
    {
        public VendingMachines()
        {
            InitializeComponent();
        }

        private MoneyAdd Counter { get; } = new MoneyAdd();

        private void VendingMachines_Load(object sender, EventArgs e)
        {
            ClearBrn.Enabled = false;
            TeaBtn.Enabled = false;
            TeaBtn.BackColor = Color.White;
            ColaBtn.Enabled = false;
            ColaBtn.BackColor = Color.White;
            WaterBtn.Enabled = false;
            WaterBtn.BackColor = Color.White;
            OutBtn.Enabled = false;
            DisplayMoney.Text = Counter.ResultMoney().ToString() + "円";
            Display.Text = "お金を押してください";
        }

        private void Btn10_Click(object sender, EventArgs e)
        {
            ClearBrn.Enabled = true;
            Counter.Count10();
            DisplayMoney.Text = Counter.ResultMoney().ToString() + "円";
            Display.Text = "飲み物を選択してください";

            int result = Counter.ResultMoney();
            int tea = 120;
            int cola = 120;
            int water = 100;
            if (result >= tea || result >= cola)
            {
                TeaBtn.Enabled = true;
                TeaBtn.BackColor = Color.LimeGreen;
                ColaBtn.Enabled = true;
                ColaBtn.BackColor = Color.Sienna;
            }
            if (result >= water)
            {
                WaterBtn.Enabled = true;
                WaterBtn.BackColor = Color.SkyBlue;
            }
        }

        private void Btn50_Click(object sender, EventArgs e)
        {
            ClearBrn.Enabled = true;
            Counter.Count50();
            DisplayMoney.Text = Counter.ResultMoney().ToString() + "円";
            Display.Text = "飲み物を選択してください";

            int result = Counter.ResultMoney();
            int tea = 120;
            int cola = 120;
            int water = 100;
            if (result >= tea || result >= cola)
            {
                TeaBtn.Enabled = true;
                TeaBtn.BackColor = Color.LimeGreen;
                ColaBtn.Enabled = true;
                ColaBtn.BackColor = Color.Sienna;
            }
            if (result >= water)
            {
                WaterBtn.Enabled = true;
                WaterBtn.BackColor = Color.SkyBlue;
            }

        }

        private void Btn100_Click(object sender, EventArgs e)
        {
            ClearBrn.Enabled = true;
            Counter.Count100();
            DisplayMoney.Text = Counter.ResultMoney().ToString() + "円";
            Display.Text = "飲み物を選択してください";

            int result = Counter.ResultMoney();
            int tea = 120;
            int cola = 120;
            int water = 100;
            if (result >= tea || result >= cola)
            {
                TeaBtn.Enabled = true;
                TeaBtn.BackColor = Color.LimeGreen;
                ColaBtn.Enabled = true;
                ColaBtn.BackColor = Color.Sienna;
            }
            if (result >= water)
            {
                WaterBtn.Enabled = true;
                WaterBtn.BackColor = Color.SkyBlue;
            }
        }

        private void Btn500_Click(object sender, EventArgs e)
        {
            ClearBrn.Enabled = true;
            Counter.Count500();
            DisplayMoney.Text = Counter.ResultMoney().ToString() + "円";
            Display.Text = "飲み物を選択してください";

            int result = Counter.ResultMoney();
            int tea = 120;
            int cola = 120;
            int water = 100;
            if (result >= tea || result >= cola)
            {
                TeaBtn.Enabled = true;
                TeaBtn.BackColor = Color.LimeGreen;
                ColaBtn.Enabled = true;
                ColaBtn.BackColor = Color.Sienna;
            }
            if (result >= water)
            {
                WaterBtn.Enabled = true;
                WaterBtn.BackColor = Color.SkyBlue;
            }
        }

        private void Btn1000_Click(object sender, EventArgs e)
        {
            ClearBrn.Enabled = true;
            Counter.Count1000();
            DisplayMoney.Text = Counter.ResultMoney().ToString() + "円";
            Display.Text = "飲み物を選択してください";

            int result = Counter.ResultMoney();
            int tea = 120;
            int cola = 120;
            int water = 100;
            if (result >= tea || result >= cola)
            {
                TeaBtn.Enabled = true;
                TeaBtn.BackColor = Color.LimeGreen;
                ColaBtn.Enabled = true;
                ColaBtn.BackColor = Color.Sienna;
            }
            if (result >= water)
            {
                WaterBtn.Enabled = true;
                WaterBtn.BackColor = Color.SkyBlue;
            }
        }

        private void TeaBtn_Click(object sender, EventArgs e)
        {
            TeaBtn.Enabled = false;
            ColaBtn.Enabled = false;
            WaterBtn.Enabled = false;
            ClearBrn.Enabled = false;
            Btn10.Enabled = false;
            Btn50.Enabled = false;
            Btn100.Enabled = false;
            Btn500.Enabled = false;
            Btn1000.Enabled = false;
            OutBtn.Enabled = true;

            OutBtn.Text = "お茶";
            OutBtn.BackColor = Color.OrangeRed;

            int result = Counter.ResultMoney();
            int tea = 120;
            int change = result - tea;
            returnMoney.Text = "返却 " + change.ToString() + " 円";

            Display.Text = "ありがとうございました";
        }

        private void ColaBtn_Click(object sender, EventArgs e)
        {
            TeaBtn.Enabled = false;
            ColaBtn.Enabled = false;
            WaterBtn.Enabled = false;
            ClearBrn.Enabled = false;
            Btn10.Enabled = false;
            Btn50.Enabled = false;
            Btn100.Enabled = false;
            Btn500.Enabled = false;
            Btn1000.Enabled = false;
            OutBtn.Enabled = true;

            OutBtn.Text = "コーラ";
            OutBtn.BackColor = Color.OrangeRed;

            int result = Counter.ResultMoney();
            int cola = 120;
            int change = result - cola;
            returnMoney.Text = "返却 " + change.ToString() + " 円";

            Display.Text = "ありがとうございました";
        }

        private void WaterBtn_Click(object sender, EventArgs e)
        {
            TeaBtn.Enabled = false;
            ColaBtn.Enabled = false;
            WaterBtn.Enabled = false;
            ClearBrn.Enabled = false;
            Btn10.Enabled = false;
            Btn50.Enabled = false;
            Btn100.Enabled = false;
            Btn500.Enabled = false;
            Btn1000.Enabled = false;
            OutBtn.Enabled = true;

            OutBtn.Text = "水";
            OutBtn.BackColor = Color.OrangeRed;

            int result = Counter.ResultMoney();
            int water = 100;
            int change = result - water;
            returnMoney.Text = "返却 " + change.ToString() + " 円";

            Display.Text = "ありがとうございました";
        }

        private void ClearBrn_Click(object sender, EventArgs e)
        {
            int result = Counter.ResultMoney();
            returnMoney.Text = "返却 " + result.ToString() + " 円";
            Display.Text = "またのご利用お待ちしております";
            int sec = 2;
            for (int i = sec; i > 0; i--)
            {
                this.Refresh();
                Thread.Sleep(1000);
            }

            this.Close();
        }

        private void OutBtn_Click(object sender, EventArgs e)
        {
            int sec = 2;
            for (int i = sec; i > 0; i--)
            {
                this.Refresh();
                Thread.Sleep(1000);
            }

            this.Close();
        }
    }
}
```
:star:クラス使ってやった感がでた(*‘∀‘)

```C#:MoneyAdd.cs
namespace Vendingmachines
{
    class MoneyAdd
    {
        int coin10 = 0;
        int coin50 = 0;
        int coin100 = 0;
        int coin500 = 0;
        int coin1000 = 0;

        public void Count10() { this.coin10++; }
        public void Count50() { this.coin50++; }
        public void Count100() { this.coin100++; }
        public void Count500() { this.coin500++; }
        public void Count1000(){ this.coin1000++; }

        public int ResultMoney()
        {
            return this.coin10 * 10 +
                  this.coin50 * 50 +
                  this.coin100 * 100 +
                  this.coin500 * 500 +
                  this.coin1000 * 1000;
        }
    }
}
```
#【おわり】チャンチャン♪
**「プログラムって？、何それ？食べれるの？」(^o^)**
レベルの初心者なら、やった感がでる感じな内容です:sparkles:

C#をわかる人からだと「そんだけ？！もっとほかあるだろが！」って思っているだろう。
もっとできることは、たくさんあるのは分かっているよ……
**「だが断る
この私が最も好きな事のひとつは
自分で強いと思っているやつに「NO」と断ってやる事だ…」**
って言いたいが、なぜかC#と相性が悪くギブアップした(´-ω-`)敗北

今回「自動販売機」を作成した理由としては
業務でC#が必要となり、C#を教えてもらいました。
そこでの課題として「自動販売機作成」がやってきたのです:airplane:
ギブアップの中で作成しましたが、見せる前に業務が終わってしまった(;・∀・)
なので、ここでメモがてら記載することにしました。

以上、**「C#で自動販売機作成するよ(。-`ω-)」**でした。