C# 一副卡片的算法

C# 一副卡片的算法,c#,algorithm,C#,Algorithm,我有一个算法,用于52张牌的牌组,比如说I=10: int suit = i / 13; int cardValue = i % 13; 适合红桃、钻石、黑桃和梅花 cardValue是Ace、2、3、…、的从0到12,杰克,国王,王后 我如何从已知的suit和cardValue中推断出要返回I 我不完全确定你在问什么,但如果只是为了从套装和卡值中获得“我”,那么这就可以: int i = suit * 13 + cardValue; 在这段代码中,变量i从不改变。如果它从10开始,它将

我有一个算法,用于52张牌的牌组,比如说
I=10

int suit = i / 13;
int cardValue = i % 13;
  • 适合红桃、钻石、黑桃和梅花
  • cardValue
    是Ace、2、3、…、的
    从0到12,杰克,国王,王后

我如何从已知的
suit
cardValue
中推断出要返回
I

我不完全确定你在问什么,但如果只是为了从
套装
卡值
中获得“我”,那么这就可以:

int i = suit * 13 + cardValue;

在这段代码中,变量i从不改变。如果它从10开始,它将保持为10。您只是暂时更改赋值的值

如果您只想从某个方法中获取“i”,那么使用
返回i
可以做到这一点,但您需要发布更多有关该代码段的位置和调用方式的代码。为了获得正确答案,请提供详细信息!不,这是不对的,举个例子,27。西装是27/15(整数除法),这会给你一套2。cardValue将是余数,即1(2*13=26,27-26=1)。如果你把它放到表达式中,你会得到:2*13+(1-1),这会给你26,而不是原始值。而且,这真的很容易测试,你应该多做一些实验,你会很容易发现你的表达式会给出错误的结果。