online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
# Javított változat, 2020 12 16. 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 @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: self.szam = input("\n A játékostól kérek egy számot!") # 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 vagy karaktert adtál meg! De az is lehet, hogy foglal a szám!") def szemely_szama(self): self.lepes_szam += 1 print("\n Játékos 'X' 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] = "X" self.uj_tabla(self.szamlista) def gep_valasz1(self): print("\n Gép '$' válaszlépése:") if self.szamlista[4] == '5': self.szamlista[4] = "$" self.uj_tabla(self.szamlista) else: self.szamlista[0] = "$" self.uj_tabla(self.szamlista) def gep_valasz2(self): """A gép első válasza, jele ha a középső 5 számra került, vagy az 1 számra.""" print("\n Gép '$' válaszlépése:") # A játékos kettes állásainak a blokkolása. if self.szamlista[4] == "$": """X=(1-szám, 0-index)""" if self.szamlista[0] == "X" and self.szamlista[1] == "X": self.szamlista[2] = "$" if self.szamlista[0] == "X" and self.szamlista[2] == "X": self.szamlista[1] = "$" if self.szamlista[0] == "X" and self.szamlista[3] == "X": self.szamlista[6] = "$" if self.szamlista[0] == "X" and self.szamlista[6] == "X": self.szamlista[3] = "$" if self.szamlista[0] == "X" and self.szamlista[7] == "X": self.szamlista[5] = "$" if self.szamlista[0] == "X" and self.szamlista[5] == "X": self.szamlista[7] = "$" if self.szamlista[0] == "X" and self.szamlista[8] == "X": self.szamlista[5] = "$" """X=(2-szám, 1-index)""" if self.szamlista[1] == "X" and self.szamlista[2] == "X": self.szamlista[0] = "$" if self.szamlista[1] == "X" and self.szamlista[3] == "X": self.szamlista[0] = "$" if self.szamlista[1] == "X" and self.szamlista[6] == "X": self.szamlista[0] = "$" if self.szamlista[1] == "X" and self.szamlista[7] == "X": self.szamlista[5] = "$" if self.szamlista[1] == "X" and self.szamlista[8] == "X": self.szamlista[2] = "$" if self.szamlista[1] == "X" and self.szamlista[5] == "X": self.szamlista[2] = "$" """X=(3-szám, 2-index)""" if self.szamlista[2] == "X" and self.szamlista[3] == "X": self.szamlista[0] = "$" if self.szamlista[2] == "X" and self.szamlista[5] == "X": self.szamlista[8] = "$" if self.szamlista[2] == "X" and self.szamlista[6] == "X": self.szamlista[1] = "$" if self.szamlista[2] == "X" and self.szamlista[7] == "X": self.szamlista[5] = "$" if self.szamlista[2] == "X" and self.szamlista[8] == "X": self.szamlista[5] = "$" """X=(4-szám, 3-index)""" if self.szamlista[3] == "X" and self.szamlista[5] == "X": self.szamlista[1] = "$" if self.szamlista[3] == "X" and self.szamlista[6] == "X": self.szamlista[0] = "$" if self.szamlista[3] == "X" and self.szamlista[7] == "X": self.szamlista[0] = "$" if self.szamlista[3] == "X" and self.szamlista[8] == "X": self.szamlista[7] = "$" """X=(6-szám, 5-index)""" if self.szamlista[5] == "X" and self.szamlista[6] == "X": self.szamlista[8] = "$" if self.szamlista[5] == "X" and self.szamlista[7] == "X": self.szamlista[8] = "$" if self.szamlista[5] == "X" and self.szamlista[8] == "X": self.szamlista[2] = "$" """X=(7-szám, 6-index)""" if self.szamlista[6] == "X" and self.szamlista[7] == "X": self.szamlista[8] = "$" if self.szamlista[6] == "X" and self.szamlista[8] == "X": self.szamlista[7] = "$" """X=(8-szám, 7-index)""" if self.szamlista[7] == "X" and self.szamlista[8] == "X": self.szamlista[6] = "$" self.uj_tabla(self.szamlista) elif self.szamlista[0] == "$": """X=(4-szám, 3-index)""" if self.szamlista[4] == "X" and self.szamlista[1] == "X": self.szamlista[7] = "$" if self.szamlista[4] == "X" and self.szamlista[2] == "X": self.szamlista[6] = "$" if self.szamlista[4] == "X" and self.szamlista[3] == "X": self.szamlista[5] = "$" if self.szamlista[4] == "X" and self.szamlista[5] == "X": self.szamlista[3] = "$" if self.szamlista[4] == "X" and self.szamlista[6] == "X": self.szamlista[2] = "$" if self.szamlista[4] == "X" and self.szamlista[7] == "X": self.szamlista[1] = "$" if self.szamlista[4] == "X" and self.szamlista[8] == "X": self.szamlista[2] = "$" self.uj_tabla(self.szamlista) def kiertekelo(self): """ A győzelem kijelentése bármelyik három egy forma jelnél. Ha nincs győzetes 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] == 'X' and self.szamlista[1] == 'X' and self.szamlista[2] == 'X') \ or (self.szamlista[3] == 'X' and self.szamlista[4] == 'X' and self.szamlista[5] == 'X')\ or (self.szamlista[6] == 'X' and self.szamlista[7] == 'X' and self.szamlista[8] == 'X')\ or (self.szamlista[0] == 'X' and self.szamlista[3] == 'X' and self.szamlista[6] == 'X')\ or (self.szamlista[1] == 'X' and self.szamlista[4] == 'X' and self.szamlista[7] == 'X')\ or (self.szamlista[2] == 'X' and self.szamlista[5] == 'X' and self.szamlista[8] == 'X')\ or (self.szamlista[0] == 'X' and self.szamlista[4] == 'X' and self.szamlista[8] == 'X')\ or (self.szamlista[2] == 'X' and self.szamlista[4] == 'X' and self.szamlista[6] == 'X'): print("\n Játékos győzelem!") self.gyozelem = True return True # Ha a gépnek van egyy vonalon három egyforma. elif (self.szamlista[0] == '$' and self.szamlista[1] == '$' and self.szamlista[2] == '$') \ or (self.szamlista[3] == '$' and self.szamlista[4] == '$' and self.szamlista[5] == '$')\ or (self.szamlista[6] == '$' and self.szamlista[7] == '$' and self.szamlista[8] == '$')\ or (self.szamlista[0] == '$' and self.szamlista[3] == '$' and self.szamlista[6] == '$')\ or (self.szamlista[1] == '$' and self.szamlista[4] == '$' and self.szamlista[7] == '$')\ or (self.szamlista[2] == '$' and self.szamlista[5] == '$' and self.szamlista[8] == '$')\ or (self.szamlista[0] == '$' and self.szamlista[4] == '$' and self.szamlista[8] == '$')\ or (self.szamlista[2] == '$' and self.szamlista[4] == '$' and self.szamlista[6] == '$'): print("\n A gép győzött!") self.gyozelem = True return True if self.gyozelem is False and self.lepes_szam == 5: print("\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("\nGép '$' válaszlépése:") # A 0 indexű, az '1' hely vizsgálata, hogy kiegészthető e 3 egyformára. if (self.szamlista[1] == '$' and self.szamlista[2] == '$' and self.szamlista[0] == '1') \ or (self.szamlista[3] == '$' and self.szamlista[6] == '$' and self.szamlista[0] == '1') \ or (self.szamlista[4] == '$' and self.szamlista[8] == '$' and self.szamlista[0] == '1'): self.szamlista[0] = '$' self.kettes_alas = True # Az 1 indexű, a '2' hely vizsgálata, hogy kiegészthető e 3 egyformára. elif (self.szamlista[0] == '$' and self.szamlista[2] == '$' and self.szamlista[1] == '2') \ or (self.szamlista[4] == '$' and self.szamlista[7] == '$' and self.szamlista[1] == '2'): self.szamlista[1] = '$' self.kettes_alas = True # A 2 indexű, a '3' hely vizsgálata, hogy kiegészthető e 3 egyformára. elif (self.szamlista[0] == '$' and self.szamlista[1] == 'é' and self.szamlista[2] == '3') \ or (self.szamlista[5] == '$' and self.szamlista[8] == '$' and self.szamlista[2] == '3') \ or (self.szamlista[4] == '$' and self.szamlista[6] == '$' and self.szamlista[2] == '3'): self.szamlista[2] = '$' self.kettes_alas = True # A 3 indexű, a '4' hely vizsgálata, hogy kiegészíthető e 3 egyformára. elif (self.szamlista[4] == '$' and self.szamlista[5] == '$' and self.szamlista[3] == '4') \ or (self.szamlista[0] == '$' and self.szamlista[6] == '$' and self.szamlista[3] == '4'): self.szamlista[3] = '$' self.kettes_alas = True # A 4 indexű, a '5' hely vizsgálata, hogy kiegészíthető e 3 egyformára. elif (self.szamlista[3] == '$' and self.szamlista[5] == '$' and self.szamlista[4] == '5') \ or (self.szamlista[1] == '$' and self.szamlista[7] == '$' and self.szamlista[4] == '5')\ or (self.szamlista[0] == '$' and self.szamlista[8] == '$' and self.szamlista[4] == '5')\ or (self.szamlista[2] == '$' and self.szamlista[6] == '$' and self.szamlista[4] == '5'): self.szamlista[4] = '$' self.kettes_alas = True # A 5 indexű, a '6' hely vizsgálata, hogy kiegészíthető e 3 egyformára. elif (self.szamlista[2] == '$' and self.szamlista[8] == '$' and self.szamlista[5] == '6') \ or (self.szamlista[3] == '$' and self.szamlista[4] == '$' and self.szamlista[5] == '6'): self.szamlista[5] = '$' self.kettes_alas = True # A 6 indexű, a '7' hely vizsgálata, hogy kiegészthető e 3 egyformára. elif (self.szamlista[0] == '$' and self.szamlista[3] == '$' and self.szamlista[6] == '7') \ or (self.szamlista[7] == '$' and self.szamlista[8] == '$' and self.szamlista[6] == '7') \ or (self.szamlista[4] == '$' and self.szamlista[2] == '$' and self.szamlista[6] == '7'): self.szamlista[6] = '$' self.kettes_alas = True # A 7 indexű, a '8' hely vizsgálata, hogy kiegészíthető e 3 egyformára. elif (self.szamlista[6] == '$' and self.szamlista[8] == '$' and self.szamlista[7] == '8') \ or (self.szamlista[1] == '$' and self.szamlista[4] == '$' and self.szamlista[7] == '8'): self.szamlista[7] = '$' self.kettes_alas = True # A 8 indexű, a '9' hely vizsgálata, hogy kiegészthető e 3 egyformára. elif (self.szamlista[6] == '$' and self.szamlista[7] == '$' and self.szamlista[8] == '9') \ or (self.szamlista[2] == '$' and self.szamlista[5] == '$' and self.szamlista[8] == '9') \ or (self.szamlista[0] == '$' and self.szamlista[4] == '$' and self.szamlista[8] == '9'): self.szamlista[8] = '$' 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] == 'X' and self.szamlista[2] == 'X' and self.szamlista[0] == '1') \ or (self.szamlista[3] == 'X' and self.szamlista[6] == 'X' and self.szamlista[0] == '1') \ or (self.szamlista[4] == 'X' and self.szamlista[8] == 'X' and self.szamlista[0] == '1'): self.szamlista[0] = '$' self.kettes_alas = True # Az 1 indexű, a '2' hely vizsgálata, hogy BLOKKOLHATÓ e a 3 egyforma. elif (self.szamlista[0] == 'X' and self.szamlista[2] == 'X' and self.szamlista[1] == '2') \ or (self.szamlista[4] == 'X' and self.szamlista[7] == 'X' and self.szamlista[1] == '2'): self.szamlista[1] = '$' self.kettes_alas = True # A 2 indexű, a '3' hely vizsgálata, hogy BLOKKOLHATÓ e a 3 egyforma. elif (self.szamlista[0] == 'X' and self.szamlista[1] == 'X' and self.szamlista[2] == '3') \ or (self.szamlista[5] == 'X' and self.szamlista[8] == 'X' and self.szamlista[2] == '3') \ or (self.szamlista[4] == 'X' and self.szamlista[6] == 'X' and self.szamlista[2] == '3'): self.szamlista[2] = '$' self.kettes_alas = True # A 3 indexű, a '4' hely vizsgálata, hogy BLOKKOLHATÓ e a 3 egyforma. elif (self.szamlista[4] == 'X' and self.szamlista[5] == 'X' and self.szamlista[3] == '4') \ or (self.szamlista[0] == 'X' and self.szamlista[6] == 'X' and self.szamlista[3] == '4'): self.szamlista[3] = '$' self.kettes_alas = True # A 4 indexű, a '5' hely vizsgálata, hogy BLOKKOLHATÓ e a 3 egyforma. elif (self.szamlista[3] == 'X' and self.szamlista[5] == 'X' and self.szamlista[4] == '5') \ or (self.szamlista[1] == 'X' and self.szamlista[7] == 'X' and self.szamlista[4] == '5') \ or (self.szamlista[0] == 'X' and self.szamlista[8] == 'X' and self.szamlista[4] == '5') \ or (self.szamlista[2] == 'X' and self.szamlista[6] == 'X' and self.szamlista[4] == '5'): self.szamlista[4] = '$' self.kettes_alas = True # A 5 indexű, a '6' hely vizsgálata, hogy BLOKKOLHATÓ e a 3 egyforma. elif (self.szamlista[2] == 'X' and self.szamlista[8] == 'X' and self.szamlista[5] == '6') \ or (self.szamlista[3] == 'X' and self.szamlista[4] == 'X' and self.szamlista[5] == '6'): self.szamlista[5] = '$' self.kettes_alas = True # A 6 indexű, a '7' hely vizsgálata, hogy BLOKKOLHATÓ e a 3 egyforma. elif (self.szamlista[0] == 'X' and self.szamlista[3] == 'X' and self.szamlista[6] == '7') \ or (self.szamlista[7] == 'X' and self.szamlista[8] == 'X' and self.szamlista[6] == '7') \ or (self.szamlista[4] == 'X' and self.szamlista[2] == 'X' and self.szamlista[6] == '7'): self.szamlista[6] = '$' self.kettes_alas = True # A 7 indexű, a '8' hely vizsgálata, hogy BLOKKOLHATÓ e a 3 egyforma. elif (self.szamlista[6] == 'X' and self.szamlista[8] == 'X' and self.szamlista[7] == '8') \ or (self.szamlista[1] == 'X' and self.szamlista[4] == 'X' and self.szamlista[7] == '8'): self.szamlista[7] = '$' self.kettes_alas = True # A 8 indexű, a '9' hely vizsgálata, hogy BLOKKOLHATÓ e a 3 egyforma. elif (self.szamlista[6] == 'X' and self.szamlista[7] == 'X' and self.szamlista[8] == '9') \ or (self.szamlista[2] == 'X' and self.szamlista[5] == 'X' and self.szamlista[8] == '9') \ or (self.szamlista[0] == 'X' and self.szamlista[4] == 'X' and self.szamlista[8] == '9'): self.szamlista[8] = '$' self.kettes_alas = True # Ha a fenti kettes felételek nem állnak akkor, egy üres hely elfoglalása. else: indexal = 0 szamol = 1 while True: if self.szamlista[indexal] == str(szamol): self.szamlista[indexal] = '$' break indexal += 1 szamol += 1 self.uj_tabla(self.szamlista) list_int = list(range(1, 10)) list_string = list(map(str, list_int)) print("\n A kezdő tábla:") 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_valasz3() 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

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue