class policy:
def select(self,m1):
kon=[]
for u in range(6):
h=0
if self.hand[u]==m1:
h=h+1
if self.pos[u]>0:
h=h+1
if h==2:
kon.append(u)
return kon
def makedir(self,h1,k1):
dir=[]
if k1=="王":
dir.append([1,0])
dir.append([-1,0])
dir.append([0,1])
dir.append([0,-1])
dir.append([1,1])
dir.append([1,-1])
dir.append([-1,1])
dir.append([-1,-1])
h=0
if k1=="歩":
h=h+1
if h1=="先手":
h=h+1
if h==2:
dir.append([0,1])
h=0
if k1=="歩":
h=h+1
if h1=="後手":
h=h+1
if h==2:
dir.append([0,-1])
return dir
def makedata(self,mode):
k=self.select(mode)
sig=[]
for k1 in k:
dir=self.makedir(self.hand[k1],self.koma[k1])
for d in dir:
p1=self.pos[k1]
x1=self.ban[p1][0]+d[0]
y1=self.ban[p1][1]+d[1]
b1=[x1,y1]
px=-1
if b1 in self.ban:
px=self.ban.index(b1)
pon=[0,0,0,0,0,0]
for u in range(6):
pon[u]=self.pos[u]
pon[k1]=px
if px>0:
sig.append(pon)
return sig
最終更新:2018年01月06日 19:38