Documentation ¶
Index ¶
- Constants
- func CalculateShanten(tiles34 []int, isOpen bool) int
- func CalculateShantenWithImproves14(tiles34 []int, isOpen bool) (shanten int, waitsWithImproves WaitsWithImproves14List, ...)
- func CalculateShantenWithoutChitoitsu(tiles34 []int) int
- func CountOfTiles(tiles []int) (count int)
- func CountPairs(tiles34 []int) (pairs int)
- func MustStrToTiles34(tiles string) []int
- func NumberToChineseShanten(num int) string
- func StrToTile34(tile string) (tile34 int, err error)
- func StrToTiles34(tiles string) (num int, tiles34 []int, err error)
- func TilesToMergedStr(tiles []int) (res string)
- func TilesToMergedStrWithBracket(tiles []int) (res string)
- type Improves
- type Waits
- type WaitsWithImproves13
- type WaitsWithImproves14
- type WaitsWithImproves14List
Constants ¶
View Source
const AgariState = -1
Variables ¶
This section is empty.
Functions ¶
func CalculateShanten ¶
根据手牌计算向听数 tiles34 手牌 isOpen 是否副露,未副露的手牌会考虑七对子 TODO: 这样好吗?
func CalculateShantenWithImproves14 ¶
func CalculateShantenWithImproves14(tiles34 []int, isOpen bool) (shanten int, waitsWithImproves WaitsWithImproves14List, incShantenResults WaitsWithImproves14List)
14 张牌,计算向听数、进张、改良、向听倒退等
func CountOfTiles ¶
func CountPairs ¶
func MustStrToTiles34 ¶
func NumberToChineseShanten ¶
func StrToTile34 ¶
func StrToTiles34 ¶
e.g. "22m 24p" => (4, [0, 2, 0, 0, ...,0, 10, 12])
func TilesToMergedStrWithBracket ¶
[0, 2, 9] => "[13m 1p]"
Types ¶
type Waits ¶
map[进张牌]剩余数
func CalculateShantenAndWaits13 ¶
13 张牌,计算向听数和进张
func (Waits) FixCountsWithLeftCounts ¶
func (Waits) ParseIndex ¶
type WaitsWithImproves13 ¶
type WaitsWithImproves13 struct { // 手牌 Tiles34 []int // 向听数 Shanten int // 进张:摸到这张牌可以让向听数前进 Waits Waits // map[进张牌]向听前进后的进张数(这里让向听前进的切牌是最优切牌,即让向听前进后的进张数最大的切牌) NextShantenWaitsCountMap map[int]int // 改良:摸到这张牌虽不能让向听数前进,但可以让进张变多 Improves Improves // 改良情况数 ImproveWayCount int // 对于每张牌,摸到之后的手牌进张数(如果摸到的是 Waits 中的牌,则进张数视作摸到之前的进张数) ImproveWaitsCount34 []int // 在没有摸到进张时的改良进张数的加权均值 AvgImproveWaitsCount float64 // 向听前进后的进张数的加权均值 AvgNextShantenWaitsCount float64 }
13 张手牌的分析结果
func CalculateShantenWithImproves13 ¶
func CalculateShantenWithImproves13(tiles34 []int, isOpen bool) (waitsWithImproves *WaitsWithImproves13)
13 张牌,计算向听数、进张、改良、向听倒退等
type WaitsWithImproves14 ¶
type WaitsWithImproves14 struct { Result13 *WaitsWithImproves13 // 需要切的牌 DiscardTile int // 切掉这张牌后的向听数 Shanten int }
func (*WaitsWithImproves14) String ¶
func (r *WaitsWithImproves14) String() string
type WaitsWithImproves14List ¶
type WaitsWithImproves14List []*WaitsWithImproves14
func (WaitsWithImproves14List) Sort ¶
func (l WaitsWithImproves14List) Sort()
Click to show internal directories.
Click to hide internal directories.