inf-kswo/RandomTurtle/TicTacToe.py
2025-01-20 19:41:45 +01:00

187 lines
3.8 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!
""")