大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> NET专区 -> 一个扑克游戏的诞生---扑克牌及相关类代码兼谈异常(中)

一个扑克游戏的诞生---扑克牌及相关类代码兼谈异常(中)

时间: 2021-07-31 作者:daque

 对于扑克牌牌及关系的几个类其余就没有什么可说的了,大师看代码就不妨了。file : card.csusing system;using system.diagnostics ;namespace bigeagle.games.cards{#region 列举/// <summary>/// 花样的列举/// </summary>public enum cardcolors{/// <summary>/// 草花/// </summary>club = 0 ,/// <summary>/// 方块/// </summary>diamond,/// <summary>/// 红心/// </summary>heart ,/// <summary>/// 黑桃/// </summary>spade ,/// <summary>/// 没有花样,对应joker/// </summary>none }/// <summary>/// 牌巨细的列举/// </summary>public enum cardnumbers{//zero = 0 ,two = 2 , three ,four ,five ,six ,seven ,eight ,nine ,ten ,jack ,queen ,king ,ace ,vicejoker ,joker}#endregion/// <summary>/// 扑克牌牌类/// <br>author: bigeagle</br>/// <br>date: 2002/4/19</br>/// <br>history: 2002/4/19</br>/// /// </summary>/// <remarks>接受icomparable接口,用来比拟</remarks>public class card : system.icomparable{#region 分子变量/// <summary>/// 花样/// </summary>protected cardcolors m_enumcolors ;/// <summary>/// 数字/// </summary>protected cardnumbers m_enumnumber ;#endregion#region 属性/// <summary>/// 存取花样的属性/// </summary>public cardcolors colors{get{return this.m_enumcolors ;}set{if(value == cardcolors.none){throw(new invalidoperationexception("cardcolors.none不许用来card东西")) ;}//if(value != cardcolors.none)//{//this.m_enumcolors = value ;//}this.m_enumcolors = value ;}}/// <summary>/// 存取巨细的属性/// </summary>public cardnumbers number{get{return this.m_enumnumber ;}set{if(value == cardnumbers.joker || value == cardnumbers.vicejoker){throw(new invalidoperationexception("zero,joker和vicejoker不许用来card东西")) ;}//if(value != cardnumbers.joker //&& value != cardnumbers.vicejoker )//this.m_enumnumber = value ;this.m_enumnumber = value ;}}#endregion#region 结构因变量/// <summary>/// 结构因变量/// </summary>public card(){this.m_enumcolors = cardcolors.club ;this.m_enumnumber = cardnumbers.ace ;}//end method/// <summary>/// 重载结构因变量/// </summary>/// <param name="a_enumcolors">花样</param>/// <param name="a_enumnumber">巨细</param>public card(cardcolors a_enumcolors , cardnumbers a_enumnumber){if(a_enumcolors == cardcolors.none || a_enumnumber == cardnumbers.joker || a_enumnumber == cardnumbers.vicejoker){throw(new invalidoperationexception("cardcolors.none、cardnumbers.joker和vicejoker不许用来card东西")) ;}else{this.m_enumcolors = a_enumcolors ;this.m_enumnumber = a_enumnumber ;}}#endregion#region 改写父类本领/// <summary>/// 改写tostring本领/// </summary>/// <returns></returns>public override string tostring(){return this.m_enumcolors.tostring() + " " +this.m_enumnumber.tostring() ;}/// <summary>/// 重写博得哈希值/// </summary>/// <returns></returns>public override int gethashcode(){return (int)(system.math.pow(100 , (double)this.m_enumcolors + 1) + (double)this.m_enumnumber) ;}/// <summary>/// 重写equals本领/// </summary>/// <param name="obj">要确定的东西</param>/// <returns></returns>public override bool equals(object obj){//预言debug.assert(obj != null , "要比拟的东西不许为空") ;return obj.gethashcode() == this.gethashcode() ;}/// <summary>/// 改写父接口本领/// </summary>/// <param name="obj">要比拟的东西</param>/// <returns>/// 小于零 此范例小于 obj。 /// 零 此范例即是 obj。 /// 大于零 此范例大于 obj。 /// </returns>public int compareto(object obj){if(this.gethashcode() > obj.gethashcode()){return 1 ;}else if(this.gethashcode() < obj.gethashcode()){return -1 ;}else{return 0 ;}}#endregion}//end class}//end namespacefile: joker.csusing system;namespace bigeagle.games.cards{/// <summary>/// joker/// <br>author: bigeagle</br>/// <br>date: 2002/4/20</br>/// <br>history: 2002/4/20</br>/// </summary>/// <remarks>接受card类</remarks>public sealed class joker : bigeagle.games.cards.card{public joker(){this.m_enumcolors = cardcolors.none ;this.m_enumnumber = cardnumbers.joker ;}/// <summary>/// 改写tostring本领/// </summary>/// <returns></returns>public override string tostring(){return "joker" ;}}//end method}//end namespacefile: vicejoker.csusing system;namespace bigeagle.games.cards{/// <summary>/// vice joker/// <br>author: bigeagle</br>/// <br>date: 2002/4/19</br>/// <br>history: 2002/4/19</br>/// </summary>public sealed class vicejoker : bigeagle.games.cards.card{public vicejoker(){this.m_enumcolors = cardcolors.none ;this.m_enumnumber = cardnumbers.vicejoker ;}/// <summary>/// 改写tostring本领/// </summary>/// <returns></returns>public override string tostring(){return "vicejoker" ;}}//end class}//end namespace

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.