Volatile memory

物覚えの悪いわたしの、備忘録的な技術系ブログです。

ひとまずヨット!

たった今飲んだ薬の数さえ

すぐに忘れてしまう彼女は しかし

と、さだまさしが歌ったのも今は昔。

 

サイコロ何回振ったか覚えてますか―っ!?

1、2、3、…

2回だっけ?

 

たった今振ったサイコロの回数さえ

すぐに忘れてしまうわたしは、

 

アプリに数えさせることにしました。

 

ほれ。

 

ほれ。

 

ほれ。

 

ほれ。

 

…ざっこ。

 

残り回数の表示とリセットボタンを用意しました。

コード的にはこんだけ。

        int rest = 3;


        private void RollButton_Click(object sender, EventArgs e)
        {
            var r = new Random();
            if (!KeepCheckBox0.Checked)
            {
                DiceLabel0.Text = r.Next(1, 7).ToString();
            }
            if (!KeepCheckBox1.Checked)
            {
                DiceLabel1.Text = r.Next(1, 7).ToString();
            }
            if (!KeepCheckBox2.Checked)
            {
                DiceLabel2.Text = r.Next(1, 7).ToString();
            }
            if (!KeepCheckBox3.Checked)
            {
                DiceLabel3.Text = r.Next(1, 7).ToString();
            }
            if (!KeepCheckBox4.Checked)
            {
                DiceLabel4.Text = r.Next(1, 7).ToString();
            }
            --rest;
            RestLabel.Text = rest.ToString();

            if (rest == 0)
            {
                RollButton.Enabled = false;
            }
        }

        private void ResetButton_Click(object sender, EventArgs e)
        {
            rest = 3;
            RestLabel.Text = rest.ToString();
            KeepCheckBox0.Checked = false;
            KeepCheckBox1.Checked = false;
            KeepCheckBox2.Checked = false;
            KeepCheckBox3.Checked = false;
            KeepCheckBox4.Checked = false;
            DiceLabel0.Text = "-";
            DiceLabel1.Text = "-";
            DiceLabel2.Text = "-";
            DiceLabel3.Text = "-";
            DiceLabel4.Text = "-";
            RollButton.Enabled = true;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            RestLabel.Text = rest.ToString();
        }

 

リセットでもとに戻ります。あとは紙と鉛筆だな。