バックギャモンのPythonのコンソール単純な実装

 

#チェス
#Laziの
#ルールは
ランダムインポート
:クラスチェス
DEF __init __(自己):
印刷(「#--------------- -------------ボードを#--- ')
self.grid = []
self.si = []
のためのIの範囲内(8):。
self.grid.append(。[' □「] * 8)
印刷(self.grid)
印刷( )
の範囲でのJのために(8):
印刷( ''参加(self.grid [J]。))# ''に参加(グリッド[J]))。

DEF GetPosも(自己、X、Y):
印刷(「# ZI#---------------- ----------------「)
self.x = X
self.y Y =
IF self.grid [self.x] [self.y] == ' ○'またはself.grid [self.x] [self.y] == '●'位片繰り返すか否かを判断する
(「\ T \ T \プリントを T 個複製')
他:
self.l = 0
self.grid [self.x] [self.y] ='● "
もしself.xの== 7又はself.y == 0:
self.grid [random.randint(self.x-2、self.x-1)] [random.randint(self.y-2、self.y -1)] = '○'

のelif self.grid [random.randint(self.x - 1、self.x + 1)] [random.randint(self.y - 1、self.y + 1)] ==なし:
self.grid [random.randint(self.x - 1、self.x + 1)] [random.randint(self.y - 1、self.y + 1)] = '○'

ほか:
self.grid [self.x] [self.y] = '●'
self.grid [self.x + 1] [self.y + 1] = '○'
self.si.append([self.x、self.y] )
Iの範囲内(LEN(self.si))のために:
self.siなら[I-1] [0] == self.si [I] [0]またはself.si [I-1] [1] = = self.si [I] [1]又はself.si [I] [1] == self.si [i]が[0]とself.si [I-1] [1] == self.si [I -1] [0]:#判断玩家是否排成一条线
self.l + = 1枚の
#プリント(self.l)
の範囲内のjに対して(8):
印刷( '\ N-'参加(self.grid [J])+ '')# ''に参加(グリッド[J]))。

DEFルーラ(セルフ):
Recodeを= []
recode.append([self.x 、self.y])
(self.si)印刷

範囲(LEN(RecodeのでIの場合))
範囲でJ(LEN(Recodeの[I]))のために
self.lのiF == 5:#フラグ、など午前5時00分ゲームの終わり
プリント(「ゲームオーバー」)
プリント(「勝利の選手」)
self.t = Falseの
リターンself.t
#は、理由は簡単な条件のため、引き分けを判断そういないコンピュータ:elifのLEN(self.si)> 6状況勝つ
プリント( 'ゲームオーバー')
プリント( '描く')
self.t = Falseの
self.tリターンを
他:
self.t = Trueの
リターンはself.t




=()チェスをプレイ
トン=真
#サイクルを達成するために:しばらくtはボードが表示され
( "\ X、Y =入力 Tが分割(:\ N '' Y座標、Xを入力スプリット") '')
play.getPos(INT(X)、INT(Y))
T = play.rulers()

これは単純な運動です

白1は、AIのトレーニング方法はまだ学んでいない、より多くをバックアップしていきます

継続的な努力

おすすめ

転載: www.cnblogs.com/superSmall/p/11503354.html