作者x000032001 (隱身是因為不想被廣播)
看板C_and_CPP
標題Re: [問題] 撲克牌牌組判斷
時間Thu May 20 21:42:54 2010
※ 引述《jason06184 (講座)》之銘言:
嘗試看看,寫的不好請鞭,我還是新手。
如果要找出這副牌符合甚麼特定組合,我會先把它排序。
再來把各種驗證是否符合的func寫出來,像是IsTwoPair IsFullHouse
然後開始看他的資料是怎麼放的,這支程式把抽出來的牌放在wDeck陣列
如果抽中了那張牌 那 wDeck[ row ][ column ] == card (card=1~5)
就能從這邊下手 程式的排法:花色row對到suit陣列 數字column對到row陣列
假設我自己開一個結構Deck[card]好了 Deck內容是int row跟int column(以下簡稱r跟c)
而且牌由小到大排序
知道了這個就能開始編寫func了
TwoPair就是數字為XXYYZ if(Deck[1].c==Deck[2].c & Deck[3].c ........
順子就由A2345到10JQKA
其他的東西就自己推出來吧
最後搞個IsCombination() 裡面放IsTwoPair IsFullHouse....
或是直接丟在Main 或是丟在Deal尾巴順便輸出
大概是這樣吧。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.240.28.247
推 jason06184:請問排序該如何寫呢? 05/20 21:48
→ x000032001:google: C++ sort 05/20 21:58
→ joefaq:sort(iter.begin(), iter.end()); 05/20 22:04
→ loveme00835:如果要對多鍵值排序, 不能用sort, 要用 stable_sort 05/20 22:06
→ jason06184:樓上可以詳細解說一下嗎? 05/20 22:24
→ Dannvix:google:// stable sort 或 google:// 排序 穩定 05/20 22:27
→ jason06184:是要用氣泡排序法嗎? 05/20 22:42
→ jason06184:如果是的話..要怎麼打? 陣列那樣可以直接用裡面元素排 05/20 22:45
→ jason06184:可是指標我就不會了 05/20 22:46