争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

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

时间:2024/7/15作者:未知来源:争怎路由网人气:

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 namespace


file: Joker.cs

using 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 namespace


file: ViceJoker.cs

using 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 © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版