Тёмный

Python Game Development Project Using OOP - Minesweeper Tutorial (w/ Tkinter) 

freeCodeCamp.org
Подписаться 10 млн
Просмотров 204 тыс.
50% 1

Опубликовано:

 

11 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии    
@jimshapedcoding
@jimshapedcoding 2 года назад
Thanks a lot for posting this, I hope it will make a lot of developers comfortable developing Object Oriented Projects! 🙂
@moody_moon_coder
@moody_moon_coder 2 года назад
Wow, I am happy to see you on freeCodeCamp again, Jim
@ihateorangecat
@ihateorangecat 2 года назад
i recently watched some of your videos on your channel (python OOP videos) and i found some useful things. thanks!!
@davidadu-tenkorang3186
@davidadu-tenkorang3186 2 года назад
Thank you very much for your wonderful teachings.
@Starting54321
@Starting54321 2 года назад
Great course, Jim!
@solicon7408
@solicon7408 2 года назад
I have a question. I want to randomixe the mines if the first click is mine. How can I do that?
@victormondal7597
@victormondal7597 5 месяцев назад
I have learned so much from it. Especially my OOPs concepts just elevated. I have seen the full video end to end and also created my own Minesweeper. It took me only 2 days to create the game end to end. I can not believe I completed that within 3 to 4 long steak in 2 days. The video is too engaging and Jim, you the best.
@Chip13218
@Chip13218 2 года назад
In order to test the success message, I added a static method to the class to show all the mines: @staticmethod def show_all_mines(): for cell in Cell.all: if cell.is_mine: cell.cell_btn_object.configure(bg='yellow') In the main program, after randomize the mine placement: Cell.show_all_mines() Just for testing of course.
@Jonatandb
@Jonatandb 2 года назад
HAHA I did something similar, I left a section of commented lines called "IDBEHOLDA 😈"
@stepan_anatol
@stepan_anatol 2 года назад
Or randomize 1 mine instead of 9
@momo7201
@momo7201 2 года назад
how can I show all the mines at the game over?????????????????????????any one please, I tried this but it does not work def show_mine(self): for cell in Cell.all: if cell.is_mine: cell.cell_btn_object.configure(bg='yellow') ctypes.windll.user32.MessageBoxW(0, 'You clicked on a mine', 'Game Over', 0) sys.exit()
@avichiii
@avichiii Год назад
i created a button and bind it to the function. # Debugging mine_viewer = Button( left_frame, bg='black', fg= 'white', text= 'View Mines', font=('', 10), ) mine_viewer.place( x= utils.width_prct(2), y= utils.height_prct(25) ) mine_viewer.bind('', Cell.show_all_mines) #replace the Cell.show_all_mines() & add the above code to the main module. #just a nice touch. and great job on creating the function :)
@avichiii
@avichiii Год назад
and also changes on the real function @staticmethod def show_all_mines(event): mine_cell = [] for cell in Cell.all: if cell.is_mine: mine_cell.append(cell.cell_btn_object.configure(bg='yellow')) return mine_cell #added a list
@sonjak.227
@sonjak.227 2 года назад
After hunting down all of my typos, finally it runs, and from many many tries, I won once. Great fun to prog along with you.
@markomwansa
@markomwansa 2 года назад
Thank you for the great tutorial. I just wanted to leave a quick note for anyone using Linux. The background color specified @2:05:11 bg="SystemButtonFace" will generate an error. Use bg="gray85" instead
@to_my_ears
@to_my_ears 2 года назад
Thank you. Could you also help with ctypes lib? windll doesn't work on Linux
@markomwansa
@markomwansa 2 года назад
@@to_my_ears haven’t tackled that part just yet. i saw there’s a way using gtk in linux, but I haven’t gotten it to work just yet
@yusufmalikul
@yusufmalikul 2 года назад
That issue makes me a little worried when developing cross-platform GUI apps. What GUI lib can be used cross-compile and using python?
@DennisChaves
@DennisChaves 2 года назад
Piggy-backing your comment to deliver another message to Linux users: as Jim mentions in the video, the ctypes module won't work for you. However, tkinter already has dialog box functionality. In `cell.py` add `messagebox` to this list of `tkinter` imports. Then, down in the `show_mine` method add: `messagebox.showinfo("title here", "message text here.")`
@markomwansa
@markomwansa 2 года назад
@@DennisChaves thank you! I'll definitely give this a try
@ChristianPerrotta
@ChristianPerrotta Год назад
I learned so much in this video. Also, the understanding of these decorators finally "clicked" for me.
@c.michaelfisher1123
@c.michaelfisher1123 2 года назад
I love that the automated captions say "nones" as "nuns"
@p-a5603
@p-a5603 2 года назад
Very nice. I've got 2 things: 1. You should definitely add unbiding of events not only in the "current cell", but also in the loop of surrounding cells, so also all other surrounding cells that were open together with "current cell" are unbinded rright away as well, something like this: if self.is_mine: self.show_mine() else: self.show_cell() if self.surrounding_mines_count == 0: for cell in self.surrounding_cells: cell.show_cell() if Cell.CELL_COUNT == settings.MINES_COUNT: self._game_won() self._unbind_events(cell) self._unbind_events(self) 2. I would really like to know how to restart game (without close the window and open again). Just reset, clean everything. I cannot somehow figure it out :)
@UniquelyMadeIAm
@UniquelyMadeIAm Год назад
I have to say. You're the best at explaining how to do things. 10/10
@python-programming
@python-programming 2 года назад
Looking forward to this one!
@umer-un
@umer-un 10 месяцев назад
Great Video, Explained everything very clearly. Learnt a lot.
@miroslavlovas7099
@miroslavlovas7099 2 года назад
Hi Jim, excellent job! You are the best Python OOP Teacher ever, never experienced such good mentor, u are true talent !!! Got 1 question to project though: Although we placed bg="red", before calling ctype window, it executes in way window pops up and only then background color changes to red. Why is that? And how to solve it? Is it solvable using infinite loop?
@jasonkhaihoang781
@jasonkhaihoang781 10 месяцев назад
Thanks a lot for your time and effort on this. I've learned a lot. It's helped sharpened my Python and OOP knowledge :)
@jimshapedcoding
@jimshapedcoding 5 месяцев назад
Wonderful!
@RenegadeTofu
@RenegadeTofu 2 года назад
I learned a lot of OOP just by coding along with you - great tutorial!
@rolfstinner1043
@rolfstinner1043 2 года назад
Thank's a lot for this tutorial. Great job. You not only declared how to code this game but you really explained every step including your thoughts why to chose a certain implementation.
@batuhan6170
@batuhan6170 Год назад
In 2:26:49, that button has to be a safe one, otherwise 2(two button below) cant have two mines. Thanks for the tutorial. It was a great one!
@ayansiddiqui2121
@ayansiddiqui2121 2 года назад
You are a great teacher
@CallOfCode
@CallOfCode 2 года назад
Thank you for this awesomeness! 🙏
@davidcastillomc
@davidcastillomc 2 года назад
Excelent. Thats perfect to learn about OO programing . Great video, excelent explanation
@abdullah01015
@abdullah01015 Год назад
Thank you so much. I've learnt a lot!!
@smoothbeak
@smoothbeak 2 года назад
I really enjoyed this one, quite simple and a lot of good ideas which can be used
@Patrick-jn9je
@Patrick-jn9je 2 года назад
I just now figured out how to play minesweeper, and the tutorial was very nice., Thanks a lot!
@heckvideos
@heckvideos 2 года назад
1. Get snacks. 2. Split screen 3. Code 💖
@ricardodagnonihuelsmann3379
@ricardodagnonihuelsmann3379 2 года назад
Thank you Jim, you rock!
@urname1175
@urname1175 2 года назад
Awesome video!! Really informative!
@satya6374
@satya6374 2 года назад
I think So useful for me after few years,.. 😅😁
@mowafkmha4505
@mowafkmha4505 2 года назад
one of the best tutorial video on the youtupe
@tech_path_
@tech_path_ 2 года назад
Thank you for your effort freecodecamp.. Can you make Android dev tutorials like (kotlin, jet pack compose, android studio) 💖🎊
@tech_path_
@tech_path_ 2 года назад
@anon only kotlin course is available.. There is an android studio course but they use Java in the course not kotlin... And they use xml not jet pack compose...Java and xml are old.. And nowadays people use kotlin and jet pack compose
@xstrikerxdr6177
@xstrikerxdr6177 Год назад
I noticed that when you click on a cell with 0 surrounding cells, the cells get open too, but if around those cells there are 0 surrounding mines, it is not opened recursively at all. Here is what I implemented in my code: def show_cell(self): if not self.is_opened: Cell.cell_count -= 1 self.cell_btn_object.configure(text=self.surrounded_cells_mines_length) # Update the text of cell count label if Cell.cell_count_label_object: Cell.cell_count_label_object.configure( text=f"Cells left: {Cell.cell_count}" ) # If this was marked as a marked_flag, must update to the default color self.cell_btn_object.configure( bg='SystemButtonFace' ) # Mark the cell as opened self.is_opened = True if self.surrounded_cells_mines_length == 0: for cell in self.surrounded_cells: if not cell.is_opened: cell.show_cell() At first it was on the left clicked actions, but I changed it to the function show_cell, hope it helps :D
@tunirsarkar4999
@tunirsarkar4999 11 месяцев назад
Thx mate, could not figure out how to do that
@meghpatel2219
@meghpatel2219 2 года назад
Great tutorial I have ever seen about tkinter library 😎
@adalbertocaldeirabrantfilh8490
@adalbertocaldeirabrantfilh8490 2 года назад
Ubuntu 20 in show_min() , use activebackground='red' , so it is going to stop the transitioning effect in the button grid.
@landonova
@landonova 2 года назад
nice. just starting to learn oop. easy to follow along. thanks jim. going to take a break now before designing. if you get to static method part 55:47 make sure to indent! lol
@danielsehnoutek2016
@danielsehnoutek2016 Год назад
amazing tutorial, thanks mate
@c.michaelfisher1123
@c.michaelfisher1123 2 года назад
Thanks!
@buh357
@buh357 2 года назад
This is awesome, thank you, really appreciate.
@LordDaiBLo
@LordDaiBLo 2 года назад
Thank for sharing knowledge
@TESTA-CC
@TESTA-CC 2 года назад
AKRO 🚀🚀🚀🚀🚀🚀 DONT MISS IT 🚀🚀🚀🚀🚀🚀🚀
@johnzaptier7967
@johnzaptier7967 2 года назад
Nice...dude..actually stayed till the end.
@peepers46
@peepers46 2 года назад
This was a cool game. Making it myself WILL BE even cooler
@peepers46
@peepers46 2 года назад
@@dontreadmyusername6787 I meant making it myself will be even cooler
@peepers46
@peepers46 2 года назад
@@dontreadmyusername6787 no bro, you got it right, I miswrote. All good. Have a great day
@beluga7968
@beluga7968 2 года назад
Cool,ima watch this one for sure 😁👍
@godlyradmehr2004
@godlyradmehr2004 Год назад
that was awsome
@LUCKYKUMAR-wj9pm
@LUCKYKUMAR-wj9pm 2 года назад
Thank you so much
@universecode1101
@universecode1101 2 года назад
So cool 😄
@yilinlian7995
@yilinlian7995 2 года назад
thank you :)
@nirnrooter
@nirnrooter 2 года назад
Thanks for your tutorial. I learned a lot and actually won .. eventually. ;-)
@alberthailey2478
@alberthailey2478 2 года назад
Thank you for your effort freecodecamp.. Can you make Android dev tutorials like (kotlin, jet pack compose, android studio)
@mdalamin7079
@mdalamin7079 2 года назад
Nice video 😊☺️
@AndresGonzalez-dj8ic
@AndresGonzalez-dj8ic 2 года назад
Te felicito, te segui desde el inicio y me andubo perfecto el juego!!; solo que la salida por perder no me funciona bien, osea, si solo escrivo exit() sale en la segunda vez que perdes.
@xzex2609
@xzex2609 Год назад
He is the best teacher and instructor that I have seen , to be fair I love Bro chanell very much but in development I can't imagine there is a better way to describe
@albert7439
@albert7439 2 года назад
Your tutorials are well explained. Thank you!
@channellahinsomnia4739
@channellahinsomnia4739 2 года назад
bg="gray94" is like color for button when right click and in css is "F0F0F0".
@pearlr.2411
@pearlr.2411 2 года назад
@1:14:15 my code didn't give any colour after I used configure, I ran the code using printf"clicked mine", and it proved the random cell and show mine were working, but whenever I used "self.cell_btn_object.configure(bg='red')", it just didn't work. Any ideas as to why this might have happened?
@markomwansa
@markomwansa 2 года назад
Weird. Did you click the mine and the move cursor out of the cell? I noticed that my cells turned back to gray when I hover over them.
@pearlr.2411
@pearlr.2411 2 года назад
@@markomwansa I clicked on every cell, and it didn't change colour but showed that cell was being clicked and mines were opened randomly
@buh357
@buh357 2 года назад
same here
@markomwansa
@markomwansa 2 года назад
@@pearlr.2411 Aaah! Coding can be frustrasting lol. I would see if you have the same issue with the tutorial's code. The github link is provided up in the description.
@rumworm
@rumworm 2 года назад
If you're using mac, it handles buttons differently and won't let you change the background color. I got around it by highlighting the cell in the show_mine method instead: self.cell_btn_object.configure(highlightbackground="red")
@mohamednafil8983
@mohamednafil8983 2 года назад
👍
@samworth9310
@samworth9310 2 года назад
and i OOP!!
@c.michaelfisher1123
@c.michaelfisher1123 2 года назад
A programmer acknowledging that they added a bug, during development? Gasp! (1:56:00)
@dkshandilya
@dkshandilya 2 года назад
Wow
@daviti_u
@daviti_u 2 года назад
One bug. if you right click on the orange button again, button will still be activated
@GeertJanvanderWolf
@GeertJanvanderWolf 6 месяцев назад
When trying to follow this tutorial in 2024 using python version 3.12 I am running into an exception 'TypeError: 'NoneType' object is not callable' when the tutorial arrives at the point where cells are defined in the Cell.py file and in the main game file the testing of creating a cell starts. About 43 minutes in. The statement 'c1.cell_button_object(center_frame)' creates the runtime exception. Any insights in how to solve this or why this is happening are welcome. Edit: I found the error in my code. I tried to place the create_button_object() method instead of the cell_button_object-field. Note to self: bugs can be avoided and also found by attentive and comprehensive reading.
@AkGaming-oq1hn
@AkGaming-oq1hn 2 года назад
Nice game
@GaadhiMahendra
@GaadhiMahendra 2 года назад
Why no powershell in freecodecamp?
@malibaturhan
@malibaturhan 2 года назад
this is an awesome tutorial but I have a question by we created cell.all list before init function did we create it as global variable which can be achievable by all other classes, I couldn't get that part. normally I know that list must be different for every each cell object since it's part of class declaration
@avichiii
@avichiii Год назад
if you're talking about all = [] then yes. it's a global variable. as the cell's are initializing, they are also getting appended in the list.
@andycorbett207
@andycorbett207 2 года назад
Thank you -what is the IDE you are using? I am using IDLE on MacOS, and when I try an Run the file it doens't launch Python, I have to launch Python fis then run the file. Your integrated IDE looks a btter option!
@doej3944
@doej3944 2 года назад
Pycharm
@yorionenthusiast170
@yorionenthusiast170 Год назад
SystemButtonFace didn't work for me but the color that can be used in that space in that case is gray88
@jeffersonlarosa905
@jeffersonlarosa905 2 года назад
First to all Thank you very much for this excellente video. I have a question. How can I do if I want to restart the game. For example: I used the message box from tkinter to interact with the user once that game have over. If the user say no, I use the command sys.exit() but what command can I use if the user want restart the game from the begining?? One more time Thank you very much for everything.
@griffindragon3562
@griffindragon3562 8 месяцев назад
He's so unlucky to click always the mine at first attempt 😂
@jimshapedcoding
@jimshapedcoding 5 месяцев назад
That's literally being unlucky lol
@zazabuzaladze4363
@zazabuzaladze4363 Год назад
1:08:21
@jamiemarchant6805
@jamiemarchant6805 2 года назад
Hello, I've encountered an error on line 46 of the main file "c.cell_btn_object.grid(" I receive this error when trying to run program: "Traceback (most recent call last): File "c:\Users\Jamie\Documents\Python\VirtualEnvironment\Minesweeper\Minesweeper.py", line 46, in c.cell_btn_object.grid( AttributeError: 'NoneType' object has no attribute 'grid'" As far as I can tell my code is identical to that in the video. Any ideas? Thanks
@MKSundaram
@MKSundaram Год назад
AttributeError: module 'ctypes' has no attribute 'windll' as I am using Ubuntu. I tried to find to replace the code with Ubuntu environment, but failed to find one. Could you please help?
@nickp1999
@nickp1999 9 месяцев назад
43:20 is anyone able to explain more why the binding method was written within the button object creation function? I thought that was a function which was run to make a button and stopped being in use after that button had been created.
@alibek_zhubekov
@alibek_zhubekov 2 года назад
Hi MacOS users! Has anyone had any success implementing the Game Over/You Win notifications using the ctypes library?
@stumpy1495
@stumpy1495 2 года назад
Game coding in Python... Oh dear, next we will see tea pots made of chocolate.
@露大元
@露大元 2 года назад
In The setup my kick doesn’t soft the sa as your, mine is more of a clicking soft, yours has more of a boom soft, do you know how
@sigridstiberg3729
@sigridstiberg3729 2 года назад
I find this tutorial so helpful and itneresting! But I got stuck very fast, because I keep getting the error "Unknow option "-Height" when runing the code after having added the top_frame. Anyone who has any idea what I am doing wrong? Her is my code: from tkinter import * root = Tk() # Override the setting of the window root.configure(bg='yellow') root.geometry('1200x600') root.title('Minesweeper Game') root.resizable(False, False) top_frame = Frame( root, bg="red", width=1200, hight=150 ) top_frame.place(x=0, y=0) ) # Run the window root.mainloop()
@BunnyThe367
@BunnyThe367 2 года назад
Typo in "hight=150"
@halakharkhour
@halakharkhour 2 года назад
Hello I have problem with right button when I click on the button I only have as an output I am left click for both buttons
@vanthaitran159
@vanthaitran159 Год назад
2:06:36
@landonova
@landonova 2 года назад
for ubuntu user what color do we use for "SystemButtonFace"? my machine doesnt recognize that color. 2:05:00
@C1ookieCookie
@C1ookieCookie 2 года назад
Thanks for the video, was great to follow along with! @ 1:40:16 How could recursion be used when a cell has 0 mines adjacent to also show the cells adjacent that also have 0 mines nearby? I have tried it but run into a recursion depth error so I don't think I'm doing it very efficiently
@sonjak.227
@sonjak.227 2 года назад
There is only a min chance that ist will happen tree limes, so in this case I go with copy und paste
@ravag3
@ravag3 2 года назад
def left_click_actions(self,event): self.is_opened=True if self.is_mine: self.show_mine() else: self.cell_btn_object.configure(bg="SystemButtonFace") if self.surrounded_cells_mines_length==0: for cell_obj in self.surrounded_cells: if cell_obj.is_opened==False: cell_obj.left_click_actions('') cell_obj.show_cell() self.show_cell() if Cell.cell_count==settings.MINES_COUNT: ctypes.windll.user32.MessageBoxW(0,'You won!','Game Over',0) Note : I had to move the is_opened logic a bit and rewrite the Cell Left count. It's not terribly efficient but checks all of the cells for is_opened on each click. def show_cell(self): #if not self.is_opened: self.cell_btn_object.configure(text=self.surrounded_cells_mines_length) x=0 for celly in Cell.all: if celly.is_opened==True: x += 1 print(x) Cell.cell_count=settings.CELL_COUNT-x # Replace the text of the cell with a newer count if Cell.create_cell_count_label_object: Cell.create_cell_count_label_object.configure( text=f'Cells Left : {Cell.cell_count}' ) self.is_opened = True
@Sebastianimator
@Sebastianimator 2 года назад
Also trying to work this out. Have tried a recursive method that calls itself, but getting the same recursion depth error you're getting. Laurie's solution doesn't seem very efficient.
@ravag3
@ravag3 2 года назад
@@Sebastianimator You're most likely getting the recursion depth error because you check the surrounding cells on the clicked square, which checks the cells surrounding each of the cells surrounding the original cell including that original cell (amongst the other 8), which restarts the check again. Without a breaker you hit the native recursion limit. The cell count is affected by all of this virtual clicking. You can end up with a negative count unless you implement an alternate approach.
@Sebastianimator
@Sebastianimator 2 года назад
​@@ravag3 That's the intended functionality though. Logically, the method should first check if there's 0 mines, and if true, then loop through each surrounding cell that's not been opened, show it, then check if it's zero again. I'm not really following why the recursion depth would be a problem in this instance (though to be fair I haven't added any debugging to show how deep it's recurring).
@QuranicLens
@QuranicLens 2 года назад
Why didnt we pass self.cell_button_object = None with in the constructor parameters ? def __init__(self, x, y, is_mine=False)
@avichiii
@avichiii Год назад
because that's boolean value. None is totally different, False means something like 0 and true = 1
@akshaysawant7278
@akshaysawant7278 2 года назад
Which theme he is using??
@TrungTran-dp3ct
@TrungTran-dp3ct Год назад
self.is_opened = False -> not open. Then why: [ if not self.is_opened ] means not open?
@avichiii
@avichiii Год назад
it's jut python's way of saying not opened, [ if self.is_opened not open ] ---> [ if not self.is_opened ]
@venusdille8179
@venusdille8179 2 года назад
Hello python
@amalomar7730
@amalomar7730 Год назад
Can someone help me please? For some reason, everything works except it saying that I have lost and the red colour showing for the mines. I have literally tried everythiiing!
@jagannathans2293
@jagannathans2293 2 года назад
How to install colorsys Library Python, getting problem, Library not found.
@kannder83
@kannder83 2 года назад
I have a problem with changing background color on Mac, do you know how I can solve it?
@heliyahasani6859
@heliyahasani6859 2 года назад
++++
@richardsalazarzm4425
@richardsalazarzm4425 4 месяца назад
Were you able to solve the problem? I have the same issue with the configure( bg ='orange')
@richardsalazarzm4425
@richardsalazarzm4425 4 месяца назад
I think it's because we have Mac OS System.
@shaki_shiii
@shaki_shiii Год назад
41:26
@doruk5493
@doruk5493 2 года назад
Even though I wrote everything the same in minesweeper algo part, when I left click it does not change the bg color. Please help
@pearlr.2411
@pearlr.2411 2 года назад
same
@rumworm
@rumworm 2 года назад
If you're using mac, it handles buttons differently and won't let you change the background color. I got around it by highlighting the cell in the show_mine method instead: self.cell_btn_object.configure(highlightbackground="red")
@prathamrajgor
@prathamrajgor 2 года назад
Hey, Free code Camp make some Courses on topics which developers use the most like Mongoose js, Pymongo, mysql(node js or django) and socket.io and other important modules which are used by most web developers.
@efhndz7990
@efhndz7990 2 года назад
hey how are you can someone help me please with this error : c=Cell(x,y) TypeError: Cell() takes no arguments i have the __init__ like it need to be but it keep giving me this error, help please.
@BlitheBrandon
@BlitheBrandon 2 года назад
Here's my class and __init__. Note there are two underscores before and after init. These are called Dunder methods (double underscores). class Cell: def __init__(self, x, y, is_mine=False): self.is_mine = is_mine self.cell_btn_object = None self.x = x self.y = y
@efhndz7990
@efhndz7990 2 года назад
@@BlitheBrandon thank you, but i already have my code like this i dont know what happen
@efhndz7990
@efhndz7990 2 года назад
@@BlitheBrandon maybe you have other idea :s
@BlitheBrandon
@BlitheBrandon 2 года назад
@@efhndz7990 paste class line and your __init__ method, like I did. I'll take a look.
@efhndz7990
@efhndz7990 2 года назад
@@BlitheBrandon class Cell: def __int__(self,x,y,is_mine=False): self.is_mine=is_mine self.cell_btn_object=None self.x=x self.y=y
@googleadsenselover
@googleadsenselover 2 года назад
upload Android Studio Pro videos Dear Sir,
@spak299
@spak299 2 года назад
Hi, any ideas why mi sys.exit() do nothing? I have python 3.10 , Windows 10.
@avichiii
@avichiii Год назад
try `exit(0)` with out the sys. it'll still work and the 0 is exit code for the parent process to know the program is terminated.
@soumobratamanna6681
@soumobratamanna6681 2 года назад
Button-2 and 3 are not working for right click actions
@soumobratamanna6681
@soumobratamanna6681 2 года назад
I am using mac for this project
@BlitheBrandon
@BlitheBrandon 2 года назад
@@soumobratamanna6681 I'm also working on a Mac in my create_btn_object method, I have these binds and they are working for left and right clicks. btn.bind("", self.left_click_actions) btn.bind("", self.right_click_actions)
@soumobratamanna6681
@soumobratamanna6681 2 года назад
@@BlitheBrandon Only the left button is working , I am follwoing the same thing like the way u said but still it's not working , after clicking right button its showing that I am left clicked .
@soumobratamanna6681
@soumobratamanna6681 2 года назад
pls fix my error
@BlitheBrandon
@BlitheBrandon 2 года назад
@@soumobratamanna6681 share your btn.bind lines here.
@buddhateja4423
@buddhateja4423 2 года назад
Dude u look like Steve jobs
@Seraphim-b1f
@Seraphim-b1f 4 месяца назад
Why didn't I notice that?😲😲😲😲😲😲.
@tailsbutsingular669
@tailsbutsingular669 2 года назад
I met some problems with the format text f."{self.x}, {self.y}" Can anyone help
@Djabliyo
@Djabliyo 2 года назад
You don't mention what specific problems you've encountered, but I'm going to go out on a limb and point a finger at the dot between the f and the initial double quote. It should look like: f"{self.x}, {self.y}"
@PavelBeliavskiy
@PavelBeliavskiy 2 года назад
Гуф на превьюшке Ъцццыыы
@anvelascos
@anvelascos Год назад
Thanks a lot, you're a great programmer and professor, but not as good minesweeper player.
@rsufiyand
@rsufiyand 2 года назад
First
@Shourya_2007
@Shourya_2007 2 года назад
1
@Nawticc
@Nawticc 2 года назад
Can anyone tell me what IDE he is using?
@M7WRC
@M7WRC 2 года назад
PyCharm
@Akash-rn4bk
@Akash-rn4bk Год назад
Can anyone send source code?
@avichiii
@avichiii Год назад
it's in the description of the video
Далее
Learn Python OOP in under 20 Minutes
18:32
Просмотров 55 тыс.
Object-Oriented Programming is Bad
44:35
Просмотров 2,3 млн
Satisfying DIY Earing for the Little Ones! 😲
00:33
Katta janjal
00:29
Просмотров 325 тыс.
Let's code a beginner's Python BANK PROGRAM 💰
15:01
Просмотров 195 тыс.
2-Minute Rule to Learn Coding - Atomic Habits
7:58
Просмотров 1,1 млн
Creating Jarvis powered by OpenAI and Python | ChatGPT
18:40
Every Programming Language Ever Explained in 15 Minutes
15:29
Coding Was Hard Until I Learned THESE 5 Things!
7:40