Files
inf-kswo/RandomTurtle/TicTacToe.py
Janis Hutz ede0ee318b Format
There really is no hope of making this code even half-way decent without
spending the time to rewrite them all properly. Don't want to do any of
that
2025-11-03 17:08:35 +01:00

204 lines
3.9 KiB
Python
Executable File

# TICTACTOE V 1.0
import time
# Variables5
global bd
bd = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
global filled_fields
filled_fields = 0
global player
global playershow
playershow = 1
player = 1
global play
play = 1
# FUNCTIONS
# --------------------
def inputs():
global playershow
global bd
print("It's the turn of player", playershow)
m = input("Where do you want to put your mark? ")
if len(m) > 1:
sp = m[0]
zl = m[1]
z = int(zl) - 1
s = ord(sp) - 65
if bd[z][s] > 0:
print(
"""
THAT FIELD IS ALREADY TAKEN, CHOOSE DIFFERENT ONE!
"""
)
else:
inputremap(z, s)
else:
print(
"""
PLEASE TYPE IN A LEGIT COORDINATE:
FORM: Coordinate Y Coordinate X --> Ex. A1/A2
"""
)
def inputremap(z, s):
global player
global playershow
global bd
bd[z][s] = player
if playershow == 1:
playershow = 2
player = 7
else:
playershow = 1
player = 1
global filled_fields
filled_fields += 1
full(filled_fields)
def winning():
global play
global bd
x = 0
y = 0
global go
go = 1
count = 0
print(
"""
checking for winner
"""
)
while go == 1:
if sum(bd[x]) == 3:
go = 0
play = 0
print("The Winner is player 1")
elif sum(bd[x]) == 21:
go = 0
play = 0
print("The Winner is player 2")
elif bd[0][y] + bd[1][y] + bd[2][y] == 3:
go = 0
play = 0
print("The Winner is player 1")
elif bd[0][y] + bd[1][y] + bd[2][y] == 21:
go = 0
play = 0
print("The Winner is player 2")
else:
x += 1
y += 1
if count >= 2:
go = 0
print(
"""no winner yet
"""
)
else:
count += 1
def full(filled_field):
global bd
if filled_field == 9:
print("draw")
global play
play = 0
else:
winning()
# BOARD DRAWING
def board_draw():
print("\n")
xx = 0
yy = 0
global bd
while yy < 3:
while xx < 3:
if bd[xx][yy] == 0:
print(" ", end=" ")
elif bd[xx][yy] == 1:
print(" X ", end=" ")
elif bd[xx][yy] == 7:
print(" O ", end=" ")
else:
print(""" CRITICAL ERROR""")
if xx < 2:
print("|", end=" ")
else:
print(" ", end=" ")
xx += 1
print(" ")
xx = 0
if yy < 2:
print("----------------------")
else:
print(" ")
yy += 1
# MAIN CYCLE
print(50 * ("\n"))
print(
"""
------------------------------------------------------
TIC TAC TOE
===========
V 1.0
V 2021.06.18
by Janis Hutz
"""
)
time.sleep(2)
print("starting...")
time.sleep(3)
print("\n\n\n")
goahead = 1
print(
"""
| |
----------------
| |
----------------
| |
"""
)
while goahead == 1:
while play == 1:
inputs()
board_draw()
time.sleep(2)
print(
"""
REPLAY?
"""
)
i = input("""Choose: (y/n)""")
if i == "y":
goahead = 1
play = 1
else:
goahead = 0
print(
"""
GOOD BYE!
"""
)