laud=['0', 'X', '.', '.', '.', '.', '.', '.', '.'] voidukolmikud=[ [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6] ] def kasSama(kolmik, mangija): return laud[kolmik[0]]==mangija and \ laud[kolmik[1]]==mangija and \ laud[kolmik[2]]==mangija def kasVoit(mangija): for kolmik in voidukolmikud: if kasSama(kolmik, mangija): return True return False def kasViik(): #Kas laud on tط£آ¤is? #tagastab True kui laud on tط£آ¤is, muidu False #Kui leidub vط£آ¤hemasti ط£آ¼ks punkt, siis ei ole tط£آ¤is if '.' in laud: return False return True def k2igud(kes): for nr in range(9): if laud[nr]=='.': yield nr def seisuHinnang(kes, sygavus=0): #tagastab 1, 0, -1 vط£آµi ? #X vط£آµidu, viigi, 0 vط£آµidu ja teadmata seisu puhul if kasVoit('X'): return 1 if kasVoit('0'): return -1 if kasViik(): return 0 if sygavus>10: return '?' hinnangud=[] vastane='0' if kes=='X' else 'X' for kaik in k2igud(kes): laud[kaik]=kes #print(sygavus*' ', laud) hinnangud.append(seisuHinnang(vastane, sygavus+1)) #print(sygavus*' ', hinnangud) laud[kaik]="." if '?' in hinnangud: return '?' if kes=='X': return max(hinnangud) else: return min(hinnangud) #Koosta funktsioon parima kأ¤igukoha leidmiseks #Proovi lأ¤bi kأµik vأµimalikud kأ¤igukohad #Leia neist parima seisuhinnanguga _kأ¤ik_ def kontroll(): vastus=seisuHinnang('X') if vastus==1: print('X vط£آµidab ') if vastus==-1: print('X kaotab') print("vastus oli ", vastus) def kaiguValik(kes): kaigud=[] for kaik in range(9): if laud[kaik]=='.': laud[kaik]=kes kaigud.append([seisuHinnang('0' if kes=='X' else 'X'), kaik]) laud[kaik]="." return kaigud #leia kأ¤ikudest (vajadusel ka halbadest) parim #Koostage uus funktsioon, kus kأµigepealt trأ¼kitakse vأ¤lja #Kأµik vأµimalikud X-i kأ¤igud ning hinnang neile 0-i poolt vaadates #Valige neist parim X-i kأ¤ik #Vأµimalusel laske inimesel arvuti vastu Minimaxi abil mأ¤ngida. while True: print(laud) #print(kontroll()) kaigud=list(sorted(kaiguValik('0'))) print(kaigud) laud[kaigud[0][1]]='0' print(laud[0:3]) print(laud[3:6]) print(laud[6:9]) laud[int(input("Kuhu? "))]='X' #print(seisuHinnang('X')) #Kasvatage sügavust #Võimaldage arvuti vastu mängida