MEINE SELBST MEHREN UND EIN BASISCHE MINESWEEPER MACHTEN ... Klicken Sie hier, um eine Reihe von "Minen" in dieser Box oder rot für eine "Mine" zu enthüllen. Klicken Sie mit der rechten Maustaste, um dort zu korrigieren, wo Sie glauben, dass eine Mine ist und das Quadrat blau wird ... Aus irgendeinem Grund kann das Rechtsklick etwas temperamentvoll sein und sich als reguläres Klick registrieren. Kann mir jemand sagen, ob dies die Laptop -Maus oder ein Problem mit dem Code ist? Wenn es eine einfache Möglichkeit gibt, den Code zu ändern, um die Größe des Netzes und die Anzahl der „Minen“ zu ändern, wäre dies großartig zu wissen! Tkinter importieren zufällige GameOver = false Score = 0 squarestoclear = 0
Def Play_Minesweeper (): Create_bombfield (Bombfield) Fenster = tkinter.tk () layout_window (Fenster) Fenster.mainloop ()
bombfield = [] def create_bombfield(bombfield): global squaresToClear for row in range(0,10): rowList = [] for column in range(0,10): if random.randint(1,100) <20: rowList.append(1) else: rowList.append(0) squaresToClear = squaresToClear + 1 bombfield.append(rowList) #printfield(bombfield) def printfield(bombfield): Für RowList in Bombfield: Print (RowList)
Def layout_window (Fenster): Für Rownumber, RowList in Enumerat (Bombfield): Für Spaltennummer, ColumnEntry in Enumerat (RowList): Wenn zufällig.Randint (1.100) <35: Quadrat = tkinter.label (Fenster, Text = ", BG =" Darkgreen). ", Bg =" SeaGreen ") else: square = tkinter.label (Fenster, text =", bg = "grün") square.grid (row = rowneumber, columnnumber) square.bind ("", on_click) square column = int (square.grid_info () ["Spalte"]) Square.config (bg = "blau")
Def on_click (Ereignis): Globaler Punktestand Global GameOver Global Squarestoclear Square print ("Spiel vorbei! Sie haben eine Bombe gedrückt.") Print ("Ihre Punktzahl war:", Score) elif currentText == "": square 0: Wenn Bombfield [Zeile] [Spalte-1] == 1: TotalBombs = TotalBombs + 1 Wenn Spalte <9: If Bombfield [Row] [Spalte] [Spalte + 1] == 1: TotalBombs = TotalBombs + 1 Wenn Row> 0 und Spalte> 0: Wenn Bombfield [Row-1] [Spalte] == 1: TotalBombs = TotalBombs = Säule 1-1 1-1 1-1-1-1-1-1-1-1- und Säule <9 und Spalte> 0: If Bombfield [Säule ("1-1 1: 1-1:: Säule (" 1-1,: Row <9- und Säule: Säule ("1-1:" Zeile "1-1" 1-1 1: " totalBombs = totalBombs + 1 if row > 0 and column < 9: if bombfield[row-1][column+1] == 1: totalBombs = totalBombs + 1 if row < 9 and column < 9: if bombfield[row+1][column+1] == 1: totalBombs = totalBombs + 1 square.config(text = " " + str(totalBombs) + " ") squaresToClear = squaresToClear - 1 Punktzahl = Punktzahl + 1 Wenn squarestoclear == 0: GameOver = True Print ("Gut gemacht! Sie haben alle sicheren Quadrate gefunden! ") Print (" Ihre Punktzahl war: ", Score) Play_Minesweeper ()