Nem grafikus, de nagyon tanulságos program kezdőknek.
A játékos kezd, de nem tudja legyőzni a gépet!
class TicTacToe:
"""Játék személy kezdéssel"""
def __init__(self, szamlista):
self.szamlista = szamlista
self.szam = str
self.uj_tabla(szamlista)
self.lepes_szam = 0
self.kettes_alas = False
self.gyozelem = False
self.benne = False
self.red = self.piros('G')
self.zold = self.zold('J')
self.sarga = '\x1b[33m'
@staticmethod
def piros(betu):
return f"\033[0;40m\033[1;91m{betu}\033[00m"
@staticmethod
def zold(betu):
# sárga!
return f"\033[0;40m\033[1;93m{betu}\033[00m"
@staticmethod
def lila(szoveg):
print(f"\033[0;35m{szoveg}\033[00m")
@staticmethod
# A játéktábla kiíratása.
def uj_tabla(szamlista):
for index, elem in enumerate(szamlista, start=1):
print(elem, end=' ' if index % 3 else '\n')
def input_bevitel(self):
while True:
print(self.sarga)
self.szam = input("\n\tKérek egy számot "
"ahová a jelet teszed! \n")
print("\033[0m")
# Benne van e a listában az a szám amit a játékos megadott.
self.benne = self.szam in self.szamlista
# Ellenőrzés
if self.benne is True:
break
else:
print("Hibás számot adtál meg! "
"Valószínű foglalt vagy nem használható.")
def szemely_szama(self):
self.lepes_szam += 1
print("\n Játékos", self.lepes_szam, "lépése:", )
# Végrehajtja a behelyettesítést, szám helyébe = X
for index, elem in enumerate(self.szamlista):
if elem == self.szam:
self.szamlista[index] = self.zold
self.uj_tabla(self.szamlista)
def gep_valasz1(self):
print("\n Számítógép", self.lepes_szam, "válaszlépése:")
if self.szamlista[4] == '5':
self.szamlista[4] = self.red
self.uj_tabla(self.szamlista)
else:
self.szamlista[0] = self.red
self.uj_tabla(self.szamlista)
def gep_valasz2(self):
"""A gép második válasza, jele ha a középső 5
számra került, vagy az 1 számra."""
print("\n Számítógép", self.lepes_szam, "válaszlépése:")
# A játékos kettes állásainak a blokkolása.
if self.szamlista[4] == self.red:
"""X=(1-szám, 0-index)"""
if (self.szamlista[0] == self.zold and
self.szamlista[1] == self.zold):
self.szamlista[2] = self.red
if (self.szamlista[0] == self.zold and
self.szamlista[2] == self.zold):
self.szamlista[1] = self.red
if (self.szamlista[0] == self.zold and
self.szamlista[3] == self.zold):
self.szamlista[6] = self.red
if (self.szamlista[0] == self.zold and
self.szamlista[6] == self.zold):
self.szamlista[3] = self.red
if (self.szamlista[0] == self.zold and
self.szamlista[7] == self.zold):
self.szamlista[5] = self.red
if (self.szamlista[0] == self.zold and
self.szamlista[5] == self.zold):
self.szamlista[7] = self.red
if (self.szamlista[0] == self.zold and
self.szamlista[8] == self.zold):
self.szamlista[5] = self.red
"""X=(2-szám, 1-index)"""
if (self.szamlista[1] == self.zold and
self.szamlista[2] == self.zold):
self.szamlista[0] = self.red
if (self.szamlista[1] == self.zold and
self.szamlista[3] == self.zold):
self.szamlista[0] = self.red
if (self.szamlista[1] == self.zold and
self.szamlista[6] == self.zold):
self.szamlista[0] = self.red
if (self.szamlista[1] == self.zold and
self.szamlista[7] == self.zold):
self.szamlista[5] = self.red
if (self.szamlista[1] == self.zold and
self.szamlista[8] == self.zold):
self.szamlista[2] = self.red
if (self.szamlista[1] == self.zold and
self.szamlista[5] == self.zold):
self.szamlista[2] = self.red
"""X=(3-szám, 2-index)"""
if (self.szamlista[2] == self.zold and
self.szamlista[3] == self.zold):
self.szamlista[0] = self.red
if (self.szamlista[2] == self.zold and
self.szamlista[5] == self.zold):
self.szamlista[8] = self.red
if (self.szamlista[2] == self.zold and
self.szamlista[6] == self.zold):
self.szamlista[1] = self.red
if (self.szamlista[2] == self.zold and
self.szamlista[7] == self.zold):
self.szamlista[5] = self.red
if (self.szamlista[2] == self.zold and
self.szamlista[8] == self.zold):
self.szamlista[5] = self.red
"""X=(4-szám, 3-index)"""
if (self.szamlista[3] == self.zold and
self.szamlista[5] == self.zold):
self.szamlista[1] = self.red
if (self.szamlista[3] == self.zold and
self.szamlista[6] == self.zold):
self.szamlista[0] = self.red
if (self.szamlista[3] == self.zold and
self.szamlista[7] == self.zold):
self.szamlista[0] = self.red
if (self.szamlista[3] == self.zold and
self.szamlista[8] == self.zold):
self.szamlista[7] = self.red
"""X=(6-szám, 5-index)"""
if (self.szamlista[5] == self.zold and
self.szamlista[6] == self.zold):
self.szamlista[8] = self.red
if (self.szamlista[5] == self.zold and
self.szamlista[7] == self.zold):
self.szamlista[8] = self.red
if (self.szamlista[5] == self.zold and
self.szamlista[8] == self.zold):
self.szamlista[2] = self.red
"""X=(7-szám, 6-index)"""
if (self.szamlista[6] == self.zold and
self.szamlista[7] == self.zold):
self.szamlista[8] = self.red
if (self.szamlista[6] == self.zold and
self.szamlista[8] == self.zold):
self.szamlista[7] = self.red
"""X=(8-szám, 7-index)"""
if (self.szamlista[7] == self.zold and
self.szamlista[8] == self.zold):
self.szamlista[6] = self.red
self.uj_tabla(self.szamlista)
elif self.szamlista[0] == self.red:
"""X=(4-szám, 3-index)"""
if (self.szamlista[4] == self.zold and
self.szamlista[1] == self.zold):
self.szamlista[7] = self.red
if (self.szamlista[4] == self.zold and
self.szamlista[2] == self.zold):
self.szamlista[6] = self.red
if (self.szamlista[4] == self.zold and
self.szamlista[3] == self.zold):
self.szamlista[5] = self.red
if (self.szamlista[4] == self.zold and
self.szamlista[5] == self.zold):
self.szamlista[3] = self.red
if (self.szamlista[4] == self.zold and
self.szamlista[6] == self.zold):
self.szamlista[2] = self.red
if (self.szamlista[4] == self.zold and
self.szamlista[7] == self.zold):
self.szamlista[1] = self.red
if (self.szamlista[4] == self.zold and
self.szamlista[8] == self.zold):
self.szamlista[2] = self.red
self.uj_tabla(self.szamlista)
def kiertekelo(self):
""" A győzelem kijelentése bármelyik három egy forma
jelnél. Ha nincs győztes a False
döntetlent ír ki. A return leállítja vagy tovább engedi
a futási ciklust."""
# Ha a játékosnak van egy vonalon hármasa.
if (self.szamlista[0] == self.zold
and self.szamlista[1] == self.zold and
self.szamlista[2] == self.zold) \
or (self.szamlista[3] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[5] == self.zold)\
or (self.szamlista[6] == self.zold
and self.szamlista[7] == self.zold
and self.szamlista[8] == self.zold)\
or (self.szamlista[0] == self.zold
and self.szamlista[3] == self.zold
and self.szamlista[6] == self.zold)\
or (self.szamlista[1] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[7] == self.zold)\
or (self.szamlista[2] == self.zold
and self.szamlista[5] == self.zold
and self.szamlista[8] == self.zold)\
or (self.szamlista[0] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[8] == self.zold)\
or (self.szamlista[2] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[6] == self.zold):
self.lila("\nJátékos győzelem!")
self.gyozelem = True
return True
# Ha a gépnek van egy vonalon három egyforma.
elif (self.szamlista[0] == self.red
and self.szamlista[1] == self.red
and self.szamlista[2] == self.red) \
or (self.szamlista[3] == self.red
and self.szamlista[4] == self.red
and self.szamlista[5] == self.red)\
or (self.szamlista[6] == self.red
and self.szamlista[7] == self.red
and self.szamlista[8] == self.red)\
or (self.szamlista[0] == self.red
and self.szamlista[3] == self.red
and self.szamlista[6] == self.red)\
or (self.szamlista[1] == self.red
and self.szamlista[4] == self.red
and self.szamlista[7] == self.red)\
or (self.szamlista[2] == self.red
and self.szamlista[5] == self.red
and self.szamlista[8] == self.red)\
or (self.szamlista[0] == self.red
and self.szamlista[4] == self.red
and self.szamlista[8] == self.red)\
or (self.szamlista[2] == self.red
and self.szamlista[4] == self.red
and self.szamlista[6] == self.red):
self.lila("\n A gép győzött!")
self.gyozelem = True
return True
if self.gyozelem is False and self.lepes_szam == 5:
self.lila("\n Vége, döntetlen.")
return True
def gep_valasz3(self):
"""Vizsgálat, hogy van e két egyforma karakter
a sorokban, átlókban és függőlegesen."""
print("\n Számítógép", self.lepes_szam, "válaszlépése:")
# A 0 indexű, az '1' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
if (self.szamlista[1] == self.red
and self.szamlista[2] == self.red
and self.szamlista[0] == '1') \
or (self.szamlista[3] == self.red
and self.szamlista[6] == self.red
and self.szamlista[0] == '1') \
or (self.szamlista[4] == self.red
and self.szamlista[8] == self.red
and self.szamlista[0] == '1'):
self.szamlista[0] = self.red
self.kettes_alas = True
# Az 1 indexű, a '2' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
elif (self.szamlista[0] == self.red
and self.szamlista[2] == self.red
and self.szamlista[1] == '2') \
or (self.szamlista[4] == self.red
and self.szamlista[7] == self.red
and self.szamlista[1] == '2'):
self.szamlista[1] = self.red
self.kettes_alas = True
# A 2 indexű, a '3' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
elif (self.szamlista[0] == self.red
and self.szamlista[1] == self.red
and self.szamlista[2] == '3') \
or (self.szamlista[5] == self.red
and self.szamlista[8] == self.red
and self.szamlista[2] == '3') \
or (self.szamlista[4] == self.red
and self.szamlista[6] == self.red
and self.szamlista[2] == '3'):
self.szamlista[2] = self.red
self.kettes_alas = True
# A 3 indexű, a '4' hely vizsgálata,
# hogy kiegészíthető e 3 egyformára.
elif (self.szamlista[4] == self.red
and self.szamlista[5] == self.red
and self.szamlista[3] == '4') \
or (self.szamlista[0] == self.red
and self.szamlista[6] == self.red
and self.szamlista[3] == '4'):
self.szamlista[3] = self.red
self.kettes_alas = True
# A 4 indexű, a '5' hely vizsgálata,
# hogy kiegészíthető e 3 egyformára.
elif (self.szamlista[3] == self.red
and self.szamlista[5] == self.red
and self.szamlista[4] == '5') \
or (self.szamlista[1] == self.red
and self.szamlista[7] == self.red
and self.szamlista[4] == '5')\
or (self.szamlista[0] == self.red
and self.szamlista[8] == self.red
and self.szamlista[4] == '5')\
or (self.szamlista[2] == self.red
and self.szamlista[6] == self.red
and self.szamlista[4] == '5'):
self.szamlista[4] = self.red
self.kettes_alas = True
# A 5 indexű, a '6' hely vizsgálata,
# hogy kiegészíthető e 3 egyformára.
elif (self.szamlista[2] == self.red
and self.szamlista[8] == self.red
and self.szamlista[5] == '6') \
or (self.szamlista[3] == self.red
and self.szamlista[4] == self.red
and self.szamlista[5] == '6'):
self.szamlista[5] = self.red
self.kettes_alas = True
# A 6 indexű, a '7' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
elif (self.szamlista[0] == self.red
and self.szamlista[3] == self.red
and self.szamlista[6] == '7') \
or (self.szamlista[7] == self.red
and self.szamlista[8] == self.red
and self.szamlista[6] == '7') \
or (self.szamlista[4] == self.red
and self.szamlista[2] == self.red
and self.szamlista[6] == '7'):
self.szamlista[6] = self.red
self.kettes_alas = True
# A 7 indexű, a '8' hely vizsgálata,
# hogy kiegészíthető e 3 egyformára.
elif (self.szamlista[6] == self.red
and self.szamlista[8] == self.red
and self.szamlista[7] == '8') \
or (self.szamlista[1] == self.red
and self.szamlista[4] == self.red
and self.szamlista[7] == '8'):
self.szamlista[7] = self.red
self.kettes_alas = True
# A 8 indexű, a '9' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
elif (self.szamlista[6] == self.red
and self.szamlista[7] == self.red
and self.szamlista[8] == '9') \
or (self.szamlista[2] == self.red
and self.szamlista[5] == self.red
and self.szamlista[8] == '9') \
or (self.szamlista[0] == self.red
and self.szamlista[4] == self.red
and self.szamlista[8] == '9'):
self.szamlista[8] = self.red
self.kettes_alas = True
# Vizsgálat az ellenfél állása szempontjából.
# A 0 indexű, az '1' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[1] == self.zold
and self.szamlista[2] == self.zold
and self.szamlista[0] == '1') \
or (self.szamlista[3] == self.zold
and self.szamlista[6] == self.zold
and self.szamlista[0] == '1') \
or (self.szamlista[4] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[0] == '1'):
self.szamlista[0] = self.red
self.kettes_alas = True
# Az 1 indexű, a '2' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[0] == self.zold
and self.szamlista[2] == self.zold
and self.szamlista[1] == '2') \
or (self.szamlista[4] == self.zold
and self.szamlista[7] == self.zold
and self.szamlista[1] == '2'):
self.szamlista[1] = self.red
self.kettes_alas = True
# A 2 indexű, a '3' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[0] == self.zold
and self.szamlista[1] == self.zold
and self.szamlista[2] == '3') \
or (self.szamlista[5] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[2] == '3') \
or (self.szamlista[4] == self.zold
and self.szamlista[6] == self.zold
and self.szamlista[2] == '3'):
self.szamlista[2] = self.red
self.kettes_alas = True
# A 3 indexű, a '4' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[4] == self.zold
and self.szamlista[5] == self.zold
and self.szamlista[3] == '4') \
or (self.szamlista[0] == self.zold
and self.szamlista[6] == self.zold
and self.szamlista[3] == '4'):
self.szamlista[3] = self.red
self.kettes_alas = True
# A 4 indexű, a '5' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[3] == self.zold
and self.szamlista[5] == self.zold
and self.szamlista[4] == '5') \
or (self.szamlista[1] == self.zold
and self.szamlista[7] == self.zold
and self.szamlista[4] == '5') \
or (self.szamlista[0] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[4] == '5') \
or (self.szamlista[2] == self.zold
and self.szamlista[6] == self.zold
and self.szamlista[4] == '5'):
self.szamlista[4] = self.red
self.kettes_alas = True
# A 5 indexű, a '6' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[2] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[5] == '6') \
or (self.szamlista[3] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[5] == '6'):
self.szamlista[5] = self.red
self.kettes_alas = True
# A 6 indexű, a '7' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[0] == self.zold
and self.szamlista[3] == self.zold
and self.szamlista[6] == '7') \
or (self.szamlista[7] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[6] == '7') \
or (self.szamlista[4] == self.zold
and self.szamlista[2] == self.zold
and self.szamlista[6] == '7'):
self.szamlista[6] = self.red
self.kettes_alas = True
# A 7 indexű, a '8' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[6] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[7] == '8') \
or (self.szamlista[1] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[7] == '8'):
self.szamlista[7] = self.red
self.kettes_alas = True
# A 8 indexű, a '9' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[6] == self.zold
and self.szamlista[7] == self.zold
and self.szamlista[8] == '9') \
or (self.szamlista[2] == self.zold
and self.szamlista[5] == self.zold
and self.szamlista[8] == '9') \
or (self.szamlista[0] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[8] == '9'):
self.szamlista[8] = self.red
self.kettes_alas = True
# Ha a fenti kettes felételek nem állnak akkor,
# egy üres hely elfoglalása.
elif self.kettes_alas is False:
indexal = 0
szamol = 1
while True:
if self.szamlista[indexal] == str(szamol):
self.szamlista[indexal] = self.red
break
indexal += 1
szamol += 1
self.uj_tabla(self.szamlista)
def gep_valasz4(self):
"""Vizsgálat, hogy van e két egyforma karakter a
sorokban, átlókban és függőlegesen."""
print("\n Számítógép", self.lepes_szam, "válaszlépése:")
# A 0 indexű, az '1' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
if (self.szamlista[1] == self.red
and self.szamlista[2] == self.red
and self.szamlista[0] == '1') \
or (self.szamlista[3] == self.red
and self.szamlista[6] == self.red
and self.szamlista[0] == '1') \
or (self.szamlista[4] == self.red
and self.szamlista[8] == self.red
and self.szamlista[0] == '1'):
self.szamlista[0] = self.red
self.kettes_alas = True
# Az 1 indexű, a '2' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
elif (self.szamlista[0] == self.red
and self.szamlista[2] == self.red
and self.szamlista[1] == '2') \
or (self.szamlista[4] == self.red
and self.szamlista[7] == self.red
and self.szamlista[1] == '2'):
self.szamlista[1] = self.red
self.kettes_alas = True
# A 2 indexű, a '3' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
elif (self.szamlista[0] == self.red
and self.szamlista[1] == self.red
and self.szamlista[2] == '3') \
or (self.szamlista[5] == self.red
and self.szamlista[8] == self.red
and self.szamlista[2] == '3') \
or (self.szamlista[4] == self.red
and self.szamlista[6] == self.red
and self.szamlista[2] == '3'):
self.szamlista[2] = self.red
self.kettes_alas = True
# A 3 indexű, a '4' hely vizsgálata,
# hogy kiegészíthető e 3 egyformára.
elif (self.szamlista[4] == self.red
and self.szamlista[5] == self.red
and self.szamlista[3] == '4') \
or (self.szamlista[0] == self.red
and self.szamlista[6] == self.red
and self.szamlista[3] == '4'):
self.szamlista[3] = self.red
self.kettes_alas = True
# A 4 indexű, a '5' hely vizsgálata,
# hogy kiegészíthető e 3 egyformára.
elif (self.szamlista[3] == self.red
and self.szamlista[5] == self.red
and self.szamlista[4] == '5') \
or (self.szamlista[1] == self.red
and self.szamlista[7] == self.red
and self.szamlista[4] == '5')\
or (self.szamlista[0] == self.red
and self.szamlista[8] == self.red
and self.szamlista[4] == '5')\
or (self.szamlista[2] == self.red
and self.szamlista[6] == self.red
and self.szamlista[4] == '5'):
self.szamlista[4] = self.red
self.kettes_alas = True
# A 5 indexű, a '6' hely vizsgálata,
# hogy kiegészíthető e 3 egyformára.
elif (self.szamlista[2] == self.red
and self.szamlista[8] == self.red
and self.szamlista[5] == '6') \
or (self.szamlista[3] == self.red
and self.szamlista[4] == self.red
and self.szamlista[5] == '6'):
self.szamlista[5] = self.red
self.kettes_alas = True
# A 6 indexű, a '7' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
elif (self.szamlista[0] == self.red
and self.szamlista[3] == self.red
and self.szamlista[6] == '7') \
or (self.szamlista[7] == self.red
and self.szamlista[8] == self.red
and self.szamlista[6] == '7') \
or (self.szamlista[4] == self.red
and self.szamlista[2] == self.red
and self.szamlista[6] == '7'):
self.szamlista[6] = self.red
self.kettes_alas = True
# A 7 indexű, a '8' hely vizsgálata,
# hogy kiegészíthető e 3 egyformára.
elif (self.szamlista[6] == self.red
and self.szamlista[8] == self.red
and self.szamlista[7] == '8') \
or (self.szamlista[1] == self.red
and self.szamlista[4] == self.red
and self.szamlista[7] == '8'):
self.szamlista[7] = self.red
self.kettes_alas = True
# A 8 indexű, a '9' hely vizsgálata,
# hogy kiegészthető e 3 egyformára.
elif (self.szamlista[6] == self.red
and self.szamlista[7] == self.red
and self.szamlista[8] == '9') \
or (self.szamlista[2] == self.red
and self.szamlista[5] == self.red
and self.szamlista[8] == '9') \
or (self.szamlista[0] == self.red
and self.szamlista[4] == self.red
and self.szamlista[8] == '9'):
self.szamlista[8] = self.red
self.kettes_alas = True
# Vizsgálat az ellenfél állása szempontjából.
# A 0 indexű, az '1' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[1] == self.zold
and self.szamlista[2] == self.zold
and self.szamlista[0] == '1') \
or (self.szamlista[3] == self.zold
and self.szamlista[6] == self.zold
and self.szamlista[0] == '1') \
or (self.szamlista[4] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[0] == '1'):
self.szamlista[0] = self.red
self.kettes_alas = True
# Az 1 indexű, a '2' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[0] == self.zold
and self.szamlista[2] == self.zold
and self.szamlista[1] == '2') \
or (self.szamlista[4] == self.zold
and self.szamlista[7] == self.zold
and self.szamlista[1] == '2'):
self.szamlista[1] = self.red
self.kettes_alas = True
# A 2 indexű, a '3' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[0] == self.zold
and self.szamlista[1] == self.zold
and self.szamlista[2] == '3') \
or (self.szamlista[5] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[2] == '3') \
or (self.szamlista[4] == self.zold
and self.szamlista[6] == self.zold
and self.szamlista[2] == '3'):
self.szamlista[2] = self.red
self.kettes_alas = True
# A 3 indexű, a '4' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[4] == self.zold
and self.szamlista[5] == self.zold
and self.szamlista[3] == '4') \
or (self.szamlista[0] == self.zold
and self.szamlista[6] == self.zold
and self.szamlista[3] == '4'):
self.szamlista[3] = self.red
self.kettes_alas = True
# A 4 indexű, a '5' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[3] == self.zold
and self.szamlista[5] == self.zold
and self.szamlista[4] == '5') \
or (self.szamlista[1] == self.zold
and self.szamlista[7] == self.zold
and self.szamlista[4] == '5') \
or (self.szamlista[0] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[4] == '5') \
or (self.szamlista[2] == self.zold
and self.szamlista[6] == self.zold
and self.szamlista[4] == '5'):
self.szamlista[4] = self.red
self.kettes_alas = True
# A 5 indexű, a '6' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[2] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[5] == '6') \
or (self.szamlista[3] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[5] == '6'):
self.szamlista[5] = self.red
self.kettes_alas = True
# A 6 indexű, a '7' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[0] == self.zold
and self.szamlista[3] == self.zold
and self.szamlista[6] == '7') \
or (self.szamlista[7] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[6] == '7') \
or (self.szamlista[4] == self.zold
and self.szamlista[2] == self.zold
and self.szamlista[6] == '7'):
self.szamlista[6] = self.red
self.kettes_alas = True
# A 7 indexű, a '8' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[6] == self.zold
and self.szamlista[8] == self.zold
and self.szamlista[7] == '8') \
or (self.szamlista[1] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[7] == '8'):
self.szamlista[7] = self.red
self.kettes_alas = True
# A 8 indexű, a '9' hely vizsgálata,
# hogy BLOKKOLHATÓ e a 3 egyforma.
elif (self.szamlista[6] == self.zold
and self.szamlista[7] == self.zold
and self.szamlista[8] == '9') \
or (self.szamlista[2] == self.zold
and self.szamlista[5] == self.zold
and self.szamlista[8] == '9') \
or (self.szamlista[0] == self.zold
and self.szamlista[4] == self.zold
and self.szamlista[8] == '9'):
self.szamlista[8] = self.red
self.kettes_alas = True
# Ha a fenti kettes felételek nem állnak akkor,
# egy üres hely elfoglalása.
elif self.kettes_alas is True:
indexal = 0
szamol = 1
while True:
if self.szamlista[indexal] == str(szamol):
self.szamlista[indexal] = self.red
break
indexal += 1
szamol += 1
self.uj_tabla(self.szamlista)
def main():
kek = '\x1b[36m'
nocolor = "\033[0m"
list_int = list(range(1, 10))
list_string = list(map(str, list_int))
print(kek, f'\n\t\t\tTIC-TAC-TOE JÁTÉK.'
f'\n\t\t\tJÁTÉKOS vs PROGRAM.\n'
f'\n\tAki vizszintesen, függőlegesen vagy átlósan'
f'\n\thárom saját jelet helyez el, az győz!\n'
f'\n\t\t\tA játékos kezd, jele: J. '
f'\n\t\t\tSzámítógép: G.'
f'\n\n\rKezdő tábla:', nocolor)
jatek = TicTacToe(list_string)
while True:
# Első forduló
jatek.input_bevitel()
jatek.szemely_szama()
jatek.gep_valasz1()
# Második forduló
jatek.input_bevitel()
jatek.szemely_szama()
jatek.gep_valasz2()
# Harmadik forduló
jatek.input_bevitel()
jatek.szemely_szama()
leallito = jatek.kiertekelo()
if leallito is True:
break
jatek.gep_valasz3()
leallito = jatek.kiertekelo()
if leallito is True:
break
# Negyedik forduló
jatek.input_bevitel()
jatek.szemely_szama()
leallito = jatek.kiertekelo()
if leallito is True:
break
jatek.gep_valasz4()
leallito = jatek.kiertekelo()
if leallito is True:
break
# Ötödik, játékos befejező lépése.
jatek.input_bevitel()
jatek.szemely_szama()
leallito = jatek.kiertekelo()
if leallito is True:
break
folytat = input("\n Folytatás? (I/N) \n ")
if folytat == "I" or folytat == "i":
main()
if __name__ == "__main__":
main()
Nincsenek megjegyzések:
Megjegyzés küldése