Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/blovemaple/mahjong
/ types & classes
Types & classes
114 in github.com/blovemaple/mahjong
⨍
Functions
695
◇
Types & classes
114
Class
AbstractBot
@author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/AbstractBot.java:26
Class
AbstractGameStrategy
基本的常用的规则。继承此类,实现抽象方法,可以实现一种特定的游戏规则,包括坐庄规则、和牌限制、和牌类型、番种定义等。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/AbstractGameStrategy.java:33
Class
AbstractPlayerActionType
玩家做出的各种动作类型的共同逻辑。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/AbstractPlayerActionType.java:26
Class
Action
动作。 @param <A> 附加信息类型 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/Action.java:10
Interface
ActionType
做出动作的类型。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/ActionType.java:12
Class
ActionTypeAndLocation
动作类型和玩家位置的组合。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/ActionTypeAndLocation.java:13
Class
AngangActionType
动作类型“暗杠”。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/AngangActionType.java:21
Interface
AutoActionType
由游戏自动做出的动作类型。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/AutoActionType.java:8
Enum
AutoActionTypes
自动动作类型枚举。<br> 枚举的每种动作类型包含对应Type类的单例,并委托调用其对应的方法。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/AutoActionTypes.java:15
Class
BarBot
@author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/barbot/BarBot.java:19
Class
BarBotCpgdChoice
@author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/barbot/BarBotCpgdChoice.java:27
Class
BarBotCpgdSelectTask
换牌n个:remove n,add n+1 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/barbot/BarBotCpgdSelectTask.java:42
Class
BarBotSimChanging
@author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/barbot/BarBotSimChanging.java:18
Class
BarBotSimContext
模拟选择时执行动作使用的GameContext。因为是机器人任务使用,所以只能从GameContext.PlayerView构建, 只允许获取PlayerView能看到的一些信息。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/barbot/BarBotSimContext.java:26
Class
BazBot
@author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/bazbot/BazBot.java:20
Class
BazBotAliveTiles
BazBot手中的活牌。用于计算{@link #tileTypesToWin()}。有缓存。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/bazbot/BazBotAliveTiles.java:23
Class
BazBotChoosingTileUnits
BazBot从自己的牌中挑选出的unit组合。最终用于计算tileTypesToWin。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/bazbot/BazBotChoosingTileUnits.java:22
Class
BazBotSimContext
BazBot模拟执行动作使用的GameContext。对BazBot提供模拟执行动作和计算评分的功能。<br> 从GameContextPlayerView构建,提供GameContext接口有限功能,足够模拟执行动作。 @author blovemaple <blovemaple2010(at)
src/main/java/com/github/blovemaple/mj/local/bazbot/BazBotSimContext.java:42
Class
BazBotTest
src/test/java/com/github/blovemaple/mj/local/bazbot/BazBotTest.java:11
Class
BazBotTileNeighborhood
两两可组成{@link BazBotTileUnit}(每张牌至少能和另一张牌组成一个{@link BazBotTileUnit})的一组牌。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/bazbot/BazBotTileNeighborhood.java:31
Class
BazBotTileUnit
@author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/bazbot/BazBotTileUnit.java:17
Enum
BazBotTileUnitType
src/main/java/com/github/blovemaple/mj/local/bazbot/BazBotTileUnit.java:25
Class
BazBotTileUnits
BazBotTileUnit组合。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/bazbot/BazBotTileUnits.java:22
Class
BeforePlayingStage
开始打牌前的阶段,玩家在此阶段进行补花等动作。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/simple/BeforePlayingStage.java:19
Interface
BiConsumer_WithExceptions
src/main/java/com/github/blovemaple/mj/utils/LambdaUtils.java:17
Interface
BiFunction_WithExceptions
src/main/java/com/github/blovemaple/mj/utils/LambdaUtils.java:27
Class
BotCompetition
@author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/botcompetition/BotCompetition.java:23
Class
BugangActionType
动作类型“补杠”。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/BugangActionType.java:24
Class
BuhuaActionType
动作类型“补花”。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/BuhuaActionType.java:26
Class
CachedWinFeature
带缓存的WinFeature。默认仅使用手牌作为识别条件。识别条件相同的会优先使用缓存结果。 @deprecated @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/win/CachedWinFeature.java:21
Class
ChangingForWin
一种结果是和牌的换牌方法,移除removedTiles并增加addedTiles。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/win/WinType.java:56
Interface
CharHandler
字符处理器。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/cli/CliView.java:173
Class
CliGameView
提供向CliView提供展示游戏信息的便捷方法。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/cli/CliGameView.java:45
Class
CliPlayer
命令行界面的本地玩家。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/cli/CliPlayer.java:42
Class
CliRunner
命令行入口。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/cli/CliRunner.java:21
Class
CliView
命令行界面。提供信息显示以及最下方的状态栏显示,以及接受用户单字符无回显输入。<br> 利用jline-terminal关闭回显,并进入raw模式。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/cli/CliView.java:24
Interface
Consumer_WithExceptions
src/main/java/com/github/blovemaple/mj/utils/LambdaUtils.java:12
Class
CpgActionType
吃、碰、直杠动作类型的统一逻辑。<br> 这类动作的共同点是: <li>都可以放弃; <li>前提条件都是别的玩家出牌后; <li>都是从特定关系的玩家的出牌中得牌,并组成一种group。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/CpgActionType.java:36
Class
DealActionType
动作类型“发牌”。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/DealActionType.java:19
Class
DealingStage
发牌阶段。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/simple/DealingStage.java:18
Class
DiscardActionType
动作类型“打牌”。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/DiscardActionType.java:18
Class
DiscardWithTingActionType
动作类型“打牌的同时听牌”。与打牌动作的区别是: <li>合法性要判断打出后是否可以听; <li>执行动作时要设置听牌状态。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/DiscardWithTingActionType.java:23
Class
DrawActionType
动作类型“摸牌”。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/DrawActionType.java:22
Class
DrawBottomActionType
动作类型“摸底牌”。与摸牌动作的区别是,前提条件为自己补花或杠之后,并且是从牌墙底部摸。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/DrawBottomActionType.java:20
Enum
ExtraMessage
src/main/java/com/github/blovemaple/mj/utils/LanguageManager.java:104
Interface
FanType
番种。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/win/FanType.java:15
Interface
FanTypeMatcher
判断是否符合番种的接口,定义一个完整的判断条件。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/win/FanTypeMatcher.java:8
Class
FinishedStage
一局游戏结束后的阶段。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/simple/FinishedStage.java:16
Interface
Function_WithExceptions
src/main/java/com/github/blovemaple/mj/utils/LambdaUtils.java:22
Interface
GameContext
一局游戏进行中的上下文信息。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/game/GameContext.java:18
Class
GameContextImpl
{@link GameContext}实现。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/game/GameContextImpl.java:23
Interface
GameContextPlayerView
{@link GameContext}给一个玩家的视图接口。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/game/GameContextPlayerView.java:18
Class
GameContextPlayerViewImpl
{@link GameContextPlayerView}的实现。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/game/GameContextPlayerViewImpl.java:21
Class
GameResult
一局游戏的结果。winnerLocation为null表示流局。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/game/GameResult.java:16
Interface
GameStage
游戏阶段。定义阶段中玩家可使用的所有动作类型,以及转换到其他阶段的条件。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/GameStage.java:15
Interface
GameStrategy
游戏策略。即一种游戏规则的定义。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/GameStrategy.java:25
Enum
HandlingResult
处理结果。由处理方法返回。
src/main/java/com/github/blovemaple/mj/cli/CliView.java:178
Enum
HuaRank
花牌的种类。
src/main/java/com/github/blovemaple/mj/object/TileRank.java:47
Class
IllegalActionException
尝试执行非法动作时抛出此异常。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/IllegalActionException.java:10
Class
InitStage
初始阶段。此阶段是开局的默认阶段,唯一的作用是跳转到策略提供的第一阶段。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/InitStage.java:16
Class
LambdaUtils
src/main/java/com/github/blovemaple/mj/utils/LambdaUtils.java:10
Class
LanguageManager
语言管理器,屏蔽对语言的设置。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/utils/LanguageManager.java:19
Class
LiujuActionType
动作类型“流局”。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/LiujuActionType.java:15
Class
LocalGame
本地游戏。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/LocalGame.java:20
Class
MahjongGame
麻将游戏。此类的功能是麻将游戏的基本流程(初始化、发牌、循环选择和执行动作、检查游戏结束等)。<br> 这个类的对象是无状态的,相当于作为工具使用。进行麻将游戏,以及机器人模拟,都用到这个类的功能。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/game/MahjongGame.java:44
Class
MahjongTable
麻将桌。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/object/MahjongTable.java:17
Interface
MahjongTablePlayerView
{@link MahjongTable}给一个玩家的视图接口。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/object/MahjongTablePlayerView.java:10
Interface
Message
src/main/java/com/github/blovemaple/mj/utils/LanguageManager.java:27
Class
MyUtils
一些通用工具。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/utils/MyUtils.java:36
Class
NormalWinType
普通和牌(相对于七对等特殊和牌类型而言)。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/simple/NormalWinType.java:45
Class
NormalWinTypeTest
src/test/java/com/github/blovemaple/mj/local/foobot/NormalWinTypeTest.java:20
Enum
NumberRank
万、条、饼等花色使用的数字种类。
src/main/java/com/github/blovemaple/mj/object/TileRank.java:18
Class
ParseBranch
src/main/java/com/github/blovemaple/mj/rule/simple/NormalWinType.java:56
Interface
Player
玩家。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/object/Player.java:15
Class
PlayerAction
玩家做出的动作。可以附加若干牌。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/PlayerAction.java:14
Interface
PlayerActionType
由玩家做出的动作类型。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/PlayerActionType.java:16
Enum
PlayerActionTypes
玩家动作类型枚举。<br> 枚举的每种动作类型包含对应Type类的单例,并委托调用其对应的方法。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/PlayerActionTypes.java:25
Class
PlayerInfo
麻将桌上一个玩家的信息,包括玩家对象、牌,以及其他信息。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/object/PlayerInfo.java:14
Interface
PlayerInfoPlayerView
{@link PlayerInfo}给其他玩家的视图接口。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/object/PlayerInfoPlayerView.java:10
Enum
PlayerLocation
玩家位置。 @author blovemaple
src/main/java/com/github/blovemaple/mj/object/PlayerLocation.java:8
Class
PlayerTiles
一个玩家的牌。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/object/PlayerTiles.java:13
Class
PlayerView
src/main/java/com/github/blovemaple/mj/object/MahjongTable.java:140
Class
PlayerView
src/main/java/com/github/blovemaple/mj/object/PlayerInfo.java:102
Class
PlayerView
src/main/java/com/github/blovemaple/mj/object/TileGroup.java:112
Class
PlayingStage
打牌中的阶段。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/simple/PlayingStage.java:21
Class
PreUnit
src/main/java/com/github/blovemaple/mj/rule/simple/NormalWinType.java:508
Interface
Predicate_WithExceptions
src/main/java/com/github/blovemaple/mj/utils/LambdaUtils.java:32
Class
ReadThread
src/main/java/com/github/blovemaple/mj/cli/CliView.java:228
Enum
Relation
位置关系。 @author blovemaple
src/main/java/com/github/blovemaple/mj/object/PlayerLocation.java:17
Class
SettingCharHandler
src/main/java/com/github/blovemaple/mj/cli/CliRunner.java:97
Class
SimpleFanType
简单番种,和牌即算。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/simple/SimpleFanType.java:13
Class
SimpleGameStrategy
简单游戏规则。固定坐庄、没有和牌限制、和牌固定为1番。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/simple/SimpleGameStrategy.java:19
Class
SimpleGameStrategyTest
src/test/java/com/github/blovemaple/mj/local/foobot/SimpleGameStrategyTest.java:17
Class
SimpleTimeLimitStrategy
简单的限时策略,采用固定限时。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/rule/simple/SimpleTimeLimitStrategy.java:17
Class
StageSwitchAction
切换阶段的动作。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/StageSwitchAction.java:10
Class
StageSwitchActionType
状态切换的动作类型。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/action/standard/StageSwitchActionType.java:15
Enum
StandardTileUnitType
一些标准的TileUnitType。 TODO TileUnitType拆分成单独的类、优化逻辑 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/object/StandardTileUnitType.java:22
Interface
Supplier_WithExceptions
src/main/java/com/github/blovemaple/mj/utils/LambdaUtils.java:37
Class
TestBot
测试用的机器人,无脑摸牌无脑出牌(出牌之前假装想一会儿),别的不干。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/local/TestBot.java:19
Class
Tile
麻将牌。 @author blovemaple <blovemaple2010(at)gmail.com>
src/main/java/com/github/blovemaple/mj/object/Tile.java:15
next →
1–100 of 114, ranked by callers