ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ'] ", 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'...\'................................................................................................................................................................................food.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਖੇਡ ਵਿੱਚ ਭੋਜਨ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.snake = ਸੱਪ\\n self.size = 10\\n self.position = self.randomPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ\\nself.draw () \\n\\n #ਭੋਜਨ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰਾਈ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n #ਭੋਜਨ ਲਈ ਇੱਕ ਬੇਤਰਤੀਬ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਬੇਤਰਤੀਬ ਸਥਿਤੀ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸੱਚਃ \\nx = random.randint (1,48) *self.size \\n y = random.randint (1,48) * self.size \\n ਸਥਿਤੀ = (x, y, x + self.size, y + self.size) \\n ਜੇਕਰ ਨਹੀਂ ਤਾਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸਥਿਤੀ ਉੱਤੇ ਸੱਪ ਦਾ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): self.snake.body: \\n ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਜੇਕਰself.overlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਸੱਚਾ \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਗਲਤ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਦੋ ਆਇਤਾਕਾਰ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ \\n ਡਿਫ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ (ਸੈਲਫ, ਰੇਕ 1, ਰੇਕ 2): \\n ਓਵਰਲੈਪ = (\\nRect1 [0] <Rect2 [2] \\n ਅਤੇ Rect1 [2]> Rect2 [0] \\n ਅਤੇ Rect1 [1] <Rect2 [3] \\n ਅਤੇ Rect1 [3]> Rect2 [1] \\n) \\n ਵਾਪਸੀ ਓਵਰਲੈਪ \\n\\n #ਨਵਾਂ ਭੋਜਨ ਤਿਆਰ ਕਰੋnewFood (self): \\n self.position = self.randomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \'] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'...\'................................................................................................................................................................................food.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਖੇਡ ਵਿੱਚ ਭੋਜਨ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.snake = ਸੱਪ\\n self.size = 10\\n self.position = self.randomPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ\\nself.draw () \\n\\n #ਭੋਜਨ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰਾਈ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n #ਭੋਜਨ ਲਈ ਇੱਕ ਬੇਤਰਤੀਬ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਬੇਤਰਤੀਬ ਸਥਿਤੀ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸੱਚਃ \\nx = random.randint (1,48) *self.size \\n y = random.randint (1,48) * self.size \\n ਸਥਿਤੀ = (x, y, x + self.size, y + self.size) \\n ਜੇਕਰ ਨਹੀਂ ਤਾਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸਥਿਤੀ ਉੱਤੇ ਸੱਪ ਦਾ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): self.snake.body: \\n ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਜੇਕਰself.overlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਸੱਚਾ \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਗਲਤ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਦੋ ਆਇਤਾਕਾਰ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ \\n ਡਿਫ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ (ਸੈਲਫ, ਰੇਕ 1, ਰੇਕ 2): \\n ਓਵਰਲੈਪ = (\\nRect1 [0] <Rect2 [2] \\n ਅਤੇ Rect1 [2]> Rect2 [0] \\n ਅਤੇ Rect1 [1] <Rect2 [3] \\n ਅਤੇ Rect1 [3]> Rect2 [1] \\n) \\n ਵਾਪਸੀ ਓਵਰਲੈਪ \\n\\n #ਨਵਾਂ ਭੋਜਨ ਤਿਆਰ ਕਰੋnewFood (self): \\n self.position = self.randomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ \',\'ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ\' ਸੱਪ ਨੂੰ ਟੀਕੇ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਤ ਕਰੋ \'ਸੱਪ ਨੂੰ ਸੱਪ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ\' ਭੋਜਨ ਨੂੰ ਨਿਰਯਾਤ ਕਰੋ \'ਇਹ ਸ਼੍ਰੇਣੀ ਖੇਡ ਤਰਕ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਰੂਟ, ਮੁਸ਼ਕਲ = 1): \\n self.root = ਰੂਟ \\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg =\\\'ਕਾਲਾ\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj =snake.Snake (self.canvas, ਮੁਸ਼ਕਲ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj, ਮੁਸ਼ਕਲ) \\n self.score = 0\\n self.highScore =self.retrieveHighScore () \\n self.gameOver = ਗਲਤ \\n self.paused = ਗਲਤ \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.drawGridLines () \\nself.updateGameState () \\n\\n #ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲੋ\\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ (\\\'ਅੱਪ\',\\\'ਡਾਊਨ\',\\\'ਲੈਫਟ\' ਵਿੱਚ ਕੁੰਜੀ ਹੋਵੇ,\\ \'ਸਹੀ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n elif ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n elif ਕੁੰਜੀ = =\\\'r\': \\n self.resetGame () \\n #ਖੇਡ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋਰਾਜ \\n ਡਿਫ ਅੱਪਡੇਟਗੈਮ ਸਟੇਟ (ਸੈਲਫ): \\n ਜੇਕਰ ਨਹੀਂ self.gameOver ਅਤੇ ਨਹੀਂ self.paused: \\n self.snakeObj.move () \\n ਹੈਡ = self.snakeObj.body [0] \\n ਜੇਕਰself.snakeObj.checkCollision () ਜਾਂ ਕੋਈ ਵੀ (ਹਿੱਸਾ = = self.snakeObj.body [1:] ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਸਿਰ): \\n self.gameOver=True \\n self.showMessage ("ਗੇਮ ਓਵਰ","ਗੇਮਓਵਰ") \\n elif self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.newFood () \\n self.score + = 1\\n self.saveScore () \\nself.updateScore () \\n ਜੇਕਰ self.score> self.highScore: \\n self.highScore = self.score \\n self.root.after (self.getUpdateInterval (),self.updateGameState) \\n\\n #ਮੁਸ਼ਕਲ ਦੇ ਅਧਾਰ ਉੱਤੇ ਅੱਪਡੇਟ ਅੰਤਰਾਲ ਪ੍ਰਾਪਤ ਕਰੋ \\n ਡੇਫ ਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸੈਲਫ): \\n ਬੇਸ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ ਘਟਾਓ =ਇੰਟ (self.score/10) * 10 * self.difficulty \\n ਰਿਟਰਨ ਨਾਮ _ 1 (ਅਧਾਰ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ ਘਟਾਓ, 50) \\n\\n #ਖੇਡ ਨੂੰ ਰੋਕਣਾ \\n ਡਿਫ ਪੋਜ਼ ਗੇਮ (ਸੈਲਫ): \\nself.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showMessage ("ਰੁਕਿਆ", "ਰੁਕਿਆ") \\n ਹੋਰਃ \\n self.canvas.delete ("ਰੁਕਿਆ") \\n #ਖੇਡ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ \\nਡਿਫ ਰੀਸੈੱਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\nself.canvas.delete ("ਗੇਮਓਵਰ") \\n self.snakeObj.resetSnake () \\n self.foodObj.newFood () \\n\\n #ਗਰਿੱਡ ਲਾਈਨਾਂ ਬਣਾਓ \\n ਡੈੱਫ ਡਰਾਅਗ੍ਰਿੱਡ ਲਾਈਨਾਂ (ਸਵੈ): i ਲਈ \\n ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'...\'................................................................................................................................................................................food.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਖੇਡ ਵਿੱਚ ਭੋਜਨ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.snake = ਸੱਪ\\n self.size = 10\\n self.position = self.randomPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ\\nself.draw () \\n\\n #ਭੋਜਨ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰਾਈ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n #ਭੋਜਨ ਲਈ ਇੱਕ ਬੇਤਰਤੀਬ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਬੇਤਰਤੀਬ ਸਥਿਤੀ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸੱਚਃ \\nx = random.randint (1,48) *self.size \\n y = random.randint (1,48) * self.size \\n ਸਥਿਤੀ = (x, y, x + self.size, y + self.size) \\n ਜੇਕਰ ਨਹੀਂ ਤਾਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸਥਿਤੀ ਉੱਤੇ ਸੱਪ ਦਾ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): self.snake.body: \\n ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਜੇਕਰself.overlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਸੱਚਾ \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਗਲਤ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਦੋ ਆਇਤਾਕਾਰ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ \\n ਡਿਫ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ (ਸੈਲਫ, ਰੇਕ 1, ਰੇਕ 2): \\n ਓਵਰਲੈਪ = (\\nRect1 [0] <Rect2 [2] \\n ਅਤੇ Rect1 [2]> Rect2 [0] \\n ਅਤੇ Rect1 [1] <Rect2 [3] \\n ਅਤੇ Rect1 [3]> Rect2 [1] \\n) \\n ਵਾਪਸੀ ਓਵਰਲੈਪ \\n\\n #ਨਵਾਂ ਭੋਜਨ ਤਿਆਰ ਕਰੋnewFood (self): \\n self.position = self.randomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ \',\'ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ\' ਸੱਪ ਨੂੰ ਟੀਕੇ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਤ ਕਰੋ \'ਸੱਪ ਨੂੰ ਸੱਪ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ\' ਭੋਜਨ ਨੂੰ ਨਿਰਯਾਤ ਕਰੋ \'ਇਹ ਸ਼੍ਰੇਣੀ ਖੇਡ ਤਰਕ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਰੂਟ, ਮੁਸ਼ਕਲ = 1): \\n self.root = ਰੂਟ \\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg =\\\'ਕਾਲਾ\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj =snake.Snake (self.canvas, ਮੁਸ਼ਕਲ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj, ਮੁਸ਼ਕਲ) \\n self.score = 0\\n self.highScore =self.retrieveHighScore () \\n self.gameOver = ਗਲਤ \\n self.paused = ਗਲਤ \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.drawGridLines () \\nself.updateGameState () \\n\\n #ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲੋ\\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ (\\\'ਅੱਪ\',\\\'ਡਾਊਨ\',\\\'ਲੈਫਟ\' ਵਿੱਚ ਕੁੰਜੀ ਹੋਵੇ,\\ \'ਸਹੀ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n elif ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n elif ਕੁੰਜੀ = =\\\'r\': \\n self.resetGame () \\n #ਖੇਡ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋਰਾਜ \\n ਡਿਫ ਅੱਪਡੇਟਗੈਮ ਸਟੇਟ (ਸੈਲਫ): \\n ਜੇਕਰ ਨਹੀਂ self.gameOver ਅਤੇ ਨਹੀਂ self.paused: \\n self.snakeObj.move () \\n ਹੈਡ = self.snakeObj.body [0] \\n ਜੇਕਰself.snakeObj.checkCollision () ਜਾਂ ਕੋਈ ਵੀ (ਹਿੱਸਾ = = self.snakeObj.body [1:] ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਸਿਰ): \\n self.gameOver=True \\n self.showMessage ("ਗੇਮ ਓਵਰ","ਗੇਮਓਵਰ") \\n elif self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.newFood () \\n self.score + = 1\\n self.saveScore () \\nself.updateScore () \\n ਜੇਕਰ self.score> self.highScore: \\n self.highScore = self.score \\n self.root.after (self.getUpdateInterval (),self.updateGameState) \\n\\n #ਮੁਸ਼ਕਲ ਦੇ ਅਧਾਰ ਉੱਤੇ ਅੱਪਡੇਟ ਅੰਤਰਾਲ ਪ੍ਰਾਪਤ ਕਰੋ \\n ਡੇਫ ਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸੈਲਫ): \\n ਬੇਸ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ ਘਟਾਓ =ਇੰਟ (self.score/10) * 10 * self.difficulty \\n ਰਿਟਰਨ ਨਾਮ _ 1 (ਅਧਾਰ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ ਘਟਾਓ, 50) \\n\\n #ਖੇਡ ਨੂੰ ਰੋਕਣਾ \\n ਡਿਫ ਪੋਜ਼ ਗੇਮ (ਸੈਲਫ): \\nself.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showMessage ("ਰੁਕਿਆ", "ਰੁਕਿਆ") \\n ਹੋਰਃ \\n self.canvas.delete ("ਰੁਕਿਆ") \\n #ਖੇਡ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ \\nਡਿਫ ਰੀਸੈੱਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\nself.canvas.delete ("ਗੇਮਓਵਰ") \\n self.snakeObj.resetSnake () \\n self.foodObj.newFood () \\n\\n #ਗਰਿੱਡ ਲਾਈਨਾਂ ਬਣਾਓ \\n ਡੈੱਫ ਡ੍ਰਾ ਗਰਿੱਡ ਲਾਈਨਾਂ (ਸਵੈ): \\n ਲਈ i \',\' ਫਾਈਲਲੋਡ ਕੀਤਾ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\n ਰੁਕਾਵਟਾਂ ਅਤੇ ਉਦੇਸ਼ਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ, ਇੱਥੇ main.py ਫਾਈਲ ਦਾ ਇੱਕ ਸੰਭਵ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣ ਹੈਃ \\nimport tkintertk\\nimport ਖੇਡ \\n\\n ਕਲਾਸ ਸਨੈਕ ਗੇਮ ਐਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ): \\n self.root = ਰੂਟ\\n self.root. ਸਿਰਲੇਖ ("ਸੱਪ ਗੇਮ") \\nself.root.configure (bg = "ਕਾਲਾ") \\n\\n self.menuFrame = tk.Frame (ਰੂਟ, bg = "ਕਾਲਾ") \\n self.menuFrame.pack () \\n\\n self.startButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਸਟਾਰਟ ਗੇਮ", ਕਮਾਂਡ = self.startGame) \\n self.startButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਬਦਲੋ", ਕਮਾਂਡ = self.showChangeDifficultyDialog) \\n self.difficultyButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.gridToggleButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਟੋਗਲ ਗਰਿੱਡ", ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\') ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'...\'................................................................................................................................................................................food.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਖੇਡ ਵਿੱਚ ਭੋਜਨ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.snake = ਸੱਪ\\n self.size = 10\\n self.position = self.randomPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ\\nself.draw () \\n\\n #ਭੋਜਨ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰਾਈ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n #ਭੋਜਨ ਲਈ ਇੱਕ ਬੇਤਰਤੀਬ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਬੇਤਰਤੀਬ ਸਥਿਤੀ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸੱਚਃ \\nx = random.randint (1,48) *self.size \\n y = random.randint (1,48) * self.size \\n ਸਥਿਤੀ = (x, y, x + self.size, y + self.size) \\n ਜੇਕਰ ਨਹੀਂ ਤਾਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸਥਿਤੀ ਉੱਤੇ ਸੱਪ ਦਾ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): self.snake.body: \\n ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਜੇਕਰself.overlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਸੱਚਾ \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਗਲਤ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਦੋ ਆਇਤਾਕਾਰ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ \\n ਡਿਫ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ (ਸੈਲਫ, ਰੇਕ 1, ਰੇਕ 2): \\n ਓਵਰਲੈਪ = (\\nRect1 [0] <Rect2 [2] \\n ਅਤੇ Rect1 [2]> Rect2 [0] \\n ਅਤੇ Rect1 [1] <Rect2 [3] \\n ਅਤੇ Rect1 [3]> Rect2 [1] \\n) \\n ਵਾਪਸੀ ਓਵਰਲੈਪ \\n\\n #ਨਵਾਂ ਭੋਜਨ ਤਿਆਰ ਕਰੋnewFood (self): \\n self.position = self.randomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ \',\'ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ\' ਸੱਪ ਨੂੰ ਟੀਕੇ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਤ ਕਰੋ \'ਸੱਪ ਨੂੰ ਸੱਪ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ\' ਭੋਜਨ ਨੂੰ ਨਿਰਯਾਤ ਕਰੋ \'ਇਹ ਸ਼੍ਰੇਣੀ ਖੇਡ ਤਰਕ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਰੂਟ, ਮੁਸ਼ਕਲ = 1): \\n self.root = ਰੂਟ \\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg =\\\'ਕਾਲਾ\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj =snake.Snake (self.canvas, ਮੁਸ਼ਕਲ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj, ਮੁਸ਼ਕਲ) \\n self.score = 0\\n self.highScore =self.retrieveHighScore () \\n self.gameOver = ਗਲਤ \\n self.paused = ਗਲਤ \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.drawGridLines () \\nself.updateGameState () \\n\\n #ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲੋ\\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ (\\\'ਅੱਪ\',\\\'ਡਾਊਨ\',\\\'ਲੈਫਟ\' ਵਿੱਚ ਕੁੰਜੀ ਹੋਵੇ,\\ \'ਸਹੀ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n elif ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n elif ਕੁੰਜੀ = =\\\'r\': \\n self.resetGame () \\n #ਖੇਡ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋਰਾਜ \\n ਡਿਫ ਅੱਪਡੇਟਗੈਮ ਸਟੇਟ (ਸੈਲਫ): \\n ਜੇਕਰ ਨਹੀਂ self.gameOver ਅਤੇ ਨਹੀਂ self.paused: \\n self.snakeObj.move () \\n ਹੈਡ = self.snakeObj.body [0] \\n ਜੇਕਰself.snakeObj.checkCollision () ਜਾਂ ਕੋਈ ਵੀ (ਹਿੱਸਾ = = self.snakeObj.body [1:] ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਸਿਰ): \\n self.gameOver=True \\n self.showMessage ("ਗੇਮ ਓਵਰ","ਗੇਮਓਵਰ") \\n elif self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.newFood () \\n self.score + = 1\\n self.saveScore () \\nself.updateScore () \\n ਜੇਕਰ self.score> self.highScore: \\n self.highScore = self.score \\n self.root.after (self.getUpdateInterval (),self.updateGameState) \\n\\n #ਮੁਸ਼ਕਲ ਦੇ ਅਧਾਰ ਉੱਤੇ ਅੱਪਡੇਟ ਅੰਤਰਾਲ ਪ੍ਰਾਪਤ ਕਰੋ \\n ਡੇਫ ਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸੈਲਫ): \\n ਬੇਸ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ ਘਟਾਓ =ਇੰਟ (self.score/10) * 10 * self.difficulty \\n ਰਿਟਰਨ ਨਾਮ _ 1 (ਅਧਾਰ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ ਘਟਾਓ, 50) \\n\\n #ਖੇਡ ਨੂੰ ਰੋਕਣਾ \\n ਡਿਫ ਪੋਜ਼ ਗੇਮ (ਸੈਲਫ): \\nself.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showMessage ("ਰੁਕਿਆ", "ਰੁਕਿਆ") \\n ਹੋਰਃ \\n self.canvas.delete ("ਰੁਕਿਆ") \\n #ਖੇਡ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ \\nਡਿਫ ਰੀਸੈੱਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\nself.canvas.delete ("ਗੇਮਓਵਰ") \\n self.snakeObj.resetSnake () \\n self.foodObj.newFood () \\n\\n #ਗਰਿੱਡ ਲਾਈਨਾਂ ਬਣਾਓ \\n ਡੈੱਫ ਡ੍ਰਾ ਗਰਿੱਡ ਲਾਈਨਾਂ (ਸਵੈ): \\n ਲਈ i \',\' ਫਾਈਲਲੋਡ ਕੀਤਾ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\n ਰੁਕਾਵਟਾਂ ਅਤੇ ਉਦੇਸ਼ਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ, ਇੱਥੇ main.py ਫਾਈਲ ਦਾ ਇੱਕ ਸੰਭਵ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣ ਹੈਃ \\nimport tkintertk\\nimport ਖੇਡ \\n\\n ਕਲਾਸ ਸਨੈਕ ਗੇਮ ਐਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ): \\n self.root = ਰੂਟ\\n self.root. ਸਿਰਲੇਖ ("ਸੱਪ ਗੇਮ") \\nself.root.configure (bg = "ਕਾਲਾ") \\n\\n self.menuFrame = tk.Frame (ਰੂਟ, bg = "ਕਾਲਾ") \\n self.menuFrame.pack () \\n\\n self.startButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਸਟਾਰਟ ਗੇਮ", ਕਮਾਂਡ = self.startGame) \\n self.startButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਬਦਲੋ", ਕਮਾਂਡ = self.showChangeDifficultyDialog) \\n self.difficultyButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.gridToggleButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਟੋਗਲ ਗਰਿੱਡ", ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਫਰੇਮ ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ। \',\' ਕਰੰਟ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਸੱਪ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ \\n ਕਲਾਸ ਸੱਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \'] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'...\'................................................................................................................................................................................food.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਖੇਡ ਵਿੱਚ ਭੋਜਨ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.snake = ਸੱਪ\\n self.size = 10\\n self.position = self.randomPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ\\nself.draw () \\n\\n #ਭੋਜਨ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰਾਈ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n #ਭੋਜਨ ਲਈ ਇੱਕ ਬੇਤਰਤੀਬ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਬੇਤਰਤੀਬ ਸਥਿਤੀ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸੱਚਃ \\nx = random.randint (1,48) *self.size \\n y = random.randint (1,48) * self.size \\n ਸਥਿਤੀ = (x, y, x + self.size, y + self.size) \\n ਜੇਕਰ ਨਹੀਂ ਤਾਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸਥਿਤੀ ਉੱਤੇ ਸੱਪ ਦਾ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): self.snake.body: \\n ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਜੇਕਰself.overlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਸੱਚਾ \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਗਲਤ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਦੋ ਆਇਤਾਕਾਰ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ \\n ਡਿਫ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ (ਸੈਲਫ, ਰੇਕ 1, ਰੇਕ 2): \\n ਓਵਰਲੈਪ = (\\nRect1 [0] <Rect2 [2] \\n ਅਤੇ Rect1 [2]> Rect2 [0] \\n ਅਤੇ Rect1 [1] <Rect2 [3] \\n ਅਤੇ Rect1 [3]> Rect2 [1] \\n) \\n ਵਾਪਸੀ ਓਵਰਲੈਪ \\n\\n #ਨਵਾਂ ਭੋਜਨ ਤਿਆਰ ਕਰੋnewFood (self): \\n self.position = self.randomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ \',\'ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ\' ਸੱਪ ਨੂੰ ਟੀਕੇ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਤ ਕਰੋ \'ਸੱਪ ਨੂੰ ਸੱਪ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ\' ਭੋਜਨ ਨੂੰ ਨਿਰਯਾਤ ਕਰੋ \'ਇਹ ਸ਼੍ਰੇਣੀ ਖੇਡ ਤਰਕ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਰੂਟ, ਮੁਸ਼ਕਲ = 1): \\n self.root = ਰੂਟ \\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg =\\\'ਕਾਲਾ\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj =snake.Snake (self.canvas, ਮੁਸ਼ਕਲ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj, ਮੁਸ਼ਕਲ) \\n self.score = 0\\n self.highScore =self.retrieveHighScore () \\n self.gameOver = ਗਲਤ \\n self.paused = ਗਲਤ \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.drawGridLines () \\nself.updateGameState () \\n\\n #ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲੋ\\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ (\\\'ਅੱਪ\',\\\'ਡਾਊਨ\',\\\'ਲੈਫਟ\' ਵਿੱਚ ਕੁੰਜੀ ਹੋਵੇ,\\ \'ਸਹੀ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n elif ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n elif ਕੁੰਜੀ = =\\\'r\': \\n self.resetGame () \\n #ਖੇਡ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋਰਾਜ \\n ਡਿਫ ਅੱਪਡੇਟਗੈਮ ਸਟੇਟ (ਸੈਲਫ): \\n ਜੇਕਰ ਨਹੀਂ self.gameOver ਅਤੇ ਨਹੀਂ self.paused: \\n self.snakeObj.move () \\n ਹੈਡ = self.snakeObj.body [0] \\n ਜੇਕਰself.snakeObj.checkCollision () ਜਾਂ ਕੋਈ ਵੀ (ਹਿੱਸਾ = = self.snakeObj.body [1:] ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਸਿਰ): \\n self.gameOver=True \\n self.showMessage ("ਗੇਮ ਓਵਰ","ਗੇਮਓਵਰ") \\n elif self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.newFood () \\n self.score + = 1\\n self.saveScore () \\nself.updateScore () \\n ਜੇਕਰ self.score> self.highScore: \\n self.highScore = self.score \\n self.root.after (self.getUpdateInterval (),self.updateGameState) \\n\\n #ਮੁਸ਼ਕਲ ਦੇ ਅਧਾਰ ਉੱਤੇ ਅੱਪਡੇਟ ਅੰਤਰਾਲ ਪ੍ਰਾਪਤ ਕਰੋ \\n ਡੇਫ ਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸੈਲਫ): \\n ਬੇਸ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ ਘਟਾਓ =ਇੰਟ (self.score/10) * 10 * self.difficulty \\n ਰਿਟਰਨ ਨਾਮ _ 1 (ਅਧਾਰ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ ਘਟਾਓ, 50) \\n\\n #ਖੇਡ ਨੂੰ ਰੋਕਣਾ \\n ਡਿਫ ਪੋਜ਼ ਗੇਮ (ਸੈਲਫ): \\nself.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showMessage ("ਰੁਕਿਆ", "ਰੁਕਿਆ") \\n ਹੋਰਃ \\n self.canvas.delete ("ਰੁਕਿਆ") \\n #ਖੇਡ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ \\nਡਿਫ ਰੀਸੈੱਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\nself.canvas.delete ("ਗੇਮਓਵਰ") \\n self.snakeObj.resetSnake () \\n self.foodObj.newFood () \\n\\n #ਗਰਿੱਡ ਲਾਈਨਾਂ ਬਣਾਓ \\n ਡੈੱਫ ਡ੍ਰਾ ਗਰਿੱਡ ਲਾਈਨਾਂ (ਸਵੈ): \\n ਲਈ i \',\' ਫਾਈਲਲੋਡ ਕੀਤਾ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\n ਰੁਕਾਵਟਾਂ ਅਤੇ ਉਦੇਸ਼ਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ, ਇੱਥੇ main.py ਫਾਈਲ ਦਾ ਇੱਕ ਸੰਭਵ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣ ਹੈਃ \\nimport tkintertk\\nimport ਖੇਡ \\n\\n ਕਲਾਸ ਸਨੈਕ ਗੇਮ ਐਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ): \\n self.root = ਰੂਟ\\n self.root. ਸਿਰਲੇਖ ("ਸੱਪ ਗੇਮ") \\nself.root.configure (bg = "ਕਾਲਾ") \\n\\n self.menuFrame = tk.Frame (ਰੂਟ, bg = "ਕਾਲਾ") \\n self.menuFrame.pack () \\n\\n self.startButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਸਟਾਰਟ ਗੇਮ", ਕਮਾਂਡ = self.startGame) \\n self.startButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਬਦਲੋ", ਕਮਾਂਡ = self.showChangeDifficultyDialog) \\n self.difficultyButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.gridToggleButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਟੋਗਲ ਗਰਿੱਡ", ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਫਰੇਮ ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ। \',\' ਕਰੰਟ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਸੱਪ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ \\n ਕਲਾਸ ਸੱਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\\n\\n ###ਜਵਾਬਃ ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰੋਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰ ਨਾਮ _ 1). \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'...\'................................................................................................................................................................................food.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਖੇਡ ਵਿੱਚ ਭੋਜਨ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.snake = ਸੱਪ\\n self.size = 10\\n self.position = self.randomPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ\\nself.draw () \\n\\n #ਭੋਜਨ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰਾਈ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n #ਭੋਜਨ ਲਈ ਇੱਕ ਬੇਤਰਤੀਬ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਬੇਤਰਤੀਬ ਸਥਿਤੀ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸੱਚਃ \\nx = random.randint (1,48) *self.size \\n y = random.randint (1,48) * self.size \\n ਸਥਿਤੀ = (x, y, x + self.size, y + self.size) \\n ਜੇਕਰ ਨਹੀਂ ਤਾਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸਥਿਤੀ ਉੱਤੇ ਸੱਪ ਦਾ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): self.snake.body: \\n ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਜੇਕਰself.overlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਸੱਚਾ \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਗਲਤ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਦੋ ਆਇਤਾਕਾਰ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ \\n ਡਿਫ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ (ਸੈਲਫ, ਰੇਕ 1, ਰੇਕ 2): \\n ਓਵਰਲੈਪ = (\\nRect1 [0] <Rect2 [2] \\n ਅਤੇ Rect1 [2]> Rect2 [0] \\n ਅਤੇ Rect1 [1] <Rect2 [3] \\n ਅਤੇ Rect1 [3]> Rect2 [1] \\n) \\n ਵਾਪਸੀ ਓਵਰਲੈਪ \\n\\n #ਨਵਾਂ ਭੋਜਨ ਤਿਆਰ ਕਰੋnewFood (self): \\n self.position = self.randomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ \',\'ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ\' ਸੱਪ ਨੂੰ ਟੀਕੇ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਤ ਕਰੋ \'ਸੱਪ ਨੂੰ ਸੱਪ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ\' ਭੋਜਨ ਨੂੰ ਨਿਰਯਾਤ ਕਰੋ \'ਇਹ ਸ਼੍ਰੇਣੀ ਖੇਡ ਤਰਕ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਰੂਟ, ਮੁਸ਼ਕਲ = 1): \\n self.root = ਰੂਟ \\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg =\\\'ਕਾਲਾ\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj =snake.Snake (self.canvas, ਮੁਸ਼ਕਲ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj, ਮੁਸ਼ਕਲ) \\n self.score = 0\\n self.highScore =self.retrieveHighScore () \\n self.gameOver = ਗਲਤ \\n self.paused = ਗਲਤ \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.drawGridLines () \\nself.updateGameState () \\n\\n #ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲੋ\\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ (\\\'ਅੱਪ\',\\\'ਡਾਊਨ\',\\\'ਲੈਫਟ\' ਵਿੱਚ ਕੁੰਜੀ ਹੋਵੇ,\\ \'ਸਹੀ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n elif ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n elif ਕੁੰਜੀ = =\\\'r\': \\n self.resetGame () \\n #ਖੇਡ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋਰਾਜ \\n ਡਿਫ ਅੱਪਡੇਟਗੈਮ ਸਟੇਟ (ਸੈਲਫ): \\n ਜੇਕਰ ਨਹੀਂ self.gameOver ਅਤੇ ਨਹੀਂ self.paused: \\n self.snakeObj.move () \\n ਹੈਡ = self.snakeObj.body [0] \\n ਜੇਕਰself.snakeObj.checkCollision () ਜਾਂ ਕੋਈ ਵੀ (ਹਿੱਸਾ = = self.snakeObj.body [1:] ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਸਿਰ): \\n self.gameOver=True \\n self.showMessage ("ਗੇਮ ਓਵਰ","ਗੇਮਓਵਰ") \\n elif self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.newFood () \\n self.score + = 1\\n self.saveScore () \\nself.updateScore () \\n ਜੇਕਰ self.score> self.highScore: \\n self.highScore = self.score \\n self.root.after (self.getUpdateInterval (),self.updateGameState) \\n\\n #ਮੁਸ਼ਕਲ ਦੇ ਅਧਾਰ ਉੱਤੇ ਅੱਪਡੇਟ ਅੰਤਰਾਲ ਪ੍ਰਾਪਤ ਕਰੋ \\n ਡੇਫ ਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸੈਲਫ): \\n ਬੇਸ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ ਘਟਾਓ =ਇੰਟ (self.score/10) * 10 * self.difficulty \\n ਰਿਟਰਨ ਨਾਮ _ 1 (ਅਧਾਰ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ ਘਟਾਓ, 50) \\n\\n #ਖੇਡ ਨੂੰ ਰੋਕਣਾ \\n ਡਿਫ ਪੋਜ਼ ਗੇਮ (ਸੈਲਫ): \\nself.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showMessage ("ਰੁਕਿਆ", "ਰੁਕਿਆ") \\n ਹੋਰਃ \\n self.canvas.delete ("ਰੁਕਿਆ") \\n #ਖੇਡ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ \\nਡਿਫ ਰੀਸੈੱਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\nself.canvas.delete ("ਗੇਮਓਵਰ") \\n self.snakeObj.resetSnake () \\n self.foodObj.newFood () \\n\\n #ਗਰਿੱਡ ਲਾਈਨਾਂ ਬਣਾਓ \\n ਡੈੱਫ ਡ੍ਰਾ ਗਰਿੱਡ ਲਾਈਨਾਂ (ਸਵੈ): \\n ਲਈ i \',\' ਫਾਈਲਲੋਡ ਕੀਤਾ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\n ਰੁਕਾਵਟਾਂ ਅਤੇ ਉਦੇਸ਼ਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ, ਇੱਥੇ main.py ਫਾਈਲ ਦਾ ਇੱਕ ਸੰਭਵ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣ ਹੈਃ \\nimport tkintertk\\nimport ਖੇਡ \\n\\n ਕਲਾਸ ਸਨੈਕ ਗੇਮ ਐਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ): \\n self.root = ਰੂਟ\\n self.root. ਸਿਰਲੇਖ ("ਸੱਪ ਗੇਮ") \\nself.root.configure (bg = "ਕਾਲਾ") \\n\\n self.menuFrame = tk.Frame (ਰੂਟ, bg = "ਕਾਲਾ") \\n self.menuFrame.pack () \\n\\n self.startButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਸਟਾਰਟ ਗੇਮ", ਕਮਾਂਡ = self.startGame) \\n self.startButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਬਦਲੋ", ਕਮਾਂਡ = self.showChangeDifficultyDialog) \\n self.difficultyButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.gridToggleButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਟੋਗਲ ਗਰਿੱਡ", ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਫਰੇਮ ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ। \',\' ਕਰੰਟ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਸੱਪ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ \\n ਕਲਾਸ ਸੱਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\\n\\n ###ਜਵਾਬਃ ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰੋਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰ ਨਾਮ _ 1). \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame,ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲਃ 1",bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂਸਟਾਰਟਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\nself.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\ndialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂਃ \\n-ਗਰਾਫੀਕਲ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ (ਜੀ. ਯੂ. ਆਈ.):\\n ਕਮੀਆਂਃ \\n-ਸਿਰਫ਼ ਟਕਿੰਟਰ-ਕਸਟਮ ਜੀ. ਯੂ. ਆਈ. ਤੱਤਾਂ ਲਈ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ \\n-ਕਸਟਮ ਕੰਪੋਨੈਂਟ ਜਾਂ ਲੇਆਉਟ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n ਨਾਮ _ 2ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਿਟੀ ਦੀ ਘਾਟ-ਸਾਰੇ GUI ਤੱਤਾਂ ਨੂੰ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਐਨੀਮੇਸ਼ਨ ਜਾਂ ਪਰਿਵਰਤਨ ਪ੍ਰਭਾਵ ਨੂੰ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ\\n-ਡਾਟਾਭੰਡਾਰਨਃ \\n ਕਮੀਆਂਃ \\n-ਕੋਈ ਡਾਟਾਬੇਸ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ ਨਹੀਂ-ਪੁੱਛਗਿੱਛ ਸਤਰ ਨੂੰ ਹੱਥੀਂ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਸੁਰੱਖਿਅਤ ਜਾਂ ਕੁਸ਼ਲ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂਢੰਗ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਖਾਸ ਡੇਟਾ ਲਈ ਡਾਟਾਬੇਸ ਨੂੰ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ\\n\\n-ਸੰਭਾਲਣ ਵਿੱਚ ਗਲਤੀਃ \\n ਨੁਕਸ \\n-ਉਪਭੋਗਤਾ ਲਈ ਕੋਈ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹੇ ਨਹੀਂਗਲਤੀਆਂ \\n-ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਕੋਈ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ/NAME _ 2 ਬਲਾਕਾਂ ਲਈ ਬਲਾਕ ਨੂੰ ਛੱਡ ਕੇ ਜੋ ਗਲਤੀਆਂ ਪੈਦਾ ਕਰ ਸਕਦੇ ਹਨ \\n-ਨਹੀਂਕਿਸੇ ਫਾਇਲ ਜਾਂ ਡਾਟਾਬੇਸ ਵਿੱਚ ਗਲਤੀਆਂ ਦਾ ਲੌਗਿੰਗ \\n\\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨਃ \\n ਨੁਕਸ \\n-ਮਾਡਯੂਲਾਂ ਵਿੱਚ ਕੋਈ ਸਪਸ਼ਟ ਵੱਖ ਨਹੀਂ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹਨ \\n-ਨਹੀਂਹੋਰ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੌਜੂਦਾ ਮੈਡਿਊਲਾਂ ਦੀ ਮੁਡ਼ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਮਰੱਥਾ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨ ਦੀ ਘਾਟ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹੈ \\n-ਵਰਤਣ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪ੍ਰਿੰਸੀਪਲ \\n\\n-ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨਃ \\n ਨੁਕਸ-ਕੋਈ ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨ ਨਹੀਂ-ਜੇ ਗਲਤ ਇੰਪੁੱਟ ਹਨ ਤਾਂ NAME _ 2 ਕਰੈਸ਼ ਹੋ ਸਕਦਾ ਹੈ।ਦਿੱਤਾ ਗਿਆ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n-\'ਤੇ ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਰੱਦ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਸਰੋਤ \', ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਨਾਮ _ 2 (ਹਰੇਕ ਫਾਇਲ 2048 ਅੱਖਰ ਨਾਮ _ 1 ਹੈ)। \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੁਧਾਰ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿਓ \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'...\'................................................................................................................................................................................food.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਖੇਡ ਵਿੱਚ ਭੋਜਨ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.snake = ਸੱਪ\\n self.size = 10\\n self.position = self.randomPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ\\nself.draw () \\n\\n #ਭੋਜਨ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰਾਈ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n #ਭੋਜਨ ਲਈ ਇੱਕ ਬੇਤਰਤੀਬ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਬੇਤਰਤੀਬ ਸਥਿਤੀ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸੱਚਃ \\nx = random.randint (1,48) *self.size \\n y = random.randint (1,48) * self.size \\n ਸਥਿਤੀ = (x, y, x + self.size, y + self.size) \\n ਜੇਕਰ ਨਹੀਂ ਤਾਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸਥਿਤੀ ਉੱਤੇ ਸੱਪ ਦਾ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): self.snake.body: \\n ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਜੇਕਰself.overlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਸੱਚਾ \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਗਲਤ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਦੋ ਆਇਤਾਕਾਰ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ \\n ਡਿਫ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ (ਸੈਲਫ, ਰੇਕ 1, ਰੇਕ 2): \\n ਓਵਰਲੈਪ = (\\nRect1 [0] <Rect2 [2] \\n ਅਤੇ Rect1 [2]> Rect2 [0] \\n ਅਤੇ Rect1 [1] <Rect2 [3] \\n ਅਤੇ Rect1 [3]> Rect2 [1] \\n) \\n ਵਾਪਸੀ ਓਵਰਲੈਪ \\n\\n #ਨਵਾਂ ਭੋਜਨ ਤਿਆਰ ਕਰੋnewFood (self): \\n self.position = self.randomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ \',\'ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ\' ਸੱਪ ਨੂੰ ਟੀਕੇ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਤ ਕਰੋ \'ਸੱਪ ਨੂੰ ਸੱਪ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ\' ਭੋਜਨ ਨੂੰ ਨਿਰਯਾਤ ਕਰੋ \'ਇਹ ਸ਼੍ਰੇਣੀ ਖੇਡ ਤਰਕ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਰੂਟ, ਮੁਸ਼ਕਲ = 1): \\n self.root = ਰੂਟ \\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg =\\\'ਕਾਲਾ\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj =snake.Snake (self.canvas, ਮੁਸ਼ਕਲ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj, ਮੁਸ਼ਕਲ) \\n self.score = 0\\n self.highScore =self.retrieveHighScore () \\n self.gameOver = ਗਲਤ \\n self.paused = ਗਲਤ \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.drawGridLines () \\nself.updateGameState () \\n\\n #ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲੋ\\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ (\\\'ਅੱਪ\',\\\'ਡਾਊਨ\',\\\'ਲੈਫਟ\' ਵਿੱਚ ਕੁੰਜੀ ਹੋਵੇ,\\ \'ਸਹੀ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n elif ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n elif ਕੁੰਜੀ = =\\\'r\': \\n self.resetGame () \\n #ਖੇਡ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋਰਾਜ \\n ਡਿਫ ਅੱਪਡੇਟਗੈਮ ਸਟੇਟ (ਸੈਲਫ): \\n ਜੇਕਰ ਨਹੀਂ self.gameOver ਅਤੇ ਨਹੀਂ self.paused: \\n self.snakeObj.move () \\n ਹੈਡ = self.snakeObj.body [0] \\n ਜੇਕਰself.snakeObj.checkCollision () ਜਾਂ ਕੋਈ ਵੀ (ਹਿੱਸਾ = = self.snakeObj.body [1:] ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਸਿਰ): \\n self.gameOver=True \\n self.showMessage ("ਗੇਮ ਓਵਰ","ਗੇਮਓਵਰ") \\n elif self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.newFood () \\n self.score + = 1\\n self.saveScore () \\nself.updateScore () \\n ਜੇਕਰ self.score> self.highScore: \\n self.highScore = self.score \\n self.root.after (self.getUpdateInterval (),self.updateGameState) \\n\\n #ਮੁਸ਼ਕਲ ਦੇ ਅਧਾਰ ਉੱਤੇ ਅੱਪਡੇਟ ਅੰਤਰਾਲ ਪ੍ਰਾਪਤ ਕਰੋ \\n ਡੇਫ ਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸੈਲਫ): \\n ਬੇਸ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ ਘਟਾਓ =ਇੰਟ (self.score/10) * 10 * self.difficulty \\n ਰਿਟਰਨ ਨਾਮ _ 1 (ਅਧਾਰ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ ਘਟਾਓ, 50) \\n\\n #ਖੇਡ ਨੂੰ ਰੋਕਣਾ \\n ਡਿਫ ਪੋਜ਼ ਗੇਮ (ਸੈਲਫ): \\nself.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showMessage ("ਰੁਕਿਆ", "ਰੁਕਿਆ") \\n ਹੋਰਃ \\n self.canvas.delete ("ਰੁਕਿਆ") \\n #ਖੇਡ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ \\nਡਿਫ ਰੀਸੈੱਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\nself.canvas.delete ("ਗੇਮਓਵਰ") \\n self.snakeObj.resetSnake () \\n self.foodObj.newFood () \\n\\n #ਗਰਿੱਡ ਲਾਈਨਾਂ ਬਣਾਓ \\n ਡੈੱਫ ਡ੍ਰਾ ਗਰਿੱਡ ਲਾਈਨਾਂ (ਸਵੈ): \\n ਲਈ i \',\' ਫਾਈਲਲੋਡ ਕੀਤਾ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\n ਰੁਕਾਵਟਾਂ ਅਤੇ ਉਦੇਸ਼ਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ, ਇੱਥੇ main.py ਫਾਈਲ ਦਾ ਇੱਕ ਸੰਭਵ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣ ਹੈਃ \\nimport tkintertk\\nimport ਖੇਡ \\n\\n ਕਲਾਸ ਸਨੈਕ ਗੇਮ ਐਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ): \\n self.root = ਰੂਟ\\n self.root. ਸਿਰਲੇਖ ("ਸੱਪ ਗੇਮ") \\nself.root.configure (bg = "ਕਾਲਾ") \\n\\n self.menuFrame = tk.Frame (ਰੂਟ, bg = "ਕਾਲਾ") \\n self.menuFrame.pack () \\n\\n self.startButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਸਟਾਰਟ ਗੇਮ", ਕਮਾਂਡ = self.startGame) \\n self.startButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਬਦਲੋ", ਕਮਾਂਡ = self.showChangeDifficultyDialog) \\n self.difficultyButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.gridToggleButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਟੋਗਲ ਗਰਿੱਡ", ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਫਰੇਮ ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ। \',\' ਕਰੰਟ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਸੱਪ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ \\n ਕਲਾਸ ਸੱਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\\n\\n ###ਜਵਾਬਃ ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰੋਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰ ਨਾਮ _ 1). \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame,ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲਃ 1",bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂਸਟਾਰਟਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\nself.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\ndialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂਃ \\n-ਗਰਾਫੀਕਲ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ (ਜੀ. ਯੂ. ਆਈ.):\\n ਕਮੀਆਂਃ \\n-ਸਿਰਫ਼ ਟਕਿੰਟਰ-ਕਸਟਮ ਜੀ. ਯੂ. ਆਈ. ਤੱਤਾਂ ਲਈ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ \\n-ਕਸਟਮ ਕੰਪੋਨੈਂਟ ਜਾਂ ਲੇਆਉਟ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n ਨਾਮ _ 2ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਿਟੀ ਦੀ ਘਾਟ-ਸਾਰੇ GUI ਤੱਤਾਂ ਨੂੰ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਐਨੀਮੇਸ਼ਨ ਜਾਂ ਪਰਿਵਰਤਨ ਪ੍ਰਭਾਵ ਨੂੰ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ\\n-ਡਾਟਾਭੰਡਾਰਨਃ \\n ਕਮੀਆਂਃ \\n-ਕੋਈ ਡਾਟਾਬੇਸ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ ਨਹੀਂ-ਪੁੱਛਗਿੱਛ ਸਤਰ ਨੂੰ ਹੱਥੀਂ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਸੁਰੱਖਿਅਤ ਜਾਂ ਕੁਸ਼ਲ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂਢੰਗ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਖਾਸ ਡੇਟਾ ਲਈ ਡਾਟਾਬੇਸ ਨੂੰ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ\\n\\n-ਸੰਭਾਲਣ ਵਿੱਚ ਗਲਤੀਃ \\n ਨੁਕਸ \\n-ਉਪਭੋਗਤਾ ਲਈ ਕੋਈ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹੇ ਨਹੀਂਗਲਤੀਆਂ \\n-ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਕੋਈ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ/NAME _ 2 ਬਲਾਕਾਂ ਲਈ ਬਲਾਕ ਨੂੰ ਛੱਡ ਕੇ ਜੋ ਗਲਤੀਆਂ ਪੈਦਾ ਕਰ ਸਕਦੇ ਹਨ \\n-ਨਹੀਂਕਿਸੇ ਫਾਇਲ ਜਾਂ ਡਾਟਾਬੇਸ ਵਿੱਚ ਗਲਤੀਆਂ ਦਾ ਲੌਗਿੰਗ \\n\\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨਃ \\n ਨੁਕਸ \\n-ਮਾਡਯੂਲਾਂ ਵਿੱਚ ਕੋਈ ਸਪਸ਼ਟ ਵੱਖ ਨਹੀਂ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹਨ \\n-ਨਹੀਂਹੋਰ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੌਜੂਦਾ ਮੈਡਿਊਲਾਂ ਦੀ ਮੁਡ਼ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਮਰੱਥਾ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨ ਦੀ ਘਾਟ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹੈ \\n-ਵਰਤਣ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪ੍ਰਿੰਸੀਪਲ \\n\\n-ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨਃ \\n ਖਾਮੀਆਂਃ \\n-ਕੋਈ ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨ ਨਹੀਂ-ਜੇ ਗਲਤ ਇੰਪੁੱਟ ਹਨ ਤਾਂ NAME _ 2 ਕਰੈਸ਼ ਹੋ ਸਕਦਾ ਹੈ।ਦਿੱਤਾ ਗਿਆ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n-\'ਤੇ ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਰੱਦ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਸਰੋਤ \', ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਨਾਮ _ 2 (ਹਰੇਕ ਫਾਇਲ 2048 ਅੱਖਰ ਨਾਮ _ 1 ਹੈ)। \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾਸੁਧਾਰ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿਓ \',\' ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂਃ \\n-ਗਰਾਫੀਕਲ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ (ਜੀ. ਯੂ. ਆਈ.):\\n ਕਮੀਆਂਃ \\n-ਸਿਰਫ਼ ਟਕਿੰਟਰ-ਕਸਟਮ ਜੀ. ਯੂ. ਆਈ. ਤੱਤਾਂ ਲਈ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ \\n-ਕਸਟਮ ਕੰਪੋਨੈਂਟ ਜਾਂ ਲੇਆਉਟ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n ਨਾਮ _ 2ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਿਟੀ ਦੀ ਘਾਟ-ਸਾਰੇ GUI ਤੱਤਾਂ ਨੂੰ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਐਨੀਮੇਸ਼ਨ ਜਾਂ ਪਰਿਵਰਤਨ ਪ੍ਰਭਾਵ ਨੂੰ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ\\n-ਡਾਟਾਭੰਡਾਰਨਃ \\n ਕਮੀਆਂਃ \\n-ਕੋਈ ਡਾਟਾਬੇਸ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ ਨਹੀਂ-ਪੁੱਛਗਿੱਛ ਸਤਰ ਨੂੰ ਹੱਥੀਂ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਸੁਰੱਖਿਅਤ ਜਾਂ ਕੁਸ਼ਲ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂਢੰਗ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਖਾਸ ਡੇਟਾ ਲਈ ਡਾਟਾਬੇਸ ਨੂੰ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ\\n\\n-ਸੰਭਾਲਣ ਵਿੱਚ ਗਲਤੀਃ \\n ਨੁਕਸ \\n-ਉਪਭੋਗਤਾ ਲਈ ਕੋਈ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹੇ ਨਹੀਂਗਲਤੀਆਂ \\n-ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਕੋਈ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ/NAME _ 2 ਬਲਾਕਾਂ ਲਈ ਬਲਾਕ ਨੂੰ ਛੱਡ ਕੇ ਜੋ ਗਲਤੀਆਂ ਪੈਦਾ ਕਰ ਸਕਦੇ ਹਨ \\n-ਨਹੀਂਕਿਸੇ ਫਾਇਲ ਜਾਂ ਡਾਟਾਬੇਸ ਵਿੱਚ ਗਲਤੀਆਂ ਦਾ ਲੌਗਿੰਗ \\n\\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨਃ \\n ਨੁਕਸ \\n-ਮਾਡਯੂਲਾਂ ਵਿੱਚ ਕੋਈ ਸਪਸ਼ਟ ਵੱਖ ਨਹੀਂ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹਨ \\n-ਨਹੀਂਹੋਰ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੌਜੂਦਾ ਮੈਡਿਊਲਾਂ ਦੀ ਮੁਡ਼ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਮਰੱਥਾ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨ ਦੀ ਘਾਟ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹੈ \\n-ਵਰਤਣ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪ੍ਰਿੰਸੀਪਲ \\n\\n-ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨਃ \\n ਨੁਕਸ-ਕੋਈ ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨ ਨਹੀਂ-ਜੇ ਗਲਤ ਇੰਪੁੱਟ ਹਨ ਤਾਂ NAME _ 2 ਕਰੈਸ਼ ਹੋ ਸਕਦਾ ਹੈ।ਦਿੱਤਾ ਗਿਆ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n-\'ਤੇ ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਰੱਦ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਸਰੋਤ ##ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਕੇਵਲ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ NAME _ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1)। \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਲੋਡ਼ੀਂਦੇ ਅੰਕਡ਼ੇ ਮੁਹੱਈਆ ਕਰਵਾਏ ਜਾਂਦੇ ਹਨ। ਸੁਧਾਰ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿਓਃ ਜਵਾਬਃ ਪ੍ਰਸਤਾਵਃ \\n-ਇੱਕ ਸ਼ਾਮਲ ਕਰੋਖੇਡ ਅਵਸਥਾ (ਮੈਟ੍ਰਿਕਸ) ਦੀ ਗਰਾਫੀਕਲ ਨੁਮਾਇੰਦਗੀ ਨੂੰ ਛਾਪਣ ਲਈ ਫੰਕਸ਼ਨ। \\n-ਮਲਟੀਪਲ ਨੂੰ ਬਦਲ ਕੇ NAME _ 2 ਦੀ ਪਡ਼੍ਹਨਯੋਗਤਾ ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਇੱਕ ਟਰਨਰੀ ਅਪਰੇਟਰ ਦੇ ਨਾਲ ਜੇਕਰ-ਹੋਰ ਬਿਆਨ। \\n-ਇੱਕ ਸੀਮਤ ਅਵਸਥਾ ਦੇ ਨਾਲ ਮੌਜੂਦਾ ਸਥਿਤੀ ਅਧਾਰਤ ਫੈਸਲੇ ਲੈਣ ਨੂੰ ਬਦਲ ਕੇ AI ਵਿੱਚ ਇੱਕ ਬੱਗ ਨੂੰ ਠੀਕ ਕਰੋ।ਮਸ਼ੀਨ। \\n-AI ਦੇ ਮੌਜੂਦਾ ਲਾਗੂਕਰਨ ਨੂੰ ਹਟਾਓ ਅਤੇ ਇਸ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲ ਅਤੇ ਸ਼ਕਤੀਸ਼ਾਲੀ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਐਲਗੋਰਿਦਮ ਨਾਲ ਬਦਲੋ। \\n-ਸਭ ਨੂੰ ਹਟਾਓਬੇਲੋਡ਼ਾ ਨਾਮ _ 2 ਅਤੇ ਡਾਟਾ ਜੋ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ। \\n-ਮੌਜੂਦਾ ਅਸਿੰਕਰੋਨਸ ਈਵੈਂਟ ਲੂਪ ਨੂੰ ਹੋਰ ਨਾਲ ਬਦਲੋਕੁਸ਼ਲ ਅਤੇ ਸ਼ਕਤੀਸ਼ਾਲੀ ਇੱਕ। \\n-ਮੌਜੂਦਾ ਮੈਟ੍ਰਿਕਸ ਹੇਰਾਫੇਰੀ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲ ਫੰਕਸ਼ਨਾਂ ਨਾਲ ਬਦਲੋ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰ ਨਾਮ _ 1). \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\n ਕਦਮ ਦਰ ਕਦਮ ਵਿਆਖਿਆ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿਹਡ਼ੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ ਤਾਂ ਜੋ ਅਜੇ ਵੀ ਕੋਈ ਨਾਮ _ 2 ਲਿਖੇ ਬਿਨਾਂ, ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾ ਸਕੇ। \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'...\'................................................................................................................................................................................food.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਖੇਡ ਵਿੱਚ ਭੋਜਨ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.snake = ਸੱਪ\\n self.size = 10\\n self.position = self.randomPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ\\nself.draw () \\n\\n #ਭੋਜਨ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰਾਈ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n #ਭੋਜਨ ਲਈ ਇੱਕ ਬੇਤਰਤੀਬ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਬੇਤਰਤੀਬ ਸਥਿਤੀ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸੱਚਃ \\nx = random.randint (1,48) *self.size \\n y = random.randint (1,48) * self.size \\n ਸਥਿਤੀ = (x, y, x + self.size, y + self.size) \\n ਜੇਕਰ ਨਹੀਂ ਤਾਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸਥਿਤੀ ਉੱਤੇ ਸੱਪ ਦਾ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): self.snake.body: \\n ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਜੇਕਰself.overlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਸੱਚਾ \\n ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਗਲਤ \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਦੋ ਆਇਤਾਕਾਰ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ \\n ਡਿਫ ਓਵਰਲੈਪ ਹੁੰਦੇ ਹਨ (ਸੈਲਫ, ਰੇਕ 1, ਰੇਕ 2): \\n ਓਵਰਲੈਪ = (\\nRect1 [0] <Rect2 [2] \\n ਅਤੇ Rect1 [2]> Rect2 [0] \\n ਅਤੇ Rect1 [1] <Rect2 [3] \\n ਅਤੇ Rect1 [3]> Rect2 [1] \\n) \\n ਵਾਪਸੀ ਓਵਰਲੈਪ \\n\\n #ਨਵਾਂ ਭੋਜਨ ਤਿਆਰ ਕਰੋnewFood (self): \\n self.position = self.randomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ \',\'ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ\' ਸੱਪ ਨੂੰ ਟੀਕੇ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਤ ਕਰੋ \'ਸੱਪ ਨੂੰ ਸੱਪ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ\' ਭੋਜਨ ਨੂੰ ਨਿਰਯਾਤ ਕਰੋ \'ਇਹ ਸ਼੍ਰੇਣੀ ਖੇਡ ਤਰਕ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ।ਰੂਟ, ਮੁਸ਼ਕਲ = 1): \\n self.root = ਰੂਟ \\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg =\\\'ਕਾਲਾ\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj =snake.Snake (self.canvas, ਮੁਸ਼ਕਲ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj, ਮੁਸ਼ਕਲ) \\n self.score = 0\\n self.highScore =self.retrieveHighScore () \\n self.gameOver = ਗਲਤ \\n self.paused = ਗਲਤ \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.drawGridLines () \\nself.updateGameState () \\n\\n #ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਸ ਨੂੰ ਸੰਭਾਲੋ\\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ (\\\'ਅੱਪ\',\\\'ਡਾਊਨ\',\\\'ਲੈਫਟ\' ਵਿੱਚ ਕੁੰਜੀ ਹੋਵੇ,\\ \'ਸਹੀ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n elif ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n elif ਕੁੰਜੀ = =\\\'r\': \\n self.resetGame () \\n #ਖੇਡ ਨੂੰ ਅੱਪਡੇਟ ਕਰੋਰਾਜ \\n ਡਿਫ ਅੱਪਡੇਟਗੈਮ ਸਟੇਟ (ਸੈਲਫ): \\n ਜੇਕਰ ਨਹੀਂ self.gameOver ਅਤੇ ਨਹੀਂ self.paused: \\n self.snakeObj.move () \\n ਹੈਡ = self.snakeObj.body [0] \\n ਜੇਕਰself.snakeObj.checkCollision () ਜਾਂ ਕੋਈ ਵੀ (ਹਿੱਸਾ = = self.snakeObj.body [1:] ਵਿੱਚ ਹਿੱਸੇ ਲਈ ਸਿਰ): \\n self.gameOver=True \\n self.showMessage ("ਗੇਮ ਓਵਰ","ਗੇਮਓਵਰ") \\n elif self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.newFood () \\n self.score + = 1\\n self.saveScore () \\nself.updateScore () \\n ਜੇਕਰ self.score> self.highScore: \\n self.highScore = self.score \\n self.root.after (self.getUpdateInterval (),self.updateGameState) \\n\\n #ਮੁਸ਼ਕਲ ਦੇ ਅਧਾਰ ਉੱਤੇ ਅੱਪਡੇਟ ਅੰਤਰਾਲ ਪ੍ਰਾਪਤ ਕਰੋ \\n ਡੇਫ ਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸੈਲਫ): \\n ਬੇਸ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ ਘਟਾਓ =ਇੰਟ (self.score/10) * 10 * self.difficulty \\n ਰਿਟਰਨ ਨਾਮ _ 1 (ਅਧਾਰ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ ਘਟਾਓ, 50) \\n\\n #ਖੇਡ ਨੂੰ ਰੋਕਣਾ \\n ਡਿਫ ਪੋਜ਼ ਗੇਮ (ਸੈਲਫ): \\nself.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showMessage ("ਰੁਕਿਆ", "ਰੁਕਿਆ") \\n ਹੋਰਃ \\n self.canvas.delete ("ਰੁਕਿਆ") \\n #ਖੇਡ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ \\nਡਿਫ ਰੀਸੈੱਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\nself.canvas.delete ("ਗੇਮਓਵਰ") \\n self.snakeObj.resetSnake () \\n self.foodObj.newFood () \\n\\n #ਗਰਿੱਡ ਲਾਈਨਾਂ ਬਣਾਓ \\n ਡੈੱਫ ਡ੍ਰਾ ਗਰਿੱਡ ਲਾਈਨਾਂ (ਸਵੈ): \\n ਲਈ i \',\' ਫਾਈਲਲੋਡ ਕੀਤਾ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\n ਰੁਕਾਵਟਾਂ ਅਤੇ ਉਦੇਸ਼ਾਂ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਦੇ ਹੋਏ, ਇੱਥੇ main.py ਫਾਈਲ ਦਾ ਇੱਕ ਸੰਭਵ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣ ਹੈਃ \\nimport tkintertk\\nimport ਖੇਡ \\n\\n ਕਲਾਸ ਸਨੈਕ ਗੇਮ ਐਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ): \\n self.root = ਰੂਟ\\n self.root. ਸਿਰਲੇਖ ("ਸੱਪ ਗੇਮ") \\nself.root.configure (bg = "ਕਾਲਾ") \\n\\n self.menuFrame = tk.Frame (ਰੂਟ, bg = "ਕਾਲਾ") \\n self.menuFrame.pack () \\n\\n self.startButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਸਟਾਰਟ ਗੇਮ", ਕਮਾਂਡ = self.startGame) \\n self.startButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਬਦਲੋ", ਕਮਾਂਡ = self.showChangeDifficultyDialog) \\n self.difficultyButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.gridToggleButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਟੋਗਲ ਗਰਿੱਡ", ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਫਰੇਮ ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ। \',\' ਕਰੰਟ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਸੱਪ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ \\n ਕਲਾਸ ਸੱਪਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n \',\' ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\nself.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton. ਪੈਕ (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame,ਪਾਠ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਪਾਸੇ = tk.LEFT) \\n self.difficulty = 1 \\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObjਖੇਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame.destroy () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\nself.gameFrame.pack () \\n self.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ =tk.Toplevel (self.root) \\n dialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲ= tk.Entry (ਡਾਇਲਾਗ) \\n difficultyEntry.grid (ਕਤਾਰ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਠੀਕ ਹੈ", ਕਮਾਂਡ = ਲੈਂਬਡਾਃself.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਕਤਾਰ = 1, ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡਿਫ ਅਪਡੇਟ ਮੁਸ਼ਕਿਲ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty =ਮਿੰਟ (ਨਾਮ _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\n self.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡਿਫ ਪੋਜ਼ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\nself.gameObj. pauzGame () \\n\\n ਡਿਫ ਟੌਗਲ ਗਰਿੱਡ (ਸੈਲਫ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp =ਸੱਪ ਗੇਮ ਐਪ (ਰੂਟ)\\nroot.mainloop () \\n main.py ਦੇ ਇਸ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਬਦਲਣ ਦੀ ਯੋਗਤਾ ਸ਼ਾਮਲ ਹੈ।\\n\\n ###ਜਵਾਬਃ ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰੋਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰ ਨਾਮ _ 1). \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton =tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame,ਟੈਕਸਟ = "ਛੱਡੋ", ਕਮਾਂਡ = root.quit) \\n self.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲਃ 1",bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\n self.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂਸਟਾਰਟਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\nself.gameObj = game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\ndialog.title ("ਮੁਸ਼ਕਲ ਬਦਲੋ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10):"). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂਃ \\n-ਗਰਾਫੀਕਲ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ (ਜੀ. ਯੂ. ਆਈ.):\\n ਕਮੀਆਂਃ \\n-ਸਿਰਫ਼ ਟਕਿੰਟਰ-ਕਸਟਮ ਜੀ. ਯੂ. ਆਈ. ਤੱਤਾਂ ਲਈ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ \\n-ਕਸਟਮ ਕੰਪੋਨੈਂਟ ਜਾਂ ਲੇਆਉਟ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n ਨਾਮ _ 2ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਿਟੀ ਦੀ ਘਾਟ-ਸਾਰੇ GUI ਤੱਤਾਂ ਨੂੰ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਐਨੀਮੇਸ਼ਨ ਜਾਂ ਪਰਿਵਰਤਨ ਪ੍ਰਭਾਵ ਨੂੰ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ\\n-ਡਾਟਾਭੰਡਾਰਨਃ \\n ਕਮੀਆਂਃ \\n-ਕੋਈ ਡਾਟਾਬੇਸ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ ਨਹੀਂ-ਪੁੱਛਗਿੱਛ ਸਤਰ ਨੂੰ ਹੱਥੀਂ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਸੁਰੱਖਿਅਤ ਜਾਂ ਕੁਸ਼ਲ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂਢੰਗ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਖਾਸ ਡੇਟਾ ਲਈ ਡਾਟਾਬੇਸ ਨੂੰ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ\\n\\n-ਸੰਭਾਲਣ ਵਿੱਚ ਗਲਤੀਃ \\n ਨੁਕਸ \\n-ਉਪਭੋਗਤਾ ਲਈ ਕੋਈ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹੇ ਨਹੀਂਗਲਤੀਆਂ \\n-ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਕੋਈ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ/NAME _ 2 ਬਲਾਕਾਂ ਲਈ ਬਲਾਕ ਨੂੰ ਛੱਡ ਕੇ ਜੋ ਗਲਤੀਆਂ ਪੈਦਾ ਕਰ ਸਕਦੇ ਹਨ \\n-ਨਹੀਂਕਿਸੇ ਫਾਇਲ ਜਾਂ ਡਾਟਾਬੇਸ ਵਿੱਚ ਗਲਤੀਆਂ ਦਾ ਲੌਗਿੰਗ \\n\\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨਃ \\n ਨੁਕਸ \\n-ਮਾਡਯੂਲਾਂ ਵਿੱਚ ਕੋਈ ਸਪਸ਼ਟ ਵੱਖ ਨਹੀਂ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹਨ \\n-ਨਹੀਂਹੋਰ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੌਜੂਦਾ ਮੈਡਿਊਲਾਂ ਦੀ ਮੁਡ਼ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਮਰੱਥਾ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨ ਦੀ ਘਾਟ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹੈ \\n-ਵਰਤਣ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪ੍ਰਿੰਸੀਪਲ \\n\\n-ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨਃ \\n ਖਾਮੀਆਂਃ \\n-ਕੋਈ ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨ ਨਹੀਂ-ਜੇ ਗਲਤ ਇੰਪੁੱਟ ਹਨ ਤਾਂ NAME _ 2 ਕਰੈਸ਼ ਹੋ ਸਕਦਾ ਹੈ।ਦਿੱਤਾ ਗਿਆ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n-\'ਤੇ ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਰੱਦ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਸਰੋਤ \', ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਨਾਮ _ 2 (ਹਰੇਕ ਫਾਇਲ 2048 ਅੱਖਰ ਨਾਮ _ 1 ਹੈ)। \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾਸੁਧਾਰ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿਓ \',\' ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂਃ \\n-ਗਰਾਫੀਕਲ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ (ਜੀ. ਯੂ. ਆਈ.):\\n ਕਮੀਆਂਃ \\n-ਸਿਰਫ਼ ਟਕਿੰਟਰ-ਕਸਟਮ ਜੀ. ਯੂ. ਆਈ. ਤੱਤਾਂ ਲਈ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ \\n-ਕਸਟਮ ਕੰਪੋਨੈਂਟ ਜਾਂ ਲੇਆਉਟ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n ਨਾਮ _ 2ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਿਟੀ ਦੀ ਘਾਟ-ਸਾਰੇ GUI ਤੱਤਾਂ ਨੂੰ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਐਨੀਮੇਸ਼ਨ ਜਾਂ ਪਰਿਵਰਤਨ ਪ੍ਰਭਾਵ ਨੂੰ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ\\n-ਡਾਟਾਭੰਡਾਰਨਃ \\n ਕਮੀਆਂਃ \\n-ਕੋਈ ਡਾਟਾਬੇਸ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ ਨਹੀਂ-ਪੁੱਛਗਿੱਛ ਸਤਰ ਨੂੰ ਹੱਥੀਂ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਸੁਰੱਖਿਅਤ ਜਾਂ ਕੁਸ਼ਲ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂਢੰਗ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਖਾਸ ਡੇਟਾ ਲਈ ਡਾਟਾਬੇਸ ਨੂੰ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ\\n\\n-ਸੰਭਾਲਣ ਵਿੱਚ ਗਲਤੀਃ \\n ਨੁਕਸ \\n-ਉਪਭੋਗਤਾ ਲਈ ਕੋਈ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹੇ ਨਹੀਂਗਲਤੀਆਂ \\n-ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਕੋਈ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ/NAME _ 2 ਬਲਾਕਾਂ ਲਈ ਬਲਾਕ ਨੂੰ ਛੱਡ ਕੇ ਜੋ ਗਲਤੀਆਂ ਪੈਦਾ ਕਰ ਸਕਦੇ ਹਨ \\n-ਨਹੀਂਕਿਸੇ ਫਾਇਲ ਜਾਂ ਡਾਟਾਬੇਸ ਵਿੱਚ ਗਲਤੀਆਂ ਦਾ ਲੌਗਿੰਗ \\n\\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨਃ \\n ਨੁਕਸ \\n-ਮਾਡਯੂਲਾਂ ਵਿੱਚ ਕੋਈ ਸਪਸ਼ਟ ਵੱਖ ਨਹੀਂ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹਨ \\n-ਨਹੀਂਹੋਰ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੌਜੂਦਾ ਮੈਡਿਊਲਾਂ ਦੀ ਮੁਡ਼ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਮਰੱਥਾ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨ ਦੀ ਘਾਟ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹੈ \\n-ਵਰਤਣ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪ੍ਰਿੰਸੀਪਲ \\n\\n-ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨਃ \\n ਨੁਕਸ-ਕੋਈ ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨ ਨਹੀਂ-ਜੇ ਗਲਤ ਇੰਪੁੱਟ ਹਨ ਤਾਂ NAME _ 2 ਕਰੈਸ਼ ਹੋ ਸਕਦਾ ਹੈ।ਦਿੱਤਾ ਗਿਆ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n-\'ਤੇ ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਰੱਦ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਸਰੋਤ ##ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਕੇਵਲ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ NAME _ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1)। \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਲੋਡ਼ੀਂਦੇ ਅੰਕਡ਼ੇ ਮੁਹੱਈਆ ਕਰਵਾਏ ਜਾਂਦੇ ਹਨ। ਸੁਧਾਰ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿਓਃ ਜਵਾਬਃ ਪ੍ਰਸਤਾਵਃ \\n-ਇੱਕ ਸ਼ਾਮਲ ਕਰੋਖੇਡ ਅਵਸਥਾ (ਮੈਟ੍ਰਿਕਸ) ਦੀ ਗਰਾਫੀਕਲ ਨੁਮਾਇੰਦਗੀ ਨੂੰ ਛਾਪਣ ਲਈ ਫੰਕਸ਼ਨ। \\n-ਮਲਟੀਪਲ ਨੂੰ ਬਦਲ ਕੇ NAME _ 2 ਦੀ ਪਡ਼੍ਹਨਯੋਗਤਾ ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਇੱਕ ਟਰਨਰੀ ਅਪਰੇਟਰ ਦੇ ਨਾਲ ਜੇਕਰ-ਹੋਰ ਬਿਆਨ। \\n-ਇੱਕ ਸੀਮਤ ਅਵਸਥਾ ਦੇ ਨਾਲ ਮੌਜੂਦਾ ਸਥਿਤੀ ਅਧਾਰਤ ਫੈਸਲੇ ਲੈਣ ਨੂੰ ਬਦਲ ਕੇ AI ਵਿੱਚ ਇੱਕ ਬੱਗ ਨੂੰ ਠੀਕ ਕਰੋ।ਮਸ਼ੀਨ। \\n-AI ਦੇ ਮੌਜੂਦਾ ਲਾਗੂਕਰਨ ਨੂੰ ਹਟਾਓ ਅਤੇ ਇਸ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲ ਅਤੇ ਸ਼ਕਤੀਸ਼ਾਲੀ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਐਲਗੋਰਿਦਮ ਨਾਲ ਬਦਲੋ। \\n-ਸਭ ਨੂੰ ਹਟਾਓਬੇਲੋਡ਼ਾ ਨਾਮ _ 2 ਅਤੇ ਡਾਟਾ ਜੋ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ। \\n-ਮੌਜੂਦਾ ਅਸਿੰਕਰੋਨਸ ਈਵੈਂਟ ਲੂਪ ਨੂੰ ਹੋਰ ਨਾਲ ਬਦਲੋਕੁਸ਼ਲ ਅਤੇ ਸ਼ਕਤੀਸ਼ਾਲੀ ਇੱਕ। \\n-ਮੌਜੂਦਾ ਮੈਟ੍ਰਿਕਸ ਹੇਰਾਫੇਰੀ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲ ਫੰਕਸ਼ਨਾਂ ਨਾਲ ਬਦਲੋ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰ ਨਾਮ _ 1). \\n-ਨਾਮ _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\n ਕਦਮ ਦਰ ਕਦਮ ਵਿਆਖਿਆ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿਹਡ਼ੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਬਿਨਾਂ ਕੋਈ ਨਾਮ _ 2 ਲਿਖੇ। \\n, \'ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂਃ \\n-ਗਰਾਫੀਕਲ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ (ਜੀ. ਯੂ. ਆਈ.):\\n ਕਮੀਆਂਃ \\n-ਸਿਰਫ਼ ਟਕਿੰਟਰ-ਕਸਟਮ ਜੀ. ਯੂ. ਆਈ. ਤੱਤਾਂ ਲਈ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ \\n-ਕਸਟਮ ਕੰਪੋਨੈਂਟ ਜਾਂ ਲੇਆਉਟ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n ਨਾਮ _ 2ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਿਟੀ ਦੀ ਘਾਟ-ਸਾਰੇ GUI ਤੱਤਾਂ ਨੂੰ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਐਨੀਮੇਸ਼ਨ ਜਾਂ ਪਰਿਵਰਤਨ ਪ੍ਰਭਾਵ ਨੂੰ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ\\n-ਡਾਟਾਭੰਡਾਰਨਃ \\n ਕਮੀਆਂਃ \\n-ਕੋਈ ਡਾਟਾਬੇਸ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ ਨਹੀਂ-ਪੁੱਛਗਿੱਛ ਸਤਰ ਨੂੰ ਹੱਥੀਂ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਸੁਰੱਖਿਅਤ ਜਾਂ ਕੁਸ਼ਲ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂਢੰਗ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਖਾਸ ਡੇਟਾ ਲਈ ਡਾਟਾਬੇਸ ਨੂੰ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ\\n\\n-ਸੰਭਾਲਣ ਵਿੱਚ ਗਲਤੀਃ \\n ਨੁਕਸ \\n-ਉਪਭੋਗਤਾ ਲਈ ਕੋਈ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹੇ ਨਹੀਂਗਲਤੀਆਂ \\n-ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਕੋਈ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ/NAME _ 2 ਬਲਾਕਾਂ ਲਈ ਬਲਾਕ ਨੂੰ ਛੱਡ ਕੇ ਜੋ ਗਲਤੀਆਂ ਪੈਦਾ ਕਰ ਸਕਦੇ ਹਨ \\n-ਨਹੀਂਕਿਸੇ ਫਾਇਲ ਜਾਂ ਡਾਟਾਬੇਸ ਵਿੱਚ ਗਲਤੀਆਂ ਦਾ ਲੌਗਿੰਗ \\n\\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨਃ \\n ਨੁਕਸ \\n-ਮਾਡਯੂਲਾਂ ਵਿੱਚ ਕੋਈ ਸਪਸ਼ਟ ਵੱਖ ਨਹੀਂ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹਨ \\n-ਨਹੀਂਹੋਰ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੌਜੂਦਾ ਮੈਡਿਊਲਾਂ ਦੀ ਮੁਡ਼ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਮਰੱਥਾ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨ ਦੀ ਘਾਟ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹੈ \\n-ਵਰਤਣ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪ੍ਰਿੰਸੀਪਲ \\n\\n-ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨਃ \\n ਨੁਕਸ-ਕੋਈ ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨ ਨਹੀਂ-ਜੇ ਗਲਤ ਇੰਪੁੱਟ ਹਨ ਤਾਂ NAME _ 2 ਕਰੈਸ਼ ਹੋ ਸਕਦਾ ਹੈ।ਦਿੱਤਾ ਗਿਆ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n-\'ਤੇ ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਰੱਦ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਸਰੋਤ ##ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਸਿਰਫ਼ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ NAME _ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1)। \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਲੋਡ਼ੀਂਦੇ ਅੰਕਡ਼ੇ ਮੁਹੱਈਆ ਕਰਵਾਏ ਜਾਂਦੇ ਹਨ। ਸੁਧਾਰ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿਓ।ਕਮਾਂਡ = self.toggleGrid) \\n self.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ",ਕਮਾਂਡ = self.pauseGame) \\n self.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਬੰਦ ਕਰੋ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ ਕਮਾਂਡ = self.toggleGrid) \\nself.gridToggleButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.pauseButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਵਿਰਾਮ", ਕਮਾਂਡ = self.pauseGame) \\nself.pauseButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.quitButton = tk.Button (self.menuFrame, ਟੈਕਸਟ = "ਕੁਇਟ", ਕਮਾਂਡ = root.quit) \\nself.quitButton.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficultyLabel = tk.Label (self.menuFrame, ਟੈਕਸਟ = "ਮੁਸ਼ਕਿਲਃ 1", bg = "ਕਾਲਾ", fg = "ਚਿੱਟਾ") \\nself.difficultyLabel.pack (ਸਾਈਡ = tk.LEFT) \\n\\n self.difficulty = 1\\n self.gameFrame = ਕੋਈ ਨਹੀਂ self.gameObj = ਕੋਈ ਨਹੀਂ \\n\\nDef ਸਟਾਰਟ ਗੇਮ (ਸੈਲਫ): \\n ਜੇਕਰself.gameFrame: \\n self.gameFrame. ਨਸ਼ਟ ਕਰੋ () \\n self.gameFrame = tk.Frame (self.root, bg = "ਕਾਲਾ") \\n self.gameFrame. ਪੈਕ () \\n self.gameObj =game.Game (self.gameFrame, self.difficulty) \\n\\n ਡਿਫ ਸ਼ੋਅChangeDificultyDialog (self): \\n ਡਾਇਲਾਗ = tk.Toplevel (self.root) \\n dialog.title ("ਬਦਲੋ"ਮੁਸ਼ਕਲ ") \\n tk.Label (ਡਾਇਲਾਗ, ਟੈਕਸਟ =" ਮੁਸ਼ਕਲ ਦਰਜ ਕਰੋ (1-10): "). ਗਰਿੱਡ (ਕਤਾਰ = 0, ਕਾਲਮ = 0) \\n ਮੁਸ਼ਕਲਇੰਟਰੀ = tk.Entry (ਡਾਇਲਾਗ) \\ndifficultyEntry.grid (ਰੋ = 0, ਕਾਲਮ = 1) \\n tk.Button (ਡਾਇਲਾਗ, ਟੈਕਸਟ = "OK", ਕਮਾਂਡ = lambda: self.updateDifficulty (ਇੰਟ (difficultyEntry.get ()))). ਗਰਿੱਡ (ਰੋ = 1,ਕਾਲਮ = 0, ਕਾਲਮਸਪੈਨ = 2) \\n\\n ਡੇਫ ਅੱਪਡੇਟ ਕਠਿਨਾਈ (ਸਵੈ, ਮੁਸ਼ਕਲ): \\n self.difficulty = ਘੱਟੋ ਘੱਟ (NAME _ 1 (1, ਮੁਸ਼ਕਲ), 10) \\nself.difficultyLabel.config (ਟੈਕਸਟ = f "ਮੁਸ਼ਕਲਃ {self.difficulty}") \\n\\n ਡੇਫ ਪੋਸਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.pauseGame () \\n\\n ਡੇਫਟੌਗਲ ਗਰਿੱਡ (ਸਵੈ): \\n ਜੇਕਰ self.gameObj: \\n self.gameObj.toggleGrid () \\n\\nroot = tk.Tk () \\napp = SnackGameApp (root)\\nroot.mainloop () \\n ਇਸ ਦਾ ਅੱਪਡੇਟ ਕੀਤਾ ਸੰਸਕਰਣmain.py ਵਿੱਚ ਹੁਣ ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਦਰਿਸ਼ਗੋਚਰਤਾ ਨੂੰ ਟੋਗਲ ਕਰਨ ਦੀ ਸਮਰੱਥਾ ਸ਼ਾਮਲ ਹੈਃ main.py ਦੇ ਅੱਪਡੇਟ ਕੀਤੇ ਸੰਸਕਰਣ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਨੂੰ ਬਦਲਣ ਅਤੇ ਗਰਿੱਡ ਦੀ ਦਿੱਖ ਨੂੰ ਬਦਲਣ ਦੀ ਸਮਰੱਥਾ। ਇਸ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਕਮਾਂਡ, "ਖੇਡ ਨੂੰ ਰੋਕਣਾ" ਵੀ ਸ਼ਾਮਲ ਹੈ, ਜੋ ਖੇਡ ਨੂੰ ਰੋਕਦੀ ਹੈ।ਜਦੋਂ ਸੱਦਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਮੇਨੂ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2, ਸਟਾਰਟ ਬਟਨ, ਮੁਸ਼ਕਲ ਬਟਨ, ਗਰਿੱਡਟੌਗਲ ਬਟਨ, ਵਿਰਾਮ ਬਟਨ, ਅਤੇ ਕੁਇੱਟਬਟਨ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।ਇਸ ਤੋਂ ਇਲਾਵਾ, ਮੁਸ਼ਕਲ ਦੇ ਪੱਧਰ ਅਤੇ ਗੇਮ ਫਰੇਮ ਲਈ ਲੇਬਲ ਬਣਾਉਣ ਲਈ ਨਾਮ _ 2 ਜੋਡ਼ਿਆ ਗਿਆ ਹੈ, ਨਾਲ ਹੀ ਗੇਮ ਨੂੰ ਨਸ਼ਟ ਕਰਨ ਲਈ ਨਾਮ _ 2 ਵੀ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।ਜਦੋਂ ਸਟਾਰਟ ਬਟਨ ਦਬਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਫਰੇਮ ##ਨਿਰਦੇਸ਼ਃ ਮੌਜੂਦਾ snake.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n #ਇਹ ਕਲਾਸ ਦਰਸਾਉਂਦੀ ਹੈਖੇਡ ਵਿੱਚ ਸੱਪਃ \\n _ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਮੁਸ਼ਕਲ): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\nself.body = self.initialPosition () \\n self.difficulty = ਮੁਸ਼ਕਲ \\n self.draw () \\n\\n #ਕੈਨਵਸ ਉੱਤੇ ਸੱਪ ਨੂੰ ਖਿੱਚੋ \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\nself.canvas.delete ("ਸੱਪ") \\n ਹਿੱਸੇ ਲਈ self.body: \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "ਸੱਪ") \\n\\n #ਦਿਸ਼ਾ ਬਦਲੋਸੱਪ ਦੀ \\n ਡਿਫ ਤਬਦੀਲੀ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ ਦਿਸ਼ਾ = {\\\'ਉੱਪਰ\':\\\'ਹੇਠਾਂ\',\\\'ਹੇਠਾਂ\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\ \'ਖੱਬਾ\'} \\n ਜੇਕਰ ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ! = ਉਲਟ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵਾਂ ਦਿਸ਼ਾਵਾਂ \\n\\n #ਸੱਪ ਨੂੰ ਕੈਨਵਸ ਉੱਤੇ ਹਿਲਾਓ \\n ਡਿਫ ਮੂਵ (ਸਵੈ,ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n x1, y1, x2, y2 = ਹੈਡ \\n ਦਿਸ਼ਾਵਾਂ = {\\n\\ \'ਅੱਪ\': (x1, y1-self.size, x2, y2-self.size), \\n \'ਡਾਊਨ\': (x1, y1 +self.size, x2, y2 + self.size), \\n \'ਖੱਬਾ\': (x1-self.size, y1, x2-self.size, y2), \\n \'ਸੱਜਾ\': (x1 + self.size, y1, x2 + self.size, y2) \\nਨਿਊਹੈੱਡ = ਦਿਸ਼ਾਵਾਂ [self.direction] \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਲੇਨ (self.body)> 3: \\nself.canvas.delete (self.canvas.find_withtag ("ਸੱਪ") [-1]) \\n self.body.pop (-1) \\n self.draw () \\n\\n #ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਸੱਪ ਸਰਹੱਦ ਨਾਲ ਟਕਰਾ ਗਿਆ ਹੈ।ਚੈੱਕ ਟੱਕਰ (ਸਵੈ): \\n x1, y1, x2, y2 = self.body [0] \\n ਰਿਟਰਨ x1 <0 ਜਾਂ x2> 500 ਜਾਂ y1 <0 ਜਾਂ y2> 500 \\n\\n #ਸੱਪ ਦਾ ਆਕਾਰ ਵਧਾਓਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n\\n #ਸੱਪ ਦੀ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਪੈਦਾ ਕਰੋ \\n ਡਿਫ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸੈਲਫ): \\n x = 25 * self.size \\n y = 25 *self.size \\n ਰਿਟਰਨ [(x, y, x + self.size, y + self.size), \\n (x-self.size, y, x, y + self.size), \\n (x-2 * self.size, y, x-self.size, y +self.size)] \\n\\n #ਸੱਪ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ \\n ਡਿਫ ਰੀਸੈੱਟ ਉੱਤੇ ਰੀਸੈੱਟ ਕਰੋ ਸੱਪਃ \\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.initialPosition () \\nself.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\n ###ਜਵਾਬਃ ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਨਾਮ _ 2 ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\n ##ਪ੍ਰਤੀਕਿਰਿਆਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂਃ \\n-ਗਰਾਫੀਕਲ ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ (ਜੀ. ਯੂ. ਆਈ.):\\n ਕਮੀਆਂਃ \\n-ਸਿਰਫ਼ ਟਕਿੰਟਰ-ਕਸਟਮ ਜੀ. ਯੂ. ਆਈ. ਤੱਤਾਂ ਲਈ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ \\n-ਕਸਟਮ ਕੰਪੋਨੈਂਟ ਜਾਂ ਲੇਆਉਟ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n ਨਾਮ _ 2ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਿਟੀ ਦੀ ਘਾਟ-ਸਾਰੇ GUI ਤੱਤਾਂ ਨੂੰ ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਐਨੀਮੇਸ਼ਨ ਜਾਂ ਪਰਿਵਰਤਨ ਪ੍ਰਭਾਵ ਨੂੰ ਜੋਡ਼ਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ\\n-ਡਾਟਾਭੰਡਾਰਨਃ \\n ਕਮੀਆਂਃ \\n-ਕੋਈ ਡਾਟਾਬੇਸ ਐਬਸਟਰੈਕਸ਼ਨ ਲੇਅਰ ਨਹੀਂ-ਪੁੱਛਗਿੱਛ ਸਤਰ ਨੂੰ ਹੱਥੀਂ ਬਣਾਉਣਾ ਚਾਹੀਦਾ ਹੈ \\n-ਸੁਰੱਖਿਅਤ ਜਾਂ ਕੁਸ਼ਲ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂਢੰਗ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਖਾਸ ਡੇਟਾ ਲਈ ਡਾਟਾਬੇਸ ਨੂੰ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ\\n\\n-ਸੰਭਾਲਣ ਵਿੱਚ ਗਲਤੀਃ \\n ਨੁਕਸ \\n-ਉਪਭੋਗਤਾ ਲਈ ਕੋਈ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹੇ ਨਹੀਂਗਲਤੀਆਂ \\n-ਰਨਟਾਈਮ ਗਲਤੀਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਕੋਈ ਯੋਗਤਾ ਨਹੀਂ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਕੋਈ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ/NAME _ 2 ਬਲਾਕਾਂ ਲਈ ਬਲਾਕ ਨੂੰ ਛੱਡ ਕੇ ਜੋ ਗਲਤੀਆਂ ਪੈਦਾ ਕਰ ਸਕਦੇ ਹਨ \\n-ਨਹੀਂਕਿਸੇ ਫਾਇਲ ਜਾਂ ਡਾਟਾਬੇਸ ਵਿੱਚ ਗਲਤੀਆਂ ਦਾ ਲੌਗਿੰਗ \\n\\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨਃ \\n ਨੁਕਸ \\n-ਮਾਡਯੂਲਾਂ ਵਿੱਚ ਕੋਈ ਸਪਸ਼ਟ ਵੱਖ ਨਹੀਂ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹਨ \\n-ਨਹੀਂਹੋਰ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੌਜੂਦਾ ਮੈਡਿਊਲਾਂ ਦੀ ਮੁਡ਼ ਵਰਤੋਂ ਕਰਨ ਦੀ ਸਮਰੱਥਾ \\n NAME _ 2 ਮੁੱਦੇਃ \\n-ਮਾਡਯੂਲਰਾਈਜ਼ੇਸ਼ਨ ਦੀ ਘਾਟ-ਸਾਰੇ NAME _ 2 ਇੱਕ ਫਾਈਲ ਵਿੱਚ ਹੈ \\n-ਵਰਤਣ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਆਬਜੈਕਟ-ਓਰੀਐਂਟਡ ਪ੍ਰੋਗਰਾਮਿੰਗ ਪ੍ਰਿੰਸੀਪਲ \\n\\n-ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨਃ \\n ਨੁਕਸ-ਕੋਈ ਇੰਪੁੱਟ ਵੈਲਿਡੇਸ਼ਨ ਨਹੀਂ-ਜੇ ਗਲਤ ਇੰਪੁੱਟ ਹਨ ਤਾਂ NAME _ 2 ਕਰੈਸ਼ ਹੋ ਸਕਦਾ ਹੈ।ਦਿੱਤਾ ਗਿਆ \\n ਨਾਮ _ 2 ਮੁੱਦੇਃ \\n-ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਉਪਭੋਗਤਾ-ਅਨੁਕੂਲ ਗਲਤੀ ਸੰਦੇਸ਼ ਪ੍ਰਦਾਨ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂ \\n-\'ਤੇ ਗਲਤ ਇੰਪੁੱਟ ਨੂੰ ਰੱਦ ਕਰਨ ਦੀ ਕੋਈ ਸਮਰੱਥਾ ਨਹੀਂਸਰੋਤ ##ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਕੇਵਲ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ NAME _ 2 (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1)। \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਲੋਡ਼ੀਂਦੇ ਅੰਕਡ਼ੇ ਮੁਹੱਈਆ ਕਰਵਾਏ ਜਾਂਦੇ ਹਨ। ਸੁਧਾਰ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿਓਃ ਜਵਾਬਃ ਪ੍ਰਸਤਾਵਃ \\n-ਇੱਕ ਸ਼ਾਮਲ ਕਰੋਖੇਡ ਅਵਸਥਾ (ਮੈਟ੍ਰਿਕਸ) ਦੀ ਗਰਾਫੀਕਲ ਨੁਮਾਇੰਦਗੀ ਨੂੰ ਛਾਪਣ ਲਈ ਫੰਕਸ਼ਨ। \\n-ਮਲਟੀਪਲ ਨੂੰ ਬਦਲ ਕੇ NAME _ 2 ਦੀ ਪਡ਼੍ਹਨਯੋਗਤਾ ਅਤੇ ਭਰੋਸੇਯੋਗਤਾ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਇੱਕ ਟਰਨਰੀ ਅਪਰੇਟਰ ਦੇ ਨਾਲ ਜੇਕਰ-ਹੋਰ ਬਿਆਨ। \\n-ਇੱਕ ਸੀਮਤ ਅਵਸਥਾ ਦੇ ਨਾਲ ਮੌਜੂਦਾ ਸਥਿਤੀ ਅਧਾਰਤ ਫੈਸਲੇ ਲੈਣ ਨੂੰ ਬਦਲ ਕੇ AI ਵਿੱਚ ਇੱਕ ਬੱਗ ਨੂੰ ਠੀਕ ਕਰੋ।ਮਸ਼ੀਨ। \\n-AI ਦੇ ਮੌਜੂਦਾ ਲਾਗੂਕਰਨ ਨੂੰ ਹਟਾਓ ਅਤੇ ਇਸ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲ ਅਤੇ ਸ਼ਕਤੀਸ਼ਾਲੀ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਐਲਗੋਰਿਦਮ ਨਾਲ ਬਦਲੋ। \\n-ਸਭ ਨੂੰ ਹਟਾਓਬੇਲੋਡ਼ਾ ਨਾਮ _ 2 ਅਤੇ ਡਾਟਾ ਜੋ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਜ਼ਰੂਰੀ ਨਹੀਂ ਹੈ। \\n-ਮੌਜੂਦਾ ਅਸਿੰਕਰੋਨਸ ਈਵੈਂਟ ਲੂਪ ਨੂੰ ਹੋਰ ਨਾਲ ਬਦਲੋਕੁਸ਼ਲ ਅਤੇ ਸ਼ਕਤੀਸ਼ਾਲੀ ਇੱਕ। \\n-ਮੌਜੂਦਾ ਮੈਟ੍ਰਿਕਸ ਹੇਰਾਫੇਰੀ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲ ਫੰਕਸ਼ਨਾਂ ਨਾਲ ਬਦਲੋ। ###ਨਿਰਦੇਸ਼ਃ ਉਦੇਸ਼ਃ ਸੁਧਾਰਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n-ਸੰਖੇਪ ਨਾਮ 2 (ਹਰੇਕ)ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 1). \\n-NAME _ 2 ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਪ੍ਰੋਜੈਕਟ। \\n ਕਦਮ ਦਰ ਕਦਮ ਸਮਝਾਓ ਕਿ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਦਾ ਅਜੇ ਵੀ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਬਿਨਾਂ ਕੋਈ ਨਾਮ _ 2 ਲਿਖੇ। \\n\\n\\n ##ਜਵਾਬਃ 1. ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਉਪਲੱਬਧ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਉੱਤੇ ਵਿਚਾਰ ਕਰੋ। \\n a. ਇੱਕ ਨਵੀਂ ਵਿਸ਼ੇਸ਼ਤਾ ਜੋਡ਼ਨਾਃ \\n i. ਵਿਸ਼ੇਸ਼ਤਾ ਦੇ ਟੀਚੇ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ।ਉਪਭੋਗਤਾ ਦੀ ਜ਼ਰੂਰਤ ਅਤੇ ਵਰਤੋਂ ਦੇ ਮਾਮਲੇਃ \\n iii. ਤਕਨੀਕੀ ਵਿਵਹਾਰਕਤਾ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰੋ \\n iv. ਲਾਗੂ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ \\n b. ਮੌਜੂਦਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚ ਸੁਧਾਰਃ\\n i. ਮੌਜੂਦਾ ਲਾਗੂਕਰਨ ਦਾ ਮੁੱਲਾਂਕਣ ਕਰਨਾਃ \\n ii. ਉਪਭੋਗਤਾ ਫੀਡਬੈਕ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾਃ \\n iii. ਤਕਨੀਕੀ ਵਿਵਹਾਰਕਤਾ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾਃ \\n iv. ਲਾਗੂਕਰਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ।ਵੇਰਵੇਃ \\n c. ਮੌਜੂਦਾ ਬੱਗਾਂ ਨੂੰ ਠੀਕ ਕਰਨਾਃ \\n i. ਬੱਗ ਦੀ ਪਛਾਣ ਕਰਨਾਃ \\n ii. ਉਪਭੋਗਤਾ ਫੀਡਬੈਕ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾਃ \\n iii. ਤਕਨੀਕੀ ਵਿਵਹਾਰਕਤਾ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨਾਃ \\n iv.ਲਾਗੂ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ \\nd. ਬੇਲੋਡ਼ੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ \\n i. ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਪਛਾਣ ਕਰੋ \\n ii. ਉਪਭੋਗਤਾ ਫੀਡਬੈਕ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰੋ \\n iii. ਮੁਲਾਂਕਣ ਕਰੋ।ਤਕਨੀਕੀ ਵਿਵਹਾਰਕਤਾਃ \\n iv. ਲਾਗੂ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ \\n2. ਸੂਚੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ, ਠੀਕ ਕਰਨ ਜਾਂ ਹਟਾਉਣ ਅਤੇ ਤਰਜੀਹ ਦੇਣ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਇੱਕ ਸੂਚੀ ਬਣਾਓਃ\\n a. ਉਪਭੋਗਤਾ ਦੀ ਜ਼ਰੂਰਤ ਅਤੇ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ \'ਤੇ ਵਿਚਾਰ ਕਰੋ। \\n i. ਹਰੇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਤਰਜੀਹ ਦਿਓਃ \\n b. ਤਕਨੀਕੀ ਵਿਵਹਾਰਕਤਾ\' ਤੇ ਵਿਚਾਰ ਕਰੋ। \\n i. ਤਰਜੀਹ ਨਿਰਧਾਰਤ ਕਰੋ।ਹਰੇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈਃ \\n c. ਲਾਗੂ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਉੱਤੇ ਵਿਚਾਰ ਕਰੋਃ \\n i. ਹਰੇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਤਰਜੀਹ ਦਿਓਃ \\n 3. ਹਰੇਕ ਵਿਸ਼ੇਸ਼ਤਾ ਦੇ ਅਨੁਸਾਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ।ਪਿਛਲੇ ਪਡ਼ਾਅ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਤਰਜੀਹਾਂਃ \\n a. ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਸ਼ਾਮਲ ਕਰੋ \\n i. ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਲਾਗੂ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਅਨੁਸਾਰ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਲਾਗੂ ਕਰੋਤਰਜੀਹ ਕਦਮਃ \\n b. ਮੌਜੂਦਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚ ਸੁਧਾਰਃ \\n i. ਇਸ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਲਾਗੂ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਅਨੁਸਾਰ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਲਾਗੂ ਕਰੋ।ਪਹਿਲਕਦਮੀ ਕਦਮਃ \\n c. ਮੌਜੂਦਾ ਬੱਗਾਂ ਨੂੰ ਠੀਕ ਕਰਨਾਃ \\n i. ਪਹਿਲਕਦਮੀ ਕਦਮ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਲਾਗੂ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਅਨੁਸਾਰ ਫਿਕਸ ਨੂੰ ਲਾਗੂ ਕਰੋ।d. ਬੇਲੋਡ਼ੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਹਟਾਓਃ \\n i. ਪਹਿਲਕਦਮੀ ਪਡ਼ਾਅ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਲਾਗੂ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਅਨੁਸਾਰ ਹਟਾਉਣ ਨੂੰ ਲਾਗੂ ਕਰੋ।ਤਬਦੀਲੀਆਂਃ \\n a. ਉਪਭੋਗਤਾ ਦੀ ਜ਼ਰੂਰਤ ਅਤੇ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਅਨੁਸਾਰ ਟੈਸਟ ਚਲਾਓਃ \\n b. \', ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ NAME _ 2 ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਨਾਲਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ, ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇ ਫਾਈਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ। ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ \n ']