-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patholdbr.py
More file actions
68 lines (43 loc) · 1.53 KB
/
oldbr.py
File metadata and controls
68 lines (43 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from typing import Tuple
from movement import posible, poss
COU=0
def shift(initial,final,board_arry,ini=0) :
fival=board_arry[final[0]][final[1]]
board_arry[final[0]][final[1]]=board_arry[initial[0]][initial[1]]
board_arry[initial[0]][initial[1]]=ini
return fival
def calculate(pl,bor,score,myside,level) :
global COU
if level==0 :
return (score,(0, 0), (0, 0))
sol=poss(pl,bor)
scli=[]
for i in sol :
mov=posible(i[0],i[1],bor)
for j in mov :
val=shift(i,j,bor)
if val !=0 :
if pl == myside:
score += abs(val)
else :
score -= abs(val)
scli.append((calculate(-pl,bor,score,myside,level-1)[0],i,j))
COU+=1
shift(j,i,bor,val)
if pl == myside:
return max(scli)
else :
return min(scli)
def oldmove(pl,bor,lev=5) -> Tuple[Tuple[int,int],Tuple[int,int]]:
ans=calculate(pl,bor,0,pl,lev)
print('\n old\n',COU,'\t',ans[0],'\n',ans[1],ans[2])
return (ans[1],ans[2])
# ta=[[ 5, 4, 3, 20, 9, 3, 4, 5],
# [ 1, 1, 1, 1, 1, 1, 1, 1],
# [ 0, 0, 0, 0, 0, 0, -1, 0],
# [ 0, 0, 0, 0, 0, 0, 0, 0],
# [ 0, 0, 0, 0, 0, 0, 0, 0],
# [ 0, 0, 0, 0, 0, 0, 0, 0],
# [-1, -1, -1, -1, -1, -1, -1, -1],
# [-5, -4, -3, -20, -9, -3, -4, -1]]
# print(oldmove(1,ta))