Skip to content

ColosseumGroup/ColosGym

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ColosGym

整体实现

  • 游戏服务使用ACPC的代码,以及在此基础上改出来的其他游戏服务
  • 在ColosGym增加支持的游戏,需要从BaseGame中继承,实现父类的所有虚函数即可使用
  • Actor是对所有客户端和服务端的交互的抽象,已提供类似与OPENAI的Gym类似的API
  • 对于有特别需求的用户,建议按照游戏传输字符串的形式自行继承BaseGame继承实现子类
  • 当然,也可以研究服务端的交互方式来使用socket自行实现所有交互逻辑

Poker Section

脚本使用:

这个东西是用来链接另一个PokerServer进行算法训练的。

参照random_player.py 有算法训练需求的,可能需要自己实现client.py

关于游戏的类型

扑克规则参照相应的.define文件,具体见ColosGym/ColosGame/PokerDefine

默认是holdem.limit.2p.reverse_blinds,具体定义如下:

GAMEDEF
limit
numPlayers = 2
numRounds = 4
blind = 10 5
raiseSize = 10 10 20 20
firstPlayer = 2 1 1 1
maxRaises = 3 4 4 4
numSuits = 4
numRanks = 13
numHoleCards = 2
numBoardCards = 0 3 1 1
END GAMEDEF

如果需要修改游戏类型,需要在GameSolver.c里面重新修改getGame()的参数。修改后重新使用setup.py重新打包。即可使用。

Renju Section

Rules

  • 第一个玩家执黑先行,然后按照局次轮换先手。
  • 越过棋盘的范围,在已有棋子上下子,都会导致失败
  • 胜利reward为1,失败为0
  • 其他使用方法,参照renju_examples.py

Examples

  • Oberserve
[[ 1.  0.  1.  0.  0.  0.  0.  1.  0.  0.  0.  1.  0.  2.  1.]
 [ 0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  2.  2.]
 [ 2.  0.  0.  0.  0.  0.  2.  0.  2.  2.  1.  0.  1.  2.  1.]
 [ 0.  1.  0.  2.  0.  2.  2.  1.  0.  0.  2.  2.  0.  0.  2.]
 [ 1.  0.  1.  0.  0.  0.  0.  2.  1.  0.  1.  0.  1.  2.  0.]
 [ 0.  1.  1.  0.  0.  0.  0.  1.  0.  0.  1.  0.  1.  0.  1.]
 [ 0.  0.  0.  0.  1.  0.  0.  2.  1.  0.  0.  2.  0.  2.  1.]
 [ 2.  0.  2.  0.  0.  1.  0.  2.  0.  0.  0.  0.  0.  0.  0.]
 [ 1.  2.  0.  2.  1.  0.  0.  0.  0.  1.  1.  0.  0.  0.  1.]
 [ 0.  0.  1.  2.  0.  0.  2.  0.  0.  0.  0.  1.  2.  0.  0.]
 [ 0.  0.  1.  2.  2.  1.  0.  0.  2.  2.  1.  0.  2.  2.  2.]
 [ 0.  0.  0.  2.  2.  1.  0.  0.  1.  0.  1.  0.  0.  0.  0.]
 [ 0.  0.  0.  0.  0.  1.  0.  2.  0.  0.  0.  0.  0.  2.  0.]
 [ 0.  0.  0.  0.  2.  0.  0.  0.  1.  1.  2.  2.  0.  0.  0.]
 [ 0.  1.  1.  1.  2.  0.  0.  1.  2.  2.  2.  1.  0.  0.  2.]]

Releases

No releases published

Packages

No packages published