Poursuivant avec mon auto-apprentissage et a fait un jeu de base de dragueur de mines ... cliquez pour révéler un certain nombre de «mines» autour de cette boîte ou du rouge pour une «mine». Cliquez avec le bouton droit pour signaler où vous pensez qu'une mine se trouve et le carré devient bleu ... pour une raison quelconque, le clic droit peut être un peu capricieux et s'inscrire en clic régulier. Quelqu'un peut-il me dire s'il s'agit de la souris d'ordinateur portable ou d'un problème avec le code? S'il existe un moyen facile de modifier le code pour pouvoir modifier la taille de la grille et le nombre de «mines», ce serait formidable à savoir! import tkinter import random gameover = false score = 0 squarestoClear = 0
def play_minesweeper (): create_bombfield (bombfield) window = tkinter.tk () Layout_window (fenêtre) window.mainloop ()
BombField = [] def Create_bombfield (BombField): Global SquarestoClear pour la ligne dans la gamme (0,10): RowList = [] pour la colonne dans la gamme (0,10): if random.randint (1 100) <20: rowList.Apend (1) Else: RowList.APPEND (0) SquareStoClear = Bombfield) Defo Printfield (BombField): pour la liste de lignes dans Bombfield: Print (Rowlist)
Def Layout_Window (fenêtre): pour Rownumber, liste de lignes en énumération (bombfield): pour ColumnNumber, ColumnINENTRY en énumération (Rowlist): if random.randint (1,100) <35: carré = tkinter.label (fenêtre, text = "", bg = "darkGreen") ELIFLAM text = "", bg = "Seagreen") else: square = tkinter.label (window, text = "", bg = "green") square.grid (row = rownumber, colonnes = columnnumber) square.bind ("", on_click) square.bind ("", on_rightlick) def on_righ int (carré.grid_info () ["row"]) colonne = int (carré.grid_info () ["colonne"]) carré.config (bg = "blue")
def on_click (événement): score global Global Gameover Global SquareStoClear Square = event.widget row = int (square.grid_info () ["row"]) colonnes = int (carré.grid_info () ["colonne"]) CurrentText = square.cget ("text") if gameover == false: if bombField [row] [colonne "Red") Imprimer ("jeu! 1 If Colonne> 0: if bombField [Row] [Column-1] == 1: TotalBombs = TotalBombs + 1 If Colonne <9: If BombField [Row] [Colonne + 1] == 1: TotalBombs = TotalBombs + 1 If Row> 0 et Column> 0: If BombField [Row-1] [Column-1] == 1: TotalBombs = TotalBombs + 1 If If Row <9 et colonne> 0: 0: TotalBombe BombField [ligne + 1] [colonne 1] == 1: TotalBombs = Total Bombs + 1 If Row> 0 et Colonne <9: If BombField [Row-1] [Colonne + 1] == 1: Total Bombs = Total Bombs + 1 If Row <9 et Colonne <9: If BombField [Row + 1] str (TotalBombs) + "") squarestoClear = squarestoClear - 1 score = score + 1 si squarestoClear == 0: gameover = true print ("bien fait! Vous avez trouvé tous les carrés sûrs! ") Print (" Votre score était: ", score) play_minesweeper ()