2009-12-10 5 views
0

그물을 검색 한 후에 가치가 중요한 포커 카드 데크를 프로그램하는 방법은 여러 가지가 있다는 것을 알고 있습니다.가치와 정장이 중요하지 않은 카드 갑판에서 그림 그리기 방법?

내 문제는

내가 NSMutableArray를 내 현재의 배열을 무작위로 다음 인덱스 0을 제거 마십시오 (1 = 에이스 스페이드의 예) 카드를 내 "갑판"는 "카드 이름"과 같은 값을 가진 간단한 배열이 있다는 것이다 매번 카드가 마지막 카드 때까지 "그려"되고 "

답변

3

표준 알고리즘이 같은 것입니다 :

a) Populate an array of 52 cards (order not important) 
b) Set size variable to 52 
c) Pick a random number r in range 0 <= r < size 
d) Store the picked card, card[r], as the result 
e) Swap card[r] and card[size - 1] 
f) decrement size 
g) goto c 
+0

너무 감사합니다! 난 당신이 내가 removeObjectAtIndex 것을 제외하고 말을 정확히 무슨 짓을했는지 : r 대신, 그것에 대한주의 사항? – zerlphr

+0

그게 효과가 있지만 모든 카드를 다룰 때 배열을 다시 채워야한다는 뜻입니다. 내 버전에서는 크기를 52로 다시 설정해야합니다. –

+0

오, 좋은 지적입니다. 고마워요, 닐! – zerlphr

관련 문제