2026. június 13., szombat

A malmozó program vázlata (Python)

tabla = [" "] * 24

malmok = [
    [0, 1, 2], [3, 4, 5], [6, 7, 8],
    [9, 10, 11], [12, 13, 14], [15, 16, 17],
    [18, 19, 20], [21, 22, 23],
    [0, 9, 21], [8, 11, 20], [1, 4, 7], [16, 13, 10],
    [3, 12, 18], [5, 14, 23], [2, 5, 8], [15, 18, 21]
]

def tabla_rajzolo(t):
    print(f"{t[0]}-----{t[1]}-----{t[2]}")
    print(f"| {t[3]}---{t[4]}---{t[5]} |")
    print(f"| | {t[6]}-{t[7]}-{t[8]} | |")
    print(f"{t[9]}-{t[10]}-{t[11]}   {t[12]}-{t[13]}-{t[14]}")
    print(f"| | {t[15]}-{t[16]}-{t[17]} | |")
    print(f"| {t[18]}---{t[19]}---{t[20]} |")
    print(f"{t[21]}-----{t[22]}-----{t[23]}")

def nyert_e(t, jatekos):
    for harom in malmok:
        if t[harom[0]] == jatekos and t[harom[1]] == jatekos and t[harom[2]] == jatekos:
            return True
    return False

def jatek_inditas():
    lepesei = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
    kor = 0

    while kor < len(lepesei):
        jatekos = "X" if kor % 2 == 0 else "O"
        lepes = lepesei[kor]

        if tabla[lepes] == " ":
            tabla[lepes] = jatekos
            tabla_rajzolo(tabla)
            print(f"{jatekos} lépése: {lepes}")

            if nyert_e(tabla, jatekos):
                print(f"{jatekos} játékos malmot zárt és nyert!")
                return

            kor += 1
        else:
            print("Ez a mező már foglalt!")
            kor += 1

    print("A játék véget ért. Nem lett győztes.")

jatek_inditas()
------------------
Output:
X----- ----- 
|  --- ---  |
| |  - -  | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
X lépése: 0
X-----O----- 
|  --- ---  |
| |  - -  | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
O lépése: 1
X-----O-----X
|  --- ---  |
| |  - -  | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
X lépése: 2
X-----O-----X
| O--- ---  |
| |  - -  | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
O lépése: 3
X-----O-----X
| O---X---  |
| |  - -  | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
X lépése: 4
X-----O-----X
| O---X---O |
| |  - -  | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
O lépése: 5
X-----O-----X
| O---X---O |
| | X- -  | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
X lépése: 6
X-----O-----X
| O---X---O |
| | X-O-  | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
O lépése: 7
X-----O-----X
| O---X---O |
| | X-O-X | |
 - -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
X lépése: 8
X-----O-----X
| O---X---O |
| | X-O-X | |
O- -     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
O lépése: 9
X-----O-----X
| O---X---O |
| | X-O-X | |
O-X-     - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
X lépése: 10
X-----O-----X
| O---X---O |
| | X-O-X | |
O-X-O    - - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
O lépése: 11
X-----O-----X
| O---X---O |
| | X-O-X | |
O-X-O   X- - 
| |  - -  | |
|  --- ---  |
 ----- ----- 
X lépése: 12
X-----O-----X
| O---X---O |
| | X-O-X | |
O-X-O   X-O- 
| |  - -  | |
|  --- ---  |
 ----- ----- 
O lépése: 13
X-----O-----X
| O---X---O |
| | X-O-X | |
O-X-O   X-O-X
| |  - -  | |
|  --- ---  |
 ----- ----- 
X lépése: 14
X-----O-----X
| O---X---O |
| | X-O-X | |
O-X-O   X-O-X
| | O- -  | |
|  --- ---  |
 ----- ----- 
O lépése: 15
X-----O-----X
| O---X---O |
| | X-O-X | |
O-X-O   X-O-X
| | O-X-  | |
|  --- ---  |
 ----- ----- 
X lépése: 16
X-----O-----X
| O---X---O |
| | X-O-X | |
O-X-O   X-O-X
| | O-X-O | |
|  --- ---  |
 ----- ----- 
O lépése: 17
A játék véget ért. Nem lett győztes.
Ready

Nincsenek megjegyzések:

Megjegyzés küldése