アットウィキロゴ

ffgg

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