こんな感じです。
クリックすると、くじ開きます。
開いたくじは消えます。リセットボタンを押すと10枚のくじ全てが閉じた状態に戻ります。
実行①
実行②
プログラミング
言語:C#
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 omikuji
{
///
/// おみくじ画面
///
public partial class FrmOmikuji : Form
{
///
/// くじ割り当て用リスト
///
private List kujiList = new List();
///
/// くじの最大数
///
private const int KUJI_MAX = 10;
///
/// 起動時処理
///
private void FrmOmikuji_Load(object sender, EventArgs e)
{
// 運勢を初期化する
this.InitLuckAssign();
}
///
/// 運勢初期化処理
///
private void InitLuckAssign()
{
// くじ割り当て用リストをクリアする
kujiList.Clear();
// リストに1~10の運勢値をセット
for (int i = 1; i <= KUJI_MAX; i++)
{
kujiList.Add(i);
}
// くじボタン
for (int i = 1; i <= KUJI_MAX; i++)
{
string s = ("btnKuji_" + i.ToString("00"));
Control btnKuji = ((Button)(this.Panel1.Controls[s]));
// くじボタンを表示する
btnKuji.Visible = true;
// 運勢値を割り当てる
btnKuji.Tag = this.LuckAssign();
}
}
///
/// 運勢割り当て処理
///
private int LuckAssign()
{
// 乱数クラスの宣言
System.Random ran = new System.Random();
// INDEXを求める(0~リスト数の乱数を取得する)
int idx = ran.Next(0, (kujiList.Count - 1));
// INDEX指定でリストから値を取得する
int val = kujiList[idx];
// INDEX指定でリストから要素を削除する
kujiList.RemoveAt(idx);
// 割り当てられた運勢値を返却する
return val;
}
///
/// コンストラクタ
///
public FrmOmikuji()
{
InitializeComponent();
}
///
/// くじ(01~10)ボタンクリック時処理
///
private void BtnKuji_Click(object sender, EventArgs e)
{
// クリックされたくじを非表示にする
Button BtnKuji = ((Button)(sender));
BtnKuji.Visible = false;
// 終了ボタンクリック時処理
string s = "";
switch (BtnKuji.Tag)
{
case 1:
s = "大吉";
break;
case 2:case 3:case 4: case 5:
s = "吉";
break;
case 6:case 7:
s = "中吉";
break;
case 8:case 9:
s = "小吉";
break;
case 10:
s = "凶";
break;
}
// 運勢を表示する
MessageBox.Show("あなたの運勢は【 " + s + " 】です。", "運勢");
}
///
/// 終了ボタンクリック時処理
///
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
///
/// リセットボタンクリック時処理
///
private void btnReset_Click(object sender, EventArgs e)
{
// 運勢を初期化する
InitLuckAssign();
}
}
}
ソース一式 :おみくじ