나는 52 카드 갑판에 사용되는이 알고리즘은 이제 i=10
말을 할 수있다 :알고리즘
int suit = i/13;
int cardValue = i % 13;
suit
가 하트, 다이아몬드, 스페이드, 클럽- 에 대한
from 0 to 3
입니다cardValue
내가suit
알려진으로부터 추론 어떻게, 여왕
에이스, 2, 3, ..., 잭, 킹 from 0 to 12
입니다 cardValue
으로 돌아가려면 i
?
나는 52 카드 갑판에 사용되는이 알고리즘은 이제 i=10
말을 할 수있다 :알고리즘
int suit = i/13;
int cardValue = i % 13;
suit
가 하트, 다이아몬드, 스페이드, 클럽from 0 to 3
입니다 cardValue
내가 suit
알려진으로부터 추론 어떻게, 여왕에이스, 2, 3, ..., 잭, 킹 from 0 to 12
입니다 cardValue
으로 돌아가려면 i
?
는 당신이 요구하는지 완전히 잘 모르겠지만, 그것은 "나"suit
및 cardValue
있는에서 얻을에만 있다면, 이것은 할 것 :
int i = suit * 13 + cardValue;
이것이 맞습니까? int i = suit * 13 + (cardValue-1) – EM10
아니요, 올바르지 않습니다. 예를 들어주세요. 27. suit가 27/15 (정수 나누기)가됩니다. 그러면 cardValue는 2가됩니다. 나머지는 1 (2 * 13 = 26, 27-26 = 1)이됩니다. 이것을 표현에 넣으면 2 * 13 + (1 - 1)이됩니다. 그러면 원래 값이 아닌 26이됩니다. 또한 이것은 테스트하기 쉽습니다. 조금 더 실험해야합니다.식이 잘못 나온 결과를 쉽게 보았을 것입니다. –
나는 결코이 코드에서 변경되지 않는 변수를 . 10시에 시작하면 10으로 유지됩니다. 할당 값을 일시적으로 변경하는 중입니다.
'return i;'를 사용하여 일부 메소드에서 "i"를 얻고 싶다면 그 트릭을 수행 할 것입니다.하지만 스 니펫의 위치와 호출 방법에 대한 코드를 더 게시해야합니다. – Nomad101
정답을 얻으려면 자세한 정보를 제공해주십시오! –