LoginSignup
6
5

More than 5 years have passed since last update.

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

Posted at

【はじめに】機能説明は、、、えっ?そんだけ?!

:star:起動時画面

: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:ボタンを「有効」「無効」で無理やり制御(●´ω`●)

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:クラス使ってやった感がでた(*‘∀‘)

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#で自動販売機作成するよ(。-`ω-)」でした。

6
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5