# ******************************************************** # Python Tic Tac Toe game # ******************************************************** from tkinter import * import random def next_turn(row, column): global player if buttons[row][column]['text'] == "" and check_winner() is False: if player == players[0]: buttons[row][column]['text'] = player if check_winner() is False: player = players[1] label.config(text=(players[1]+" turn")) elif check_winner() is True: label.config(text=(players[0]+" wins")) elif check_winner() == "Tie": label.config(text="Tie!") else: buttons[row][column]['text'] = player if check_winner() is False: player = players[0] label.config(text=(players[0]+" turn")) elif check_winner() is True: label.config(text=(players[1]+" wins")) elif check_winner() == "Tie": label.config(text="Tie!") def check_winner(): for row in range(3): if buttons[row][0]['text'] == buttons[row][1]['text'] == buttons[row][2]['text'] != "": buttons[row][0].config(bg="green") buttons[row][1].config(bg="green") buttons[row][2].config(bg="green") return True for column in range(3): if buttons[0][column]['text'] == buttons[1][column]['text'] == buttons[2][column]['text'] != "": buttons[0][column].config(bg="green") buttons[1][column].config(bg="green") buttons[2][column].config(bg="green") return True if buttons[0][0]['text'] == buttons[1][1]['text'] == buttons[2][2]['text'] != "": buttons[0][0].config(bg="green") buttons[1][1].config(bg="green") buttons[2][2].config(bg="green") return True elif buttons[0][2]['text'] == buttons[1][1]['text'] == buttons[2][0]['text'] != "": buttons[0][2].config(bg="green") buttons[1][1].config(bg="green") buttons[2][0].config(bg="green") return True elif empty_spaces() is False: for row in range(3): for column in range(3): buttons[row][column].config(bg="yellow") return "Tie" else: return False def empty_spaces(): spaces = 9 for row in range(3): for column in range(3): if buttons[row][column]['text'] != "": spaces -= 1 if spaces == 0: return False else: return True def new_game(): global player player = random.choice(players) label.config(text=player+" turn") for row in range(3): for column in range(3): buttons[row][column].config(text="",bg="#F0F0F0") window = Tk() window.title("Tic-Tac-Toe") players = ["x","o"] player = random.choice(players) buttons = [[0,0,0], [0,0,0], [0,0,0]] label = Label(text=player + " turn", font=('consolas',40)) label.pack(side="top") reset_button = Button(text="restart", font=('consolas',20), command=new_game) reset_button.pack(side="top") frame = Frame(window) frame.pack() for row in range(3): for column in range(3): buttons[row][column] = Button(frame, text="",font=('consolas',40), width=5, height=2, command= lambda row=row, column=column: next_turn(row,column)) buttons[row][column].grid(row=row,column=column) window.mainloop() # ********************************************************
@Alex-ur3vt4 жыл бұрын
epic video bro
@hackerstech40254 жыл бұрын
Love you
@aabaloch18013 жыл бұрын
@Bro code how do we save the data of the wins
@rockyelk1692 жыл бұрын
@@aabaloch1801 hey man not sure if you are still in need of this but you can use the command "global"
@S_M_HABIBUR_RAHMAN Жыл бұрын
Op video bro code
@adaboykrisiboy362 жыл бұрын
Bro you just explained tic tac toe in 21 min to a complete beginner. Hats off! mate
@TechnoFlash-v6b Жыл бұрын
dude you have the same profile pic like me
@amenkalai8442 Жыл бұрын
wow very interesting and educative thank you
@saifsyed5903 жыл бұрын
Outstanding explanation given by you bro, easy to understand. And have successfully made this TicTacToe game. Thanks to you again... (HOPE TO SEE MORE AMAZING VIDEOS FROM YOU)
@masoodrezaei59998 ай бұрын
My first Python project , Thanks a lot.
@rafailivanov8142 жыл бұрын
Very entertaining and also quite understandable. Quality content! Keep it up!
@davidbandini34842 жыл бұрын
Thank you so much for the video
@tubacego689310 ай бұрын
I love this channel it helps me so much learning python and other stuff
@bishnudeyvivekanonda7028 Жыл бұрын
Rad vid bro! Keep up the cool work. :)
@jainendrarout81673 жыл бұрын
Bro Code thanks You are a great man I know I am late but you just made my carrier! I am really happy to get this course for free and not paying that stupid 199$ for python course now I can really apply for jobs but of-course after some practice
@monwil32964 жыл бұрын
Hyo Bro ❤️💯. We do appreciate your hard work. Young programmers are building their mental Database thanks to you 👏👏👏👏
@luxury8884 Жыл бұрын
thx for the game Bro Code always the best ;)
@celestinkembe33312 жыл бұрын
I really like the way you explained : Simple, clean and beautiful.
@navyadesai67 Жыл бұрын
Wow! You actually encouraged me to do python even when I was not that into it❤ Also got a lot of videos left to go!
@panoskoutsogiannis799 Жыл бұрын
very nice video!!
@Vibes_immortal29 күн бұрын
thanks earned a sub
@kevinka96704 жыл бұрын
nice work. Truly inspirational, keep up the good work
@MunibAhmad-f5f Жыл бұрын
Thank You! Explained well
@yos57702 жыл бұрын
you re very good teacher thanks a lot 👏👏😘
@eduardodelgado39732 жыл бұрын
Excelent explanation, thank you.
@hbngamer57768 ай бұрын
Good video taught me alot!
@THEMINECRAFTFOXSLEEP Жыл бұрын
Woah! That’s good video😂😂😂
@nickarkhipov3684 Жыл бұрын
Thank you so much Bro Code! I learned so much new information from this tutorial!
@imadiman528 Жыл бұрын
Thanks a bunch you're great 👏
@t34bravo10 ай бұрын
This is an awesome tutorial. Thanks!
@LevitateTheCore Жыл бұрын
Bro, you're a such great and benevolent programmer!!! God good you are!!!
@vescle24 ай бұрын
I can't thank you enough you are the best :)
@hassanfiras3225 Жыл бұрын
a real great tutorial ty bro
@cherishkansara7851 Жыл бұрын
I am a fellow bro from now on ❤
@krakenzback79712 жыл бұрын
great video
@AaronProgZ Жыл бұрын
Thanks for making this video!
@Nothing..3 жыл бұрын
Thank you bro about this good video (:
@davidcalebpaterson71013 жыл бұрын
only missing the computer player AI trying to win against us. or alternatively adding 2 different controller inputs like mouse and keyboard for each player. example one key to chose which button position and Enter to push it, the the mouse thing will remain the same. I will try to implement this myself.
@shafialanower38203 жыл бұрын
How did it go? You figured it out?
@K-tf5ph2 жыл бұрын
Thanks my dear Bro 💯👑 Could you also do the minesweeper?
@d.ashley8792 жыл бұрын
Fantastic video!
@oops57524 ай бұрын
Thanks, bro code. I really appreciate it.
@ТимаКазах-ч7о4 жыл бұрын
you are best!!!
@vtWub Жыл бұрын
Great video, very easy to go with and I understood most of what went over, and just searched whatever I didn't know. But 1 question, I am currently using pycharm on my macbook and everything works except the part where it could show the winner, meaning the background does not change to green, or yellow when a tie. Is there a reason to why this is happening, and if there is a work around to this?
@sirikondavenkat55413 жыл бұрын
This is Awsome!
@Shadoww0 Жыл бұрын
thank you for the vid
@amadeo5813 Жыл бұрын
Hello, What can I do to make the squares stay painted when I hover the mouse over them?
@Philocalyleena2 жыл бұрын
Thank you so much sir.
@kapibara24405 ай бұрын
Great!!!
@kanime9535 Жыл бұрын
Thank you for the video bro!
@GarnetTheif Жыл бұрын
awesome he's a great teacher
@saifulislamishad12223 жыл бұрын
Big fan 🖤
@imslim85 Жыл бұрын
Thank you very much !
@alirezasohrab-m9k Жыл бұрын
this helped me thank you :)
@obiarne Жыл бұрын
Very nice tutorial, but is there a way to add CSS to this project? I'm more familiar with that language for styling of the buttons, background color etc. compared to (bg = "orange")
@isagovfx2 жыл бұрын
im on mac using sublime but i cant seem to figure out why the bg colors arent appearing for me. i get no errors however i get no colors froms the inning or ties
@yatinkundra11 ай бұрын
from tkmacosx import Button as BT use this and then replace Button with BT
@aijounohankyou Жыл бұрын
thank you very much
@Hema_992 жыл бұрын
Hi, thanks for the video, it really helped so thank you so much for that and also I have a doubt, what platform should I use if I want to convert this script into a mobile application.
@Friday_422 жыл бұрын
I couldn't get this to work. Very curious, I wonder what went wrong?
@jaimeescoto20092 жыл бұрын
bro very excellent video, but just one question if I wanted to play against the machine, what function can I use
@edwardplayzzz26759 ай бұрын
is it different for mac? colours are not changing after win
@muhammadkarangwa6 ай бұрын
learning new staff every day from bro code
@ee-vi9xs2 жыл бұрын
nice and gg
@S_M_HABIBUR_RAHMAN Жыл бұрын
Op video bro code please relply
@akshayak5466 Жыл бұрын
bro you are genius
@randomeditsboy2 ай бұрын
How do I make the same project with classes?
@mirshodoripov10352 жыл бұрын
Thank you bro
@eddyedutz2 жыл бұрын
I see some guys around trying to implement AIs already and here I come with the question to pass the exam lol: How can I add a score to this? I've managed to add a label for the score and I assume I need some variables where we would need to add the wins. Can someone drop a comment if you figured it out?
@shahzodsayfiddinov95103 жыл бұрын
Thank you Bro!
@eyobyishak5233 Жыл бұрын
thank you it work correctly
@jorgesingle Жыл бұрын
Great video! but I have a question, I don't know why when is time for "o" to play and I select a button to put it and is not working only with "x". Does anyone know why?
@mythyfox Жыл бұрын
THX SO MUCH
@erinasyasya947 Жыл бұрын
could you please show how to the scoring? i’ve tried since two days ago and still wrong.
@yassinmoustafa641514 күн бұрын
you are epic bro
@logeshwaran30163 жыл бұрын
Hello bro
@deejaykabwoy444 жыл бұрын
We appreciate
@oceangamer78759 ай бұрын
winner winner chicken dinner
@sjthedarkcreation17073 жыл бұрын
Thanks sir
@רוןהודיהסלע2 жыл бұрын
I like this video, a very good tutorial, thanks.😄 why in this line "reset_button = Button(text="restart",font=('Aharoni',20),command=new_game)" you didn't put () after new_game?
@Karim-zu7zg2 жыл бұрын
You dont need too
@MishaZib86 Жыл бұрын
I used () as in video, and function "new game" didn't work.... but when removed it, all is perfect!
@oMqngo3 жыл бұрын
What if i want it to be solo and multiplayer (so you can press a button to choose if you want to play against someone or against the comuter) how would you do that?
@vythir42453 жыл бұрын
You would need an AI for that, which would be even harder to code than the game itself...
@ipsxfgr8 ай бұрын
Cool
@albatrozeditz Жыл бұрын
thank you
@tips92962 жыл бұрын
nice
@WooGad0Xo3 жыл бұрын
when this : buttons[row][column]["text"] i know [row][column] get row and column but what is ["text"] does?
@braek27663 жыл бұрын
calls all the text from the button.
@ianbarddal72947 ай бұрын
You're a true CHAD!
@sidtheepic11039 ай бұрын
Can someone explain the for loops in this. I understood everything except the for loops😅😅
@beldindragon2 жыл бұрын
Didn't understand what the lambda command did, can you explain it quickly?
@basic-info- Жыл бұрын
thx man true gigachad
@mohamednasr564713 күн бұрын
✌👍
@samadshead60692 жыл бұрын
hi ive copied the code from the comments but the buttons don't change colour when I run it. its worth noting I'm using a Mac. anyone know why this is?
@Ehsan.Amirii2 жыл бұрын
great
@Shadoww0 Жыл бұрын
bro can you explain why buttons is declared this way buttons=[ [0,0,0], [0,0,0], [0,0,0] ]
@chhotigoldkadeewana Жыл бұрын
So, that it is easy to read for US I think
@hackerstech40254 жыл бұрын
😍 you
@murilosilvestre77363 жыл бұрын
great job, bro, thank you!
@Just_MMAFight Жыл бұрын
11:46
@souravsarkar61073 жыл бұрын
learn new thing thank you
@sportfreund-ub2mz Жыл бұрын
Is it possible to get a copy of your tic-tac-toe-python-code?
@gorgustus Жыл бұрын
check description and pinned comment
@DisturbeD8022 жыл бұрын
If it took you 100 lines of code , i will do it in 300 lines and still have bugs in it and finish it in a month
@IntroVids2 ай бұрын
Dude just saved my grade for tomorrow😭
@siveakuttychannel3736 күн бұрын
where do you code
@simonan48239 ай бұрын
Error comes up and buttons[][].config does not work at all. any help?
@christiandavequimno73082 ай бұрын
Can’t run error from First character
@anjalivarthyavath163 Жыл бұрын
At 15:08 it wasn't the output for me... I've tried 4 times...plz help me
@tomba27 ай бұрын
did you put a () at the end of pack "frame = Frame(window) Cause that's what I didnt do
@ashakunjumon4751 Жыл бұрын
when i run this and there is a tie the tie thing doesnt work
@bisakhabandyopadhyay500310 ай бұрын
No offense but, whenever I tried coding the game, I ran it to test and the top where it says like, “x turn”, it does not have a space and it is not changing to, “o”. Which is why I had to delete the whole program.😔😔😔