___  ___    _ _    _  _ _____   _____
 / __|/ _ \  | | |  | || |_ _\ \ / / __|
| (_ | (_) | |_  _| | __ || | \ V /| _|
 \___|\___/    |_|  |_||_|___| \_/ |___|

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

Python : writing codes: A Tic Tac Game

BY: @diodio | CREATED: Jan. 31, 2020, 9:04 p.m. | VOTES: 206 | PAYOUT: $2.22 | [ VOTE ]

hi,so it happens that i studied physics back at the university many years ago,but i am beginning to fall in love with "python","HtML", "JAVA script",
"SQL" and finally "PYTHON".
😁 😁
Please understand that i am new at this,and trust me i am learning very fast, i will share my codes here with my steemit friends and we can all learn together.

[IMAGE: https://img.esteem.app/ml90t8.png]
FROM COMMAND PROMPT
Today my code is written in python language,and ill try as much as possible to write them in a simple code format.The code is about a "GAME"
We all played when we were kids, called "tic tac game"below is the corresponding codes, feel free to ask questions.
from excercise8_functions import check_winning_combinations, render_play_pos

*#above implies that we shall be importing another file into the present file called excercise8
*

fpl = input("Pick a player, X or O? :-> ")

if fpl == 'x':
spl = 'o'

else:
spl = 'x'

current_player = fpl
print("First to play is ", current_player)

fpl_pos = [] # frist player play positions bank
spl_pos = [] # second player play positions bank

while True:

play = input("Pick a position between 1 - 9 :-> ")

if not play: # check for empty positions
    print("Please enter a correct value")
    continue


if not play.isdigit():
    print("Please enter a correct value")
    continue


if int(play) > 9 or int(play) < 1:
    print("Invalid position specified.")
    continue


if play in fpl_pos or play in spl_pos:
    print("Position is already taken.")
    continue

if current_player == fpl: # to confirm if current player is the first player
    fpl_pos.append(play)
    if len(fpl_pos) >= 3:
        win_resp = check_winning_combinations(fpl_pos)
        if win_resp == True:
            print("Player", fpl, "wins the game...")
            break

    current_player = spl  # switch to the next player

elif current_player == spl: # to confirm if current player is the second player
    spl_pos.append(play)
    if len(spl_pos) >= 3:
        win_resp = check_winning_combinations(spl_pos)
        if win_resp == True:
            print("Player", spl, "wins the game...")
            break


    current_player = fpl  # switch to the next player



if len(fpl_pos) + len(spl_pos) == 9 :
    print("game is a tie.")
    break

render_play_pos([fpl, fpl_pos], [spl, spl_pos])
print("next to play is", current_player)

print("Game over, good bye..")

#EXCERCISE8

def check_winning_combinations(selected):

# ['1', '5', '9', '4']
WIN_COMBINATIONS = [
   (1, 2, 3),
   (4, 5, 6),
   (7, 8, 9),
   (1, 4, 7),
   (2, 5, 8),
   (3, 6, 9),
   (1, 5, 9),
   (3, 5, 7),
]

counter = 0 
for wins in WIN_COMBINATIONS:

    for plays in selected:
        if int(plays) in wins:
            counter += 1

        if counter == 3:
            break


    if counter == 3:
        break

    else:
        counter = 0

return counter == 3

def box_point(value):
tmp = str(value)
return tmp.center(5)

def horizontal_line():
return "" * 5 + "+" + ""*5 + "+" + "_" * 5

def render_play_pos(fpos, spos):
# ['o', ["2", '9']]
# ['x', ['1', '8']]

row = ''
for x in range(1, 10):

    if str(x) in fpos[1]:
        row += box_point(fpos[0])

    elif str(x) in spos[1]:
        row += box_point(spos[0])
    else:
        row += box_point(x)


    if  x % 3  != 0:
        row += "|"

    else:
        row += '\n'
        if x == 9:
            row += box_point("") + "+" + box_point("") + "+"
        else:
            row += horizontal_line()

        row += "\n"



print(row)

    # + "|"

X | 8 | 7

_++___

9 | O | 7

_++___

9 | 8 | 7

+ +

if name == 'main':
render_play_pos([],[])

So did you find the code simple? learn to master string manipulation it makes it easy for you.
dont forget to drop your feedback.

TAGS: [ #esteem ] [ #programming ] [ #steemstem ] [ #steem ] [ #steempress ]

Replies

@churchofgod | Jan. 31, 2020, 9:12 p.m. | Votes: 1 | [ VOTE ]

According to the Bible, Will animals and pets go to heaven? (Part 3 of 4)

(Sorry for sending this comment. We are not looking for our self profit, our intentions is to preach the words of God in any means possible.)
https://youtu.be/JCADESDFOqk
https://i.postimg.cc/SxmKZFY2/image.jpg
Comment what you understand of our Youtube Video to receive our full votes. We have 30,000 #SteemPower. It's our little way to Thank you, our beloved friend.
Check our Discord Chat
Join our Official Community: https://beta.steemit.com/trending/hive-182074

@esteemapp | Feb. 1, 2020, 5:51 a.m. | Votes: 1 | [ VOTE ]

Thanks for using eSteem! Your post has been voted as a part of eSteem encouragement program. Keep up the good work! Dear reader, Install Android, iOS Mobile app or Windows, Mac, Linux Surfer app, if you haven't already!Learn more: https://esteem.app Join our discord: https://discord.me/esteem

@steemstem | Feb. 2, 2020, 12:21 a.m. | Votes: 0 | [ VOTE ]

This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @minnowbooster.

If you appreciate the work we are doing, then consider supporting our witness @stem.witness!

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Please consider using the steemstem.io app and/or including @steemstem in the list of beneficiaries of this post. This could yield a stronger support from SteemSTEM.

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>