作者TKyo (暗黑贵公子)
看板C_Sharp
标题Re: [问题] C# 大老二排序问题
时间Thu Oct 16 00:10:26 2008
※ 引述《powerg4 (濑户修)》之铭言:
: 我是将牌组丢入ImagesList利用里面的他所给予的序号下去排列,
: 但不知道语法该怎麽样去写?
ImagesList 给的序号 ... Orz
要做牌类游戏, 你连 "最基本的牌的编号" 都没做, 遑论其他
而排序功能还只是其中最短的 Code
C# 中, 自订排序功能几乎都会用到 IComparer
底下是继承 IComparer 的物件的 Method Sample Code
里头的规范定义, 依照自己定义的牌的编号而会有所变化
重要的是你要理解什麽是 "排序"
Sample 如下, 纯形式参考, 照抄出事概不负责 :D
public int Compare(Object x, Object y)
{
int i = (int) x % MAX_PER_CARDS_NUM;
int j = (int) y % MAX_PER_CARDS_NUM;
int result;
// ACE
if (i == 0)
i = 13;
if (j == 0)
j = 13;
// BIG 2
if (i == 1)
i = 14;
if (j == 1)
j = 14;
// 先比点数, 後比花色
if (i == j)
result = (int) x - (int) y;
else
result = i - j;
if (iSortOrder == SortOrder.Descending)
result *= -1;
return result;
}
--
私が生存への道は
今も未来も唯一つ
私自身の闇黑のためだ
即ち「ハ・ル・ヒ」
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.168.73
※ 编辑: TKyo 来自: 220.133.168.73 (10/16 00:12)