# 百家樂基本說明 ## 牌桌示意圖 ![牌桌位置](https://hackmd.io/_uploads/ByK2xOrnp.png) ## 發牌順序 - 1.分別將牌由牌盒中拉出,一局最多6張牌 - 2.分別放置的位置為 => 閒1 > 莊1 > 閒2 > 莊2 > 預備牌1 > 預備牌2 - 3.同時翻開位於閒1+閒2的牌 > 再同時翻開位於莊1+莊2 - 4.判斷閒家是否需要補牌 如果閒家需要補牌,則把預備牌1位置的牌翻開放到閒家補牌位置,若閒家不需要補牌則換判斷莊家是否需要補牌 - 5.判斷莊家是否需要補牌 - 5.1 莊家不需要補牌 =>進入下一步驟 - 5.2 莊家需要補牌:莊家補牌時如果預備牌1還未使用,莊家補牌就使用預備牌1,若預備牌1已經使用,則莊家補牌使用預備牌2,莊家補牌時一樣將預備牌翻開後放到莊家補牌位置 - 6.判斷輸贏後結束此局 > 點用Keypad下一局按鈕 > 將翻開的(使用過的)牌收起 > 重新發牌 - 7.下一局發牌順序調整 一局最多使用6張牌,上一局未使用過的牌(預備牌1或牌2)下一局繼續使用,因此上一局可能未使用的預備牌,就是下一局的第一張牌,如果6張都用完,則第一張牌就從牌盒中重新取用 ## 點數計算 - 1.撲克牌點數計算 ![點數計算方式](https://hackmd.io/_uploads/H1n-rdSnT.png) - 2.加總點數計算:百家樂點數只有0,1,2...8,9;10點為0,11點為1...以此類推 - 點數大小: 9最大,0最小,9>8>7...>1>0 ## 補牌規則 - 1.補牌判斷是在閒家開2張牌+莊家開2張牌後,依據兩家前2張合計點數再判斷是否補牌 - **2.補牌順序 : 先閒家補牌程序完成,不論是補牌完成或不需要補牌,再處理莊家補牌程序** - 3.補牌規則如下 | 閒家前兩張點數|閒家 | 莊家前兩張點數 | 莊家 | | ------------- |----------------|-----------|----------- | |0| 補牌 | 0 | 補牌 | |1| 補牌 | 1 | 補牌 | |2| 補牌 | 2 | 補牌 | |3| 補牌 | 3 | 莊家前2張合計點數是3或13,閒家第三張牌(補牌)是8=>莊家不補牌,其餘點數9,0,1,2,3,4,5,6,7莊家補牌,包括閒家前兩張6或7點不補牌莊也要補牌 | |4| 補牌 | 4 | 莊家前2張合計點數是4或14,閒家第三張牌(補牌)8,9,0,1=>莊家不補牌,其餘點數2,3,4,5,6,7莊家補牌,包括閒家前兩張6或7點不補牌莊也要補牌 | |5| 補牌 | 5 | 莊家前2張合計點數是5或15,閒家第三張牌(補牌)8,9,0,1,2,3=>莊家不補牌,其餘點數4,5,6,7莊家補牌,包括閒家前兩張6或7點不補牌莊也要補牌 | |6| 非例牌+不補牌 | 6 | 莊家前2張合計點數是6或16,閒家第三張牌(補牌)是8,9,0,1,2,3,4,5莊家不補牌,其餘點數6,7=>莊家補牌 | |7| 非例牌+不補牌 | 7 | 非例牌+不補牌 | |8| 例牌+不補牌 | 8 | 例牌+不補牌 | |9| 例牌+不補牌 | 9 | 例牌+不補牌 | ### 補牌說明 > ### **兩家都不需要補牌** - 1.例牌:只要是莊或閒家,有一個前兩張牌合計點數是8或9,就稱為例牌。該局直接判斷輸贏,例牌範例: ![莊0閒8](https://hackmd.io/_uploads/HylscdBhT.png) ![莊9閒2](https://hackmd.io/_uploads/rkdp9dSh6.png) ![莊9閒9](https://hackmd.io/_uploads/Byls5drnT.png) > ### **補牌都是在非例牌的狀況下,以下說明不再提醒** > ### 補牌順序: 先完成閒家補牌程序 > 再處理莊家補牌程序 - 2.閒家補牌: 閒家前2張牌合計點數為0~5時,閒家都需要補牌 ![莊0閒5](https://hackmd.io/_uploads/SyIUDnB2a.png) ![莊4閒6](https://hackmd.io/_uploads/HJUUw3r3p.png) - 3.莊家補牌 : **莊家需不需要補牌是根據莊家點數+閒家第三張牌(補牌)的點數判斷** - 3-1.莊家前2張牌合計點數為0~2時,莊家補牌 - 3-2.莊家前2張牌合計點數為3時,莊家根據閒家第三張牌的點數判斷莊家是否需要補牌。當閒家第三張牌點數為8時莊家不補牌,其餘點數901234567(當然包括閒家沒有第3張牌)莊家才要補牌 ![莊3閒8](https://hackmd.io/_uploads/SJqYu3r3p.png) ![莊3閒9](https://hackmd.io/_uploads/ryKtuhB26.png) - 3-3.莊家前2張牌合計點數為4時,莊家根據閒家第三張牌的點數判斷莊家是否需要補牌。當閒家第三張牌點數為8,9,0,1時莊家不補牌,其餘點數234567(當然包括閒家沒有第3張牌)莊家才要補牌 ![莊4閒J](https://hackmd.io/_uploads/SyJgY2S2p.png) ![莊4閒7](https://hackmd.io/_uploads/HJtxF3r2a.png) - 3-4.莊家前2張牌合計點數為5時,莊家根據閒家第三張牌的點數判斷莊家是否需要補牌。當閒家第三張牌點數為8,9,0,1,2,3時莊家不補牌,其餘點數4567(當然包括閒家沒有第3張牌)莊家才要補牌 ![莊5閒3](https://hackmd.io/_uploads/SksUKhr2p.png) ![莊5閒4](https://hackmd.io/_uploads/BkEDt3Snp.png) - 3-5.莊家前2張牌合計點數為6時,莊家根據閒家第三張牌的點數判斷莊家是否需要補牌。當閒家第三張牌點數為8,9,0,1,2,3,4,5時莊家不補牌,**只有閒家第三張點數6+7莊家才要補牌,不包括閒家沒第三張牌** ![莊6閒5](https://hackmd.io/_uploads/Byv_5hSha.png) ![莊6閒6](https://hackmd.io/_uploads/B1ZNh3r3T.png) **莊家補牌口訣:莊3點(前2張"加總"算3點)=>閒第三張牌8莊不補=>三八的人不用補牌)** **莊家補牌口訣:莊4點=>閒第三張牌(8901)莊不補=>四八一不用補牌(莊四(死)一點481不用補)** **莊家補牌口訣:莊5點=>閒第三張牌(890123)莊不補=>五八三(我(吾)爬山)不用補牌** **莊家補牌口訣:莊6點=>閒第三張牌(89012345)莊不補=>六八五不用補牌** - 4.非例牌下,莊閒都不補牌 : 閒家6~7點 + 莊家也是6~7點=>直接判斷輸贏(6:7,6:7,7;6,7:7) ![莊6閒7](https://hackmd.io/_uploads/HJD7n2Hha.png) ![莊7閒7](https://hackmd.io/_uploads/ryPQnhBn6.png) # 牌路說明 ## 珠盤路 從左上角第一格開始,向下記錄。當一列記錄滿後向右換下列開始,繼續向下寫路。 寫路時,紅色珠為莊贏,藍色珠為閒贏,綠色珠為和。紅點在珠的左上角代表莊對,藍點在珠的右下角代表閒對。如果同時出現莊對和閒對,則珠的左上角和右下角標示紅點和藍點。 ![珠盤路](https://hackmd.io/_uploads/rJnaL6H2a.png) ## 大路 ![大路](https://hackmd.io/_uploads/rydVvaSnp.png) - 1.大路中,紅圈為莊贏,藍圈為閒贏,和局在上一局畫斜線,如出現跟上一局一樣結果(連莊或連閒),則向下排列。如出現跟上一局不同結果,則向右換列。 - 2.如連續出現同樣的結果,即一直為莊贏或者閒贏,達到≥7局(依畫紙長度而定)。因行數的限制,到第6行後向右邊轉向,從一開始的從上到下繪製,改為水平從左到右繪製,直至出現閒贏或莊贏結果改變則換列。 - 3.如換列後,再次連續出現相同結果,因為第6行被佔據,則在第5行後向右轉向。轉向只會發生一次,不會發生轉向後再繼續向下的情況。 ![大路轉彎](https://hackmd.io/_uploads/HkOMOaB3a.png) - 4.如出現結果“和”,在前一局的結果上劃綠色斜線。如果之後連續出現和,目前仍是以斜線顯示(則用綠色數字代替)。若開靴第一局結果為和,第一顆珠子就不顯示,直到開出結果是莊或閒再顯示在第一顆珠子。 ## 大眼路(空心) - 1.大眼路的紅藍圈顏色並不對應莊或閒,而是根據"大路"每一局結果,是否有規律來判斷,也就是說有規律的在大眼路畫紅圈,沒規律畫藍圈 - 2.大眼路起始座標 : 當換新靴時清空路紙。"大眼路"第一球將在"大路"第2列第2行(2,2)有結果時開始產生。如大路位置(2,2)為空,則在大路第3列第1行(3,1)有結果時開始產生。 ![大眼路起始座標](https://hackmd.io/_uploads/rkMI3aBn6.png) **為了方便說明,下三路球的位置會使用(X,Y)的方式表達,X代表橫向第X位置,Y代表直向第Y位置,如上圖座標2==>(3,1)** - 3.相對位置比對有無結果 : 比對自己這一列與左邊第一列相對位置。無結果,則大眼路畫藍圈,如有結果,大眼路畫紅圈。以(2,2)為例起始為例,如果(2,2)有球=>比對(1,2)是否有球,無球大眼路畫藍圈,有球畫紅圈。 ![大眼_座標比對](https://hackmd.io/_uploads/BkQ3U0r3p.png) ![大眼_水平比對](https://hackmd.io/_uploads/HJY3ICBhT.png) - 4.座標比對長龍 :自己這一列跟左邊第一列作比對,左邊第一列的同位置往前(上)已經出現2個空格或以上都無結果,大眼路也畫紅圈。 ![大眼_紅2](https://hackmd.io/_uploads/HyyCv0Sna.png) ![大眼_水平比對_長龍](https://hackmd.io/_uploads/BJIAwRrhT.png) - 5.每列第一球比對 : 當大路的最新結果,為換列出現。則比對左邊第1列和左邊第2列是否對齊(左邊兩列比對),所謂對齊就是總球數相同(左第1列跟左第2列球數相同)。如不對齊,則大眼路畫藍圈。如對齊,則大眼路畫紅圈。 ![大眼_每列第一球](https://hackmd.io/_uploads/BkTJF0S2T.png) - 6.和局不需要顯示任何結果 : 當新一局結果為和局時,大眼路無變化(不出現紅圈或藍圈)。 ## 小(眼)路(實心) - 1.小眼路的紅藍圈顏色也是根據"大路"每一局結果,是否有規律來判斷,也就是說有規律的在小眼路畫紅圈,沒規律畫藍圈 - 2.小眼路起始座標 : "小眼路"第一球將在"大路"第3列第2行(3,2)有結果時開始產生。如大路位置(3,2)為空,則在大路第4列第1行(4,1)有結果時開始產生。 ![小路起始座標](https://hackmd.io/_uploads/rkUA5RS26.png) - 3.相對位置比對有無結果 : 比對方式與大眼路一樣只是座標位置不一樣,小眼路是自己這一列與左邊第二列做比對(跳過一列)。以(3,2)為例起始為例,如果(3,2)有球=>比對(1,2)是否有球,無結果,則小眼路畫藍圈,如有結果,小眼路畫紅圈。 下圖範例:左圖(4,3)比對(2,3),右圖(4,2)比對(2,2) ![小路_水平](https://hackmd.io/_uploads/HyR9nRB3T.png) - 4.座標比對長龍 :自己這一列跟左邊第二列作比對,左邊第2列的同位置往前(上)已經出現2個空格或以上都無結果,小眼路也畫紅圈。 ![小路_水平長龍](https://hackmd.io/_uploads/r1WQpRB26.png) - 5.每列第一球比對 : 當大路的最新結果,為換列出現。則對比左邊第1列和左邊第3列是否對齊,所謂對齊就是總球數。如不對齊,則小眼路畫藍圈。如對齊,則小眼路畫紅圈。 ![小眼_每列第一球](https://hackmd.io/_uploads/H1MQgyLhp.png) - 6.和局不需要顯示任何結果 : 當新一局結果為和局時,小眼路無變化(不出現紅圈或藍圈)。 ## 曱甴(蟑螂)路(棍子或斜線) - 1.蟑螂路的紅藍圈顏色也是根據"大路"每一局結果,是否有規律來判斷,也就是說有規律的在蟑螂路畫紅斜線,沒規律畫藍斜線 - 2.蟑螂路起始座標 : "蟑螂路"第一球將在"大路"第4列第2行(4,2)有結果時開始產生。如大路位置(4,2)為空,則在大路第5列第1行(5,1)有結果時開始產生。 ![蟑螂路起始座標](https://hackmd.io/_uploads/rJAUE18ha.png) - 3.相對位置比對有無結果 : 比對方式與大眼路一樣只是座標位置不一樣,蟑螂路是自己這一列與左邊第三列做比對(跳過2列)。以(4,2)為例起始為例,如果(4,2)有球=>比對(1,2)是否有球,無結果,則小眼路畫藍斜線,如有結果,小眼路畫紅斜線。 下圖範例:(4,2)比對(1,2) ![蟑螂路_水平](https://hackmd.io/_uploads/ByQ94kLna.png) - 4.座標比對長龍 :自己這一列跟左邊第三列作比對,左邊第3列的同位置往前(上)已經出現2個空格或以上都無結果,蟑螂路也畫紅斜線。 ![蟑螂路_水平長龍](https://hackmd.io/_uploads/S12aNkIhp.png) - 5.每列第一球比對 : 當大路的最新結果,為換列出現。則對比左邊第1列和左邊第4列是否對齊,所謂對齊就是總球數。如不對齊,則小眼路畫藍斜線。如對齊,則蟑螂路畫紅斜線。 ![蟑螂路_每列第一球](https://hackmd.io/_uploads/SJ8WHkL3p.png) - 6.和局不需要顯示任何結果 : 當新一局結果為和局時,蟑螂路無變化(不出現紅斜線或藍斜線)。 ## 牌路的程式實作面 - 1.紀錄跟畫面分開 : 舉例莊家連7,大路的路圖紀錄是(1,7)紅,可是畫面呈現卻是(1,1) ~ (1,6)都是紅球+(2,6)因為轉彎也是,所以如果下三路在比對時使用了(1,1)~(1,6)+(2,6)的資料比對,哪麼下三路會出現錯誤的圖紙,所以程式記錄歸紀錄,畫面呈顯要分開處理 - 2.轉彎到極限 : 連續長龍出現L型一直塞滿,此時就是以第一顆往右延伸至可以往下的空格出現 ## 問路 問路功能為模擬下一局如果開莊或閒時,大路、大眼路、小路、曱甴路的結果。玩家可更方便快速的判斷如何投注下一局。 - 1.問路的球是陸續顯示,並非一開始就是三顆一起出現 1-1.大路(2,1)有球才出現問路功能的第一顆球(預測大眼路),問路那邊的球不是一次三顆一起出現,因為大路(2,1)有球後==>下一球不論是出現在座標一(2,2)或座標二(3,1)大眼路都將有第一球出現, 1-2.以此類推問路功能的第2球(預測小眼路)在(3,1)有球後出現, 1-3.第3球(預測蟑螂路)(4,1)有球後出現 ![問路空心第一球](https://hackmd.io/_uploads/H1Xr2HPwgg.png) 如下圖問路的球會陸續出現 ![問路空心出現](https://hackmd.io/_uploads/ryGS2rvweg.png) ![問路實心出現](https://hackmd.io/_uploads/HyXS2BvDlx.png) ![問路棍子出現](https://hackmd.io/_uploads/Hy7BhSvDge.png) - 2.問路功能第一球的顏色,必須根據預測下一局開獎結果=>大眼路該劃紅球還是藍球對應顯示,如下圖 2-1.下一局開莊(下圖紅色框)=>大路的路圖中會在(6,3)劃一顆紅球,(6,3)對應位置(5,3)沒有球所以=>大眼路應該顯示"藍色球"=>莊問路功能的第一顆小球是"藍色",並非是莊就是紅色球,閒就是藍色球, 2-2.下一局開莊(下圖紅色框)==>大路的路圖中會在(6,3)劃一顆紅球,(6,3)對應位置小眼路對應位置(4,3)沒有球但是,空2格是長龍==>莊問路第二顆小球是"紅色", 2-3.大路(6,3)對應位置蟑螂路對應位置有球(3,3)應該是紅斜線 ![問路_球的顏色](https://hackmd.io/_uploads/rJw95uvMR.png) - 3.問路的三顆小球顏色會根據個別對應路圖一直變化,時紅時藍 - 4.問路快速判斷: 4-1.這一局是莊=>預測下一局也是莊==>則大路在下方多一顆紅球(下圖黃框,想像下圖黃框框有一顆紅球) 4-2.莊問路空心圓:比對相對位置(黃框)的左1,下圖紅框=>有球=>空心圓紅色, 4-3.莊問路實心圓:比對相對位置(黃框)的左2,下圖橘框=>有球=>實心圓紅色 4-4.莊問路斜線:比對相對位置(黃框)的左3,下圖綠框=>,無球=>棍子(斜線)藍色 4-5.根據上面的說明,莊問路是紅紅藍==>閒問路的顏色剛好跟莊問路相反==>藍藍紅 **比對規則提示==>有球紅,無球藍 + 連2無球=>紅** 4-6.這一局是閒=>預測下一局也是閒,道理相同 4-7.這局是莊就推測 莊問路結果=>這局閒就先推測 閒問路結果,另一邊相反,根據以上方式可以快速得到問路結果,即使因為版面關係看不到全部下三路也可以使用 ![問路預測](https://hackmd.io/_uploads/B1fspVNcyl.png) 下圖說明:想像黃色框框有一顆藍球=>黃框左一無球=>空心問路藍色,左二有球=>實心紅色,左三有球=>棍子紅色 閒問路:藍紅紅==>莊問路相反:紅藍藍 ![問路預測1](https://hackmd.io/_uploads/S1lIJrN9yx.png)