/
kod7
68 lines (57 loc) · 1.48 KB
/
kod7
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
tahta=[
[-1,-1,-1,-1,-1,-1,-1,-1],
[-1,4,3,2,5,6,2,3,5],
[-1,1,1,1,1,1,1,1,1],
[-1,0,0,0,0,0,0,0,0],
[-1,0,0,0,0,0,0,0,0],
[-1,0,0,0,0,0,0,0,0],
[-1,0,0,0,0,0,0,0,0],
[-1,7,7,7,7,7,7,7,7],
[-1,10,9,8,11,12,8,9,10]]
sutunlar={'z':0, 'a':1, 'b':2, 'c':3, 'd':4, 'e':5, 'f':6, 'g':7, 'h':8}
parca=list(hamle)
def hamlecoz(renk,parca):
nereden=0
if len(parca)==2:
sutun=sutunlar[parca[0]]
satir=int(parca[1])
if renk == 0:
if parca[1] ==4:
if tahta[satir-1][sutun]==1:
nereden=((satir-1), sutun)
else:
nereden=( (satir-2), sutun)
else:
nereden=( (satir-1), sutun)
elif parca[0].islower():
satir=int(parca[3])
sutun=sutunlar[parca[0]]
if renk==0:
nereden=( (satir-1), sutun)
elif parca[1]=='x':
satir=int(parca[3])
sutun=sutunlar[parca[2]]
ayrac=0
elif parca[2]=='x':
satir=int(parca[4])
sutun=sutunlar[parca[3]]
ayrac=parca[1]
elif len(parca)==3: #icinde x yok ,ayracsiz
satir=int(parca[2])
sutun=sutunlar[parca[1]]
ayrac=0
else: #icinde x var , ayracli
satir=int(parca[4])
sutun=sutunlar[parca[3]]
ayrac=parca[1]
if nereden==0: # eger giden tas bir piyonsa zaten nereden geldigini cozduk
# eger diger taslardan biriyse nereden degeri hala 0 omlasi lazm
if parca[0]=='R': # bu bir kale
nereden=kale(renk,satir,sutun,ayrac)
elif parca[0]=='B':
nereden=fil(renk,satir,sutun)
elif parca[0]=='N':
nereden=at(renk,satir,sutun,ayrac)
elif parca[0]=='Q':
nereden=vezir(renk,satir,sutun)
return (nereden,nereye,r1,r2,tas)