又要到年底了,又要抽奖了,哈哈哈。朋友要帮忙写个小程序抽奖,所以就写了这个程序。大体思路是这样的:
人员信息是通过xml配置的,在程序启动时,将人员信息存入一个list中。在每一次抽奖时,为每一个人随机生成一个数字代表他的排序ID,然后将list按排序ID排序,然后用DispatcherTimer定时去刷新屏幕上的姓名。在人员信息定义的XML中,如果他的Weight小于等于5(即锁定状态),那他将永远不能被选中,即使抽中,也将变成在list中他的下一个非锁定状态的人。
时间写的仓促,前后没多少时间,难免有漏洞,仅供娱乐,详见代码。顺祝大家年底奖金多多,红包多多,礼物多多。哈哈哈哈
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 权重
/// </summary>
public int Weight { get; set; }
/// <summary>
/// 是否锁定
/// </summary>
public bool IsFixed {
get {
if (this.Weight <= 5)
return true;
else
return false;
}
}
/// <summary>
/// 排序ID
/// </summary>
public int OrderID { get; set; }