الاستمرار في التعلم الذاتي الخاص بي وجعلت لعبة أساسية لكاسحة الألغام ... انقر للكشف عن عدد من "الألغام" الموجودة حول هذا المربع أو الأحمر لـ "منجم". انقر بزر الماوس الأيمن على العلم حيث تعتقد أن المنجم هو ومربع يتحول إلى اللون الأزرق ... لسبب ما يمكن أن يكون النقر الأيمن مزاجيًا بعض الشيء وتسجيله كنقرة منتظمة. هل يمكن لأي شخص أن يخبرني إذا كان هذا هو ماوس الكمبيوتر المحمول أم مشكلة في الكود؟ إذا كانت هناك طريقة سهلة لتغيير الكود لتكون قادرة على تغيير حجم الشبكة وعدد "الألغام" وكذلك سيكون من الرائع معرفته! استيراد tkinter استيراد عشوائي gameover = درجة خاطئة = 0 squarestoclear = 0
def play_minesweeper (): create_bombfield (bombfield) window = tkinter.tk () layout_window (window) window.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: rollist.append (1) else: rowlist.append (0) quarestoclear = squarestoclear + 1 1 Printfield (Bombfield): لقائمة التوليد في Bombfield: Print (Rowlist)
def layout_window (نافذة): بالنسبة للربح ، قائمة الصفوف في التعداد (بومفيلد): بالنسبة للعمود ، العمود في التعداد (قائمة الصفوف): إذا كان عشوائيًا. "" ، bg = "seagreen") else: square = tkinter.label (window ، text = "" ، bg = "green") square.grid (row = rownumber ، column = columnnumber) square.bind ("" ، on_click) square.bind ("" ، on_rightclick) def on_rightclick int (square.grid_info () ["row"]) عمود = int (square.grid_info () ["العمود") square.config (bg = "Blue")
def on_click (event): Global Score Global Global Global Squarestoclear Square = event.widget row = int (square.grid_info () ["row"] column = int (square.grid_info () ["column") CurrentText = square.cget ("text") اطبع ("لعبة انتهت! أنت تضغط على قنبلة.") print ("كانت درجاتك:" ، SCORE) elif currenttext == "": square.config (bg = "brown") totalBombs = 0 إذا الصف <9: if bombfield [row + 1] 0: إذا كان بومبفيلد [صف] [العمود -1] == 1: TotalBombs = TotalBombs + 1 إذا كان العمود <9: إذا كان Bombfield [ROW] [العمود + 1] == 1: TotalBombs = TotalBombs + 1 إذا كان الصف> 0 وعمود> 0: إذا كان القنبلة [row-1] TotalBombs = TotalBombs + 1 إذا الصف> 0 والعمود <9: إذا كان Bombfield [row-1] [العمود + 1] == 1: TotalBombs = TotalBombs + 1 إذا الصف <9 وعمود <9: if bombfield [row + 1] Squarestoclear - 1 Score = Score + 1 إذا كان Squarestoclear == 0: GameOver = print true ("أحسنت! لقد وجدت جميع المربعات الآمنة! ") طباعة (" كانت درجاتك: "، SCORE) Play_MinesWeeper ()