アットウィキロゴ

gamexxcx

import numpy as np
 
def delta(mode):
 
    t1=[[1,0],[1,1],[1,2]]
    t2=[[2,0],[2,1],[2,2]]
    t3=[[0,0],[0,1],[0,2]]
    y1=[[0,0],[1,0],[2,0]]
    y2=[[0,1],[1,1],[2,1]]
    y3=[[0,2],[1,2],[2,2]]
    n1=[[0,0],[1,1],[2,2]]
    n2=[[0,2],[1,1],[2,0]]
 
    den=0
    de=0
    for mx in t1:
        c1=check(mx[0],mx[1])
        if pos[c1]==mode:de=de+1
    if de==3:den=100
    de=0
    for mx in t2:
        c1=check(mx[0],mx[1])
        if pos[c1]==mode:de=de+1
    if de==3:den=100
    de=0
    for mx in t3:
        c1=check(mx[0],mx[1])
        if pos[c1]==mode:de=de+1
    if de==3:den=100
    de=0
    for mx in y1:
        c1=check(mx[0],mx[1])
        if pos[c1]==mode:de=de+1
    if de==3:den=100
    de=0
    for mx in y2:
        c1=check(mx[0],mx[1])
        if pos[c1]==mode:de=de+1
    if de==3:den=100
    de=0
    for mx in y3:
        c1=check(mx[0],mx[1])
        if pos[c1]==mode:de=de+1
    if de==3:den=100
    de=0
    for mx in n1:
        c1=check(mx[0],mx[1])
        if pos[c1]==mode:de=de+1
    if de==3:den=100
    de=0
    for mx in n2:
        c1=check(mx[0],mx[1])
        if pos[c1]==mode:de=de+1
    if de==3:den=100
 
    return den
 
def check(x1,y1):
 
    px=-1
    for i in range(9):
        h=0
        if x[i]==x1:h=h+1
        if y[i]==y1:h=h+1
        if h==2:px=i
 
    return px
 
x=[]
y=[]
 
for y1 in range(3):
   for x1 in range(3):
       x.append(x1)
       y.append(y1)
 
pos=[]
for i in range(9):
    pos.append("空")
 
game=0
 
mode="黒"
q=[]
for i in range(9):
    if pos[i]=="空":q.append(i)
 
while game<50: 
 
    q1=np.random.choice(q)
    pos[q1]=mode
    q.remove(q1)
 
    dex=delta(mode)
 
    if dex>40:mode=mode+"勝利"
 
    mm=mode
    if mm=="黒":mode="白"
    if mm=="白":mode="黒"
 
    if len(q)==0:game=100
    if mode=="白勝利":game=100
    if mode=="黒勝利":game=100
 
 
print(mode)
最終更新:2018年02月15日 15:04