easyAI 用于对弈类游戏的人工智能框架开源项目

我要开发同款
匿名用户2017年03月23日
45阅读
开发技术Python
所属分类人工智能
授权协议MIT

作品详情

EasyAI是一个纯 Python编写的人工智能框架,用于双人对弈类游戏,如TicTacToe、Connect4、Reversi等。它可以轻松地定义游戏机制,并与电脑进行对战。

简单示例

首先定义一个游戏规则,并开始与AI的比赛:

from easyAI import TwoPlayersGame, Human_Player, AI_Player, Negamaxclass GameOfBones( TwoPlayersGame ):    """ In turn, the players remove one, two or three bones from a    pile of bones. The player who removes the last bone loses. """    def __init__(self, players):        self.players = players        self.pile = 20 # start with 20 bones in the pile        self.nplayer = 1 # player 1 starts    def possible_moves(self): return ['1','2','3']    def make_move(self,move): self.pile -= int(move) # remove bones.    def win(self): return self.pile<=0 # opponent took the last bone ?    def is_over(self): return self.win() # Game stops when someone wins.    def show(self): print "%d bones left in the pile"%self.pile    def scoring(self): return 100 if game.win() else 0 # For the AI# Start a match (and store the history of moves when it ends)ai = Negamax(13) # The AI will think 13 moves in advancegame = GameOfBones( [ Human_Player(), AI_Player(ai) ] )history = game.play()

结果:

20 bones left in the pilePlayer 1 what do you play ? 3Move #1: player 1 plays 3 :17 bones left in the pileMove #2: player 2 plays 1 :16 bones left in the pilePlayer 1 what do you play ?
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论