ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ'] ", 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \'] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 7 \'] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \'] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜਲਦੀ ਕਰੋ। \\n \'] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸਹੀ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\nself.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (self\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.pyਵਰਜ਼ਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਸਿਰਫ਼. \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ। \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸਹੀ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\nself.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (self\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.pyਵਰਜ਼ਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਕੇਵਲ. \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸਹੀ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\nself.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (self\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.pyਵਰਜ਼ਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਕੇਵਲ. \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n ", \'. ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, \'ਰੀਫੈਕਟਰਿੰਗ\' ਨੂੰ ਤਰਜੀਹ ਦੇਣਾ, \'ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।3. 7. 9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6 ਹੈ)। \\n-ਇਸ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ. \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਕਦਮ ਦਰ ਕਦਮ ਸਮਝਾਓ ਕਿ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿਹਡ਼ੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨਸਤਿਕਾਰਯੋਗ, ਅਜੇ ਤੱਕ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ। \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸਹੀ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\nself.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (self\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.pyਵਰਜ਼ਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਕੇਵਲ. \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n ", \'. ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, \'ਰੀਫੈਕਟਰਿੰਗ\' ਨੂੰ ਤਰਜੀਹ ਦੇਣਾ, \'ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।3. 7. 9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6 ਹੈ)। \\n-ਇਸ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ. \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਕਦਮ ਦਰ ਕਦਮ ਸਮਝਾਓ ਕਿ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿਹਡ਼ੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨਆਦਰਯੋਗ, ਅਜੇ ਤੱਕ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \',\' ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸਹੀ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\nself.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (self\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.pyਵਰਜ਼ਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਕੇਵਲ. \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n ", \'. ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, \'ਰੀਫੈਕਟਰਿੰਗ\' ਨੂੰ ਤਰਜੀਹ ਦੇਣਾ, \'ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।3. 7. 9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6 ਹੈ)। \\n-ਇਸ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ. \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਕਦਮ ਦਰ ਕਦਮ ਸਮਝਾਓ ਕਿ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿਹਡ਼ੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨਆਦਰਯੋਗ, ਅਜੇ ਤੱਕ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \',\' ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ. \\n, \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਫਾਈਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\n ਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸਹੀ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\nself.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (self\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.pyਵਰਜ਼ਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਕੇਵਲ. \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n ", \'. ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, \'ਰੀਫੈਕਟਰਿੰਗ\' ਨੂੰ ਤਰਜੀਹ ਦੇਣਾ, \'ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।3. 7. 9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6 ਹੈ)। \\n-ਇਸ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ. \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਕਦਮ ਦਰ ਕਦਮ ਸਮਝਾਓ ਕਿ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿਹਡ਼ੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨਆਦਰਯੋਗ, ਅਜੇ ਤੱਕ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \',\' ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ. \\n, \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਫਾਈਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\n ਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਜੋਡ਼/ਸੁਧਾਰ/ਫਿਕਸਿੰਗ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ \\n-ਰੁਕਾਵਟਾਂਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਵਰਤਣ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\')। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ NAME_1.py ਲਿਖੋ।ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ। \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸਹੀ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\nself.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (self\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.pyਵਰਜ਼ਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਕੇਵਲ. \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n ", \'. ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, \'ਰੀਫੈਕਟਰਿੰਗ\' ਨੂੰ ਤਰਜੀਹ ਦੇਣਾ, \'ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।3. 7. 9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6 ਹੈ)। \\n-ਇਸ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ. \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਕਦਮ ਦਰ ਕਦਮ ਸਮਝਾਓ ਕਿ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿਹਡ਼ੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨਆਦਰਯੋਗ, ਅਜੇ ਤੱਕ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \',\' ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ. \\n, \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਫਾਈਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\n ਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਜੋਡ਼/ਸੁਧਾਰ/ਫਿਕਸਿੰਗ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ \\n-ਰੁਕਾਵਟਾਂਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਵਰਤਣ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\')। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ NAME_1.py ਲਿਖੋ।ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n\\n\\n\\nAME _ 14:. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ, ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਜੋਡ਼/ਸੁਧਾਰ/ਫਿਕਸਿੰਗ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ \\n-ਰੁਕਾਵਟਾਂਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਵਰਤਣ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\')। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ NAME_1.py ਲਿਖੋ।ਚੁਣੇ ਹੋਏ ਪਰਿਵਰਤਨਾਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਸਿਰਫ਼ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n -ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਦੇ ਨਾਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤੇ game.py ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ। \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ', ' [\'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ\', \'ਸਮਝ ਗਿਆ. ਮੈਂ ਤੁਹਾਡੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹਾਂ।\', \'ਮੌਜੂਦਾ food.py ਸੰਸਕਰਣਃ\' ਟਿੰਟਰ ਨੂੰ ਟਿੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਨਿੰਪੋਰਟ ਕਰੋ \'ਬੇਤਰਤੀਬੇ \\n\\n ਸ਼੍ਰੇਣੀ ਭੋਜਨਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਕੈਨਵਸ, ਨਾਮ _ 1): \\n self.canvas = ਕੈਨਵਸ\\n self.NAME_1 = NAME _ 1\\n self.size = 10\\n self.position =self.generateRandomPosition () \\n self.draw () \\n\\n ਡੈਫ ਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("ਭੋਜਨ") \\n self.canvas.create_rectangle (\\n self.position,ਭਰੋ = "ਲਾਲ", ਟੈਗ = "ਭੋਜਨ" \\n) \\n\\n ਡੈਫ ਜਨਰੇਟ ਰੈਂਡਮਪੋਜੀਸ਼ਨ (ਸਵੈ): \\n ਜਦੋਂ ਕਿ ਸਹੀਃ \\n NAME _ 2 = random.randint (0,49) * self.size \\n NAME _ 3 =random.randint (0,49) * self.size \\n ਸਥਿਤੀ = (NAME _ 2, NAME _ 3, NAME _ 2 + self.size, NAME _ 3 + self.size) \\n ਜੇਕਰ ਨਹੀਂ self.isOccupied (ਸਥਿਤੀ): \\n ਵਾਪਸੀਸਥਿਤੀ \\n\\n ਡਿਫ ਕਬਜ਼ਾ ਹੈ (ਸਵੈ, ਸਥਿਤੀ): \\n self.NAME_1.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n ਜੇਕਰ self.checkOverlap (ਹਿੱਸਾ, ਸਥਿਤੀ): \\n ਸਹੀ ਵਾਪਸੀਗਲਤ \\n\\n ਡਿਫ ਚੈੱਕ ਓਵਰਲੈਪ (ਸੈਲਫ, ਰੈਕਟ1, ਰੈਕਟ2): \\n ਰਿਟਰਨ (\\n ਰੈਕਟ1 [0] <ਰੈਕਟ2 [2] \\n ਅਤੇ ਰੈਕਟ1 [2]> ਰੈਕਟ2 [0] \\n ਅਤੇ ਰੈਕਟ1 [1] <ਰੈਕਟ2 [3] \\n ਅਤੇ ਰੈਕਟ1 [3]>Rect2 [1] \\n) \\n\\n ਬਣਾਓ ਨਿਊ ਫੂਡ (ਸੈਲਫ): \\n self.position = self.generateRandomPosition () \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਅਗਲੇ ਪ੍ਰੋਂਪਟ ਲਈ। \\n \',\' ਜ਼ਰੂਰ, ਕਿਰਪਾ ਕਰਕੇ ਅਗਲਾ ਨਿਰਦੇਸ਼ ਦਿਓ। \',\' ਮੌਜੂਦਾ game.py ਸੰਸਕਰਣਃ \'tkinter ਨੂੰ tk ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖੋ\' ਨਾਮ-1 ਨੂੰ ਰੱਖੋ \'ਭੋਜਨ ਨੂੰ ਰੱਖੋ\'ਗਣਿਤ\\n\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.root = ਰੂਟ\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg =\\\'ਕਾਲਾ\\\') \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.foodObj = food.Food (self.canvas, self.snakeObj) \\nself.score = 0\\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.updateScore () \\n\\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਸੈਲਫ, ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym \\n ਜੇਕਰ ਕੁੰਜੀ ਹੋਵੇਵਿੱਚ (\\\'ਅੱਪ\',\\\'ਨਾਮ _ 4\',\\\'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n self.snakeObj.changeDirection (ਕੁੰਜੀ) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\n self.pauseGame () \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'r\': \\nself.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.gameOverText () \\n self.gameOver = ਸੱਚ \\n NAME _ 5self.checkFoodCollision (): \\n self.snakeObj.grow () \\n self.foodObj.createNewFood () \\n self.score + = 1\\n self.updateScore () \\n\\n ਡਿਫਗੇਟਅਪਡੇਟ ਇੰਟਰਵਲ (ਸਵੈ): \\n ਬੇਸ _ ਇੰਟਰਵਲ = 200\\n ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ = ਇੰਟ (self.score/10) * 10\\n ਰਿਟਰਨ NAME _ 6 (ਬੇਸ _ ਇੰਟਰਵਲ-ਇੰਟਰਵਲ _ ਡਿੱਕਸ਼ਨ,50) \\n\\n ਵਿਰਾਮ ਗੇਮ (ਸਵੈ): \\n self.paused = ਨਹੀਂ self.paused \\n ਜੇਕਰ self.paused: \\n self.showPauseText () \\n ਹੋਰਃ \\n self.hideText ("ਰੁਕਿਆ") \\n \\n ਵਿਰਾਮਰੀਸੈੱਟ ਗੇਮ (ਸਵੈ): \\n ਜੇਕਰ self.gameOver: \\n self.gameOver = ਗਲਤ\\n self.paused = ਗਲਤ\\n self.score = 0\\n self.updateScore () \\n self.hideText ("ਗੇਮਓਵਰ") \\nself.snakeObj.resetSnake () \\n self.foodObj.createNewFood () \\n\\n ਡਿਫ ਸ਼ੋਅਪੌਜ਼ ਟੈਕਸਟ (ਸੈਲਫ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਚਿੱਟਾ",ਟੈਕਸਟ = "PAUSED", ਫੋਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਵਿਰਾਮਿਤ" \\n) \\n\\n ਛੁਪਾਓ ਟੈਕਸਟ (ਸਵੈ, ਟੈਗ): \\n self.canvas.delete (ਟੈਗ) \\n\\n ਅੱਪਡੇਟਸਕੋਰ (ਸਵੈ): \\nself.canvas.delete ("ਸਕੋਰ") \\n self.canvas.create_text (\\n 30,10, ਭਰੋ = "ਚਿੱਟਾ", ਟੈਕਸਟ = f "ਸਕੋਰਃ {self.score}", ਟੈਗ = "ਸਕੋਰ" \\n) \\n\\n ਡਿਫਖੇਡ ਓਵਰਟੈਕਸਟ (ਸਵੈ): \\n self.canvas.create_text (\\n 250,250, ਭਰੋ = "ਲਾਲ", ਟੈਕਸਟ = "ਗੇਮ ਓਵਰ", ਫੌਂਟ = ("ਏਰੀਅਲ", 24), ਟੈਗ = "ਗੇਮ ਓਵਰ" \\n) \\n \\n ਡਿਫਚੈੱਕ ਫੂਡਕੋਲੀਜ਼ਨ (ਸਵੈ): \\n NAME _ 7 \',\' ਮੈਂ ਵੇਖਦਾ ਹਾਂ। ਇੱਥੇ ਅੱਪਡੇਟ ਕੀਤੀ ਗਈ food.py ਫਾਇਲ ਹੈਃ \\n \'\\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ ਭੋਜਨਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਕੈਨਵਸ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.canvas.move (self.rect, random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ),random.randint (-ਸੇਫ _ ਮਾਰਜਨ, ਸੇਫ _ ਮਾਰਜਨ)) \\n self.rect = self.canvas.create_rectangle (\\n self.rect. NAME _ 2-ਸੇਫ _ ਮਾਰਜਨ, self.rect. NAME _ 3 -ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_2 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, self.rect.NAME_3 + ਸੇਫ਼ _ ਮਾਰਜਿਨ, ਰੂਪ ਰੇਖਾ = "ਲਾਲ", ਚੌਡ਼ਾਈ = 2, ਟੈਗ = "ਭੋਜਨ" \\n) \\n ਡੈਫ਼ ਤਬਦੀਲੀ ਦਿਸ਼ਾ (ਸਵੈ,ਦਿਸ਼ਾ): \\n self.rect.move_ip (0, ਦਿਸ਼ਾ) \\n ਡਿਫ ਗਰੋ (ਸੈਲਫ): \\n ਜੇਕਰ self.rect.w <= 0: \\n self.rect.NAME_2 + = random.randint (-ਸੇਫ _ ਮਾਰਜਿਨ,ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.rect.NAME_3 + = random.randint (-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n ਸੁਰੱਖਿਅਤ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ, ਹਿੱਸਾ): \\n ਜੇਕਰ segment.body [0] <self.rect.NAME_2 ਜਾਂ segment.body [0]> self.rect.NAME_2 + self.rect.w: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [1] <self.rect.NAME_3 ਜਾਂ segment.body [1]>self.rect.NAME_3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਕਰਦਾ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ \',\' ਮੌਜੂਦਾ main.py ਵਰਜਨਃ \\nimport tkinter ਜਿਵੇਂ ਕਿਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n\\n ਗੇਮਓਬੀਜੇ = game.Game (ਰੂਟ,ਸੇਫ਼ _ ਮਾਰਜਿਨ = 5) \\n\\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\n\\n ਡਿਫਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\n\\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਸ਼ਾਮਲ ਹੈਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂਃ \\n ਇਸ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਭੇਜਣਾ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nAME _ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \',\' ਕਰੰਟ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n\\n ਕਲਾਸ NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas= canvas\\n self.size = 10\\n self.direction =\\\'ਸੱਜੇ\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n\\n ਡਿਫ ਡਰਾਅ (ਸਵੈ): \\nself.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n\\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n\\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n ਨਾਮ _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n\\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n\\n ਦਾ ਵਾਧਾ (ਸਵੈ): \\n self.move (ਵਧੋ = ਸੱਚ) \\n\\n ਦਾ ਬਚਾਅਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n\\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n\\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸਹੀ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ_ _ init _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\nself.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (self\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.pyਵਰਜ਼ਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਕੇਵਲ. \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n ", \'ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ। \',\' ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n ", \'. ਸਹੀ. ਨਾਮ _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, \'ਰੀਫੈਕਟਰਿੰਗ\' ਨੂੰ ਤਰਜੀਹ ਦੇਣਾ, \'ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।3. 7. 9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6 ਹੈ)। \\n-ਇਸ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ. \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਕਦਮ ਦਰ ਕਦਮ ਸਮਝਾਓ ਕਿ ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿਹਡ਼ੀਆਂ ਤਬਦੀਲੀਆਂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨਆਦਰਯੋਗ, ਅਜੇ ਤੱਕ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \',\' ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ. \\n, \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਫਾਈਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\n ਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਜੋਡ਼/ਸੁਧਾਰ/ਫਿਕਸਿੰਗ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ \\n-ਰੁਕਾਵਟਾਂਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਵਰਤਣ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\')। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ NAME_1.py ਲਿਖੋ।ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ", \'. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-\\n\\nNAME _ 9: ਵਰਤਮਾਨ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\ndef _ _ init _ (ਸਵੈ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n\\n\\n\\nAME _ 14:. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ, ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਜੋਡ਼/ਸੁਧਾਰ/ਫਿਕਸਿੰਗ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ \\n-ਰੁਕਾਵਟਾਂਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਵਰਤਣ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\')। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ NAME_1.py ਲਿਖੋ।ਚੁਣੇ ਹੋਏ ਪਰਿਵਰਤਨਾਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \',\' ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਸਿਰਫ਼ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n -ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਦੇ ਨਾਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤੇ game.py ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ। \\n ",ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਵਾਪਸ ਆਉਂਦੀ ਹੈ।ਸੱਚ\\n ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚ\\n ਕਲਾਸ ਖੇਡ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ,ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\nself.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨਮੁੱਖ (): \\n root = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\nਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2]<self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ ਹੈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ\\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\nਸਹੀ \\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾਃ ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ।ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਹੋਵੇ।ਅਤੇ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ, ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ।segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n\\n\\n\\nAME _ 14:. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ, ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਜੋਡ਼/ਸੁਧਾਰ/ਫਿਕਸਿੰਗ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ \\n-ਰੁਕਾਵਟਾਂਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਵਰਤਣ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\')। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ NAME_1.py ਲਿਖੋ।ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n\\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ\\ਨ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\n\\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ, ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\n\\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\n\\nAME _ 14:. right. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰsegment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 +self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 =ਨਾਮ _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 +ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas =tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\nself.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ \\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1"ਖੇਡ ") \\n root.configure (bg =" ਕਾਲਾ ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ, ਰੀਫੈਕਟਰਿੰਗ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.wਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਤਾਂ ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇsegment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\nਵਾਪਸ ਕਰੋ ਸੱਚਾ \\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500,ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj =ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੈਨ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("ਨਾਮ _ 1 ਖੇਡ") \\nroot.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ =gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\',\\\'NAME _ 4\' ਵਿੱਚ ਕੁੰਜੀ ਹੈ,\\ \'ਖੱਬਾ\',\\\'ਸੱਜਾ\'): \\n NAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\ngameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੇਨ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤਾ main.pyਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕੀਤਾ।key.capitalize () ਨੂੰ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਨੂੰ NAME_8.changeDirection (). \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਗਏ।[ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\nclass NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\ndef _ _ init _ (self,ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\n self.canvas = ਕੈਨਵਸ\\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body = self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਨ) \\nself.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ",ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਚੇਂਜਡਾਇਰੈਕਸ਼ਨ (ਸੈਲਫ, ਨਿਊਡਾਇਰੈਕਸ਼ਨ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਅੱਪ\':\\\'NAME _ 4\',\\\'NAME _ 4\':\\\'ਅੱਪ\',\\\'ਲੈਫਟ\':\\\'ਰਾਈਟ\',\\ \'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ =self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = head\\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11-self.size, NAME _ 12, NAME _ 13 -self.size) \\n NAME _ 5 self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\ \'ਖੱਬਾ\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 +self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਹੈਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ, ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਮੁੱਦਿਆਂ ਲਈ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਵਾਪਸੀਸਹੀ \\n ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸਹੀ\\n ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਵਾਪਸੀ ਸੱਚੀ\\n ਕਲਾਸ ਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root =ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj =NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਗੇਮ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 14:. ਸਹੀ. NAME _ 3 + self.rect.h: \\n ਸੱਚਾ ਵਾਪਸ ਕਰੋ ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]> self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇsegment.body [3]> self.rect.NAME_3: \\n ਰੀਟਰਨ ਸੱਚਾ\\n ਕਲਾਸ ਗੇਮਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\nself.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500, bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas,self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ _ 9: ਮੌਜੂਦਾ main.py ਸੰਸਕਰਣਃ \\nimport tkinter ਨੂੰ tk\\nimport ਖੇਡ ਦੇ ਰੂਪ ਵਿੱਚ\\ndef ਮੇਨ (): \\n ਰੂਟ =tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj = game.Game (ਰੂਟ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\ngameObj.updateGameState () \\n ਅੰਤਰਾਲ = gameObj.getUpdateInterval () \\n root.after (ਅੰਤਰਾਲ, ਅੱਪਡੇਟ) \\n ਡਿਫ ਹੈਂਡਲਕੀਪਰੈਸ (ਘਟਨਾ): \\n ਕੁੰਜੀ =event.keysym.lower () \\n ਜੇਕਰ (\'ਅੱਪ\', \'ਨਾਮ\', \'ਖੱਬੇ\', \'ਸੱਜੇ\' ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\n NAME_8.changeDirection (key.capitalize ()) \\n ਨਾਮ _ 5 ਕੁੰਜੀ = =\\\'p\': \\ngameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\n root.bind ("<ਕੀਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _= = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੀਆਂ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨਃ \\n ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਵਿੱਚ ਕੁੰਜੀ ਪ੍ਰੈੱਸ ਈਵੈਂਟਾਂ ਨੂੰ ਪ੍ਰੋਸੈੱਸ ਕਰਨ ਲਈ ਸੋਧਿਆ।ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਪਾਸ ਕਰੋ। \\nਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ।"ਮੁੱਖ": ਬਲਾਕ ਕਰੋ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ। \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport ਵਜੋਂ ਪੋਰਟ ਕਰੋ।ਰੈਂਡਮ \\n ਕਲਾਸ ਨਾਮ _ 1: \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਿਨ = 5): \\n self.canvas = ਕੈਨਵਸ \\n self.size = 10\\n self.direction =\\\'ਰਾਈਟ\\\' \\n self.body =self.generateInitialPosition (ਸੇਫ _ ਮਾਰਜਿਨ) \\n self.draw () \\n ਡਿਫ ਡਰਾਅ (ਸੈਲਫ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\nself.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫ ਤਬਦੀਲੀ ਦਿਸ਼ਾਵਾਂ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾਵਾਂ): \\n ਉਲਟ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\ \'NAME _ 4\',\\\'NAME _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'} \\n ਜੇਕਰ ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction =ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸੈਲਫ, ਗਰੋ = ਫਾਲਸ): \\n ਹੈਡ = self.body [0] \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਨਾਮ _ 4\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11 + self.size,ਨਾਮ _ 12, ਨਾਮ _ 13 + self.size) \\n ਨਾਮ _ 5 self.direction = =\\\'ਖੱਬਾ\': \\n ਨਵਾਂ ਸਿਰ = (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\nਨਿਊਹੈੱਡ = (NAME _ 10 + self.size, NAME _ 11, NAME _ 12 + self.size, NAME _ 13) \\n self.body.insert (0, ਨਿਊਹੈੱਡ) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\nਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\n self.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12,NAME _ 13 = self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500 \\n ਡੇਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੇਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਜੇਕਰ segment.body [2] <self.rect.NAME_2 + self.rect.w ਅਤੇ segment.body [2]self.rect.NAME_2: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੇਕਰ segment.body [3] <self.rect.NAME_3 + self.rect.h ਅਤੇ segment.body [3]> self.rect.NAME_3: \\n ਸੱਚਾ ਵਾਪਸ ਕਰਦਾ ਹੈਖੇਡਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸਵੈ, ਰੂਟ, ਨਾਮ _ 1): \\n self.root = ਰੂਟ \\n self.NAME_1 = NAME _ 1\\n self.canvas = tk.Canvas (ਰੂਟ, ਚੌਡ਼ਾਈ = 500, ਉਚਾਈ = 500,bg = "ਕਾਲਾ") \\n self.canvas. ਪੈਕ () \\n self.snakeObj = NAME_1.NAME_1 (self.canvas, self.NAME_1.randomBody ()) \\n self.foodObj = ਭੋਜਨ (ਸਵੈ-ਨਾਮ 9: ਵਰਤਮਾਨmain.py ਵਰਜਨਃ \\nimport tkinter ਦੇ ਰੂਪ ਵਿੱਚ tk\\nimport ਖੇਡ \\ndef ਮੁੱਖ (): \\n ਰੂਟ = tk.Tk () \\n root.title ("NAME _ 1 ਖੇਡ") \\n root.configure (bg = "ਕਾਲਾ") \\n ਖੇਡObj =game.Game (ਰੂਟ, ਸੇਫ _ ਮਾਰਜਨ = 5) \\n ਡਿਫ ਅੱਪਡੇਟ (): \\n gameObj.updateGameState () \\n ਇੰਟਰਵਲ = gameObj.getUpdateInterval () \\n root.after (ਇੰਟਰਵਲ, ਅੱਪਡੇਟ) \\nਡਿਫ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ (ਈਵੈਂਟ): \\n ਕੁੰਜੀ = event.keysym.lower () \\n ਜੇਕਰ (\\\'up\\\',\\\'NAME _ 4\\\',\\\'left\\\',\\\'right\\\') ਵਿੱਚ ਕੁੰਜੀ ਹੈਃ \\nNAME_8.changeDirection (key.capitalize ()) \\n NAME _ 5 ਕੁੰਜੀ = =\\\'p\': \\n gameObj.pauseGame () \\n NAME _ 5 ਕੁੰਜੀ = =\\\'r\': \\n gameObj.resetGame () \\nroot.bind ("<ਕੀ-ਪ੍ਰੈੱਸ>", ਹੈਂਡਲਕੀ-ਪ੍ਰੈੱਸ) \\n ਅੱਪਡੇਟ () \\n root.mainloop () \\nif _ _ ਨਾਮ _ = = "_ _ ਮੈਨ _ _": \\n ਮੇਨ () \\n ਅੱਪਡੇਟ ਕੀਤੇ ਗਏ main.py ਵਿੱਚ ਹੇਠ ਲਿਖੇ ਸ਼ਾਮਲ ਹਨ।ਤਬਦੀਲੀਆਂਃ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ key.capitalize () ਨੂੰ ਕਾਲ ਕਰਕੇ ਕੇਸ-ਅਸੰਵੇਦਨਸ਼ੀਲ ਢੰਗ ਨਾਲ ਪ੍ਰਮੁੱਖ ਪ੍ਰੈੱਸ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਹੈਂਡਲਕੀਪ੍ਰੈੱਸ () ਫੰਕਸ਼ਨ ਨੂੰ ਸੋਧਿਆ।ਇਸ ਨੂੰ NAME_8.changeDirection () ਉੱਤੇ ਲੈ ਜਾਓ। \\n ਮੁੱਖ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਜੇਕਰ ਨਾਮ = = "ਮੁੱਖ": ਬਲਾਕ ਦੇ ਅੰਦਰ ਲੈ ਜਾਓ। \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ਼ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਦਾ ਜਵਾਬ ਦਿਓ ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋ।ਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਮੌਜੂਦਾ NAME_1.py ਵਰਜਨਃ \\nimport tkinter ਨੂੰ tk\\nimport random\\n ਕਲਾਸ NAME _ 1 ਦੇ ਰੂਪ ਵਿੱਚਃ \\n ਡਿਫ _ _ ਇਨਿਟ _ (ਸੈਲਫ, ਕੈਨਵਸ, ਸੇਫ _ ਮਾਰਜਨ = 5): \\nself.canvas = canvas\\n self.size = 10\\n self.direction =\\\'ਸਹੀ\'\\\'\\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) \\n self.draw () \\n ਡਿਫਡਰਾਅ (ਸਵੈ): \\n self.canvas.delete ("NAME _ 1") \\n self.body ਵਿੱਚ ਹਿੱਸੇ ਲਈਃ \\n self.canvas.create_rectangle (ਹਿੱਸਾ, ਭਰੋ = "ਹਰਾ", ਟੈਗ = "NAME _ 1") \\n ਡਿਫਬਦਲਣ ਦੀ ਦਿਸ਼ਾ (ਸਵੈ, ਨਵੀਂ ਦਿਸ਼ਾ): \\n ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ = {\\\'ਉੱਪਰ\':\\\'ਨਾਮ _ 4\',\\\'ਨਾਮ _ 4\':\\\'ਉੱਪਰ\',\\\'ਖੱਬੇ\':\\\'ਸੱਜੇ\',\\\'ਸੱਜੇ\':\\\'ਖੱਬੇ\'ਨਵੀਂ ਦਿਸ਼ਾ! = ਉਲਟ _ ਦਿਸ਼ਾਵਾਂ [self.direction]: \\n self.direction = ਨਵੀਂ ਦਿਸ਼ਾ \\n ਡਿਫ ਮੂਵ (ਸਵੈ, ਵਧੋ = ਗਲਤ): \\n ਸਿਰ = self.body [0] \\n NAME _ 10,ਨਾਮ _ 11, ਨਾਮ _ 12, ਨਾਮ _ 13 = ਹੈਡ \\n ਜੇਕਰ self.direction = =\\\'ਅੱਪ\\\': \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10, ਨਾਮ _ 11-self.size, ਨਾਮ _ 12, ਨਾਮ _ 13-self.size) \\n ਨਾਮ _ 5self.direction = =\\\'NAME _ 4\': \\n ਨਿਊਹੈੱਡ = (NAME _ 10, NAME _ 11 + self.size, NAME _ 12, NAME _ 13 + self.size) \\n NAME _ 5 self.direction = =\\\'ਖੱਬੇ ਪਾਸੇ\': \\n ਨਿਊਹੈੱਡ= (ਨਾਮ _ 10-self.size, ਨਾਮ _ 11, ਨਾਮ _ 12-self.size, ਨਾਮ _ 13) \\n ਹੋਰਃ \\n ਨਿਊਹੈੱਡ = (ਨਾਮ _ 10 + self.size, ਨਾਮ _ 11, ਨਾਮ _ 12 + self.size, ਨਾਮ _ 13) \\nself.body.insert (0, newHed) \\n self.canvas.delete ("NAME _ 1") \\n self.draw () \\n ਜੇਕਰ ਵਧਦਾ ਨਹੀਂ ਤਾਂਃ \\nself.canvas.delete (self.canvas.find_withtag ("NAME _ 1") [-1]) \\n self.body.pop (-1) \\n ਡਿਫ ਚੈੱਕ ਟਕਰਾਅ (ਸਵੈ): \\n NAME _ 10, NAME _ 11, NAME _ 12, NAME _ 13 =self.body [0] \\n ਰਿਟਰਨ NAME _ 10 <0 ਜਾਂ NAME _ 12> 500 ਜਾਂ NAME _ 11 <0 ਜਾਂ NAME _ 13> 500\\n ਡੈਫ ਗਰੋ (ਸੈਲਫ): \\n self.move (ਗਰੋ = ਟਰੂ) \\n ਡੈਫਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ (ਸਵੈ, ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ): \\n NAME _ 2 = random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n NAME _ 3 =random.randint (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ, 49-ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਏ) * self.size \\n ਵਾਪਸੀ [(ਨਾਮ _ 2, ਨਾਮ _ 3, ਨਾਮ _ 2 + self.size, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-self.size,ਨਾਮ _ 3, ਨਾਮ _ 2, ਨਾਮ _ 3 + self.size), \\n (ਨਾਮ _ 2-2 * self.size, ਨਾਮ _ 3, ਨਾਮ _ 2-self.size, ਨਾਮ _ 3 + self.size)] \\n ਡਿਫ ਰੀਸੈੱਟ ਸਨੈਕ (ਸੈਲਫ): \\nself.direction =\\\'ਸੱਜੇ\\\' \\n self.body = self.generateInitialPosition (ਸੁਰੱਖਿਅਤ _ ਹਾਸ਼ੀਆ) \\n self.draw () \\n ਕਿਰਪਾ ਕਰਕੇ ਸਿਰਫ ਜਵਾਬ ਦਿਓ [ਫਾਈਲ ਲੋਡ ਕੀਤੀ ਗਈ] ਅਤੇ ਅਗਲੇ ਦੀ ਉਡੀਕ ਕਰੋਪ੍ਰੋਂਪਟ. \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕੰਸਟ੍ਰੇੰਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਨਾਲ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀਸਿਰਫ਼ ਮੋਡੀਊਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ NAME _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਹੈਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਪ੍ਰਦਾਨ ਕੀਤਾ ਗਿਆ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਹਰੇਕ ਦੱਸਣ ਵਾਲੀਆਂ ਕਮੀਆਂ ਅਤੇ ਕੋਡ ਦੇ ਮੁੱਦਿਆਂ ਲਈ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਗਿਣਤੀ ਕਰੋ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਕੇਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਸੰਖਿਆਤਮਕ ਸੁਧਾਰਅਤੇ ਹਟਾਉਣ ਦੇ ਪ੍ਰਸਤਾਵਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋਏ ਰੀਫੈਕਟਰਿੰਗ \\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\n -ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।(\\\'_\\\') ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n ਪ੍ਰੋਜੈਕਟ ਦੀਆਂ ਰੁਕਾਵਟਾਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਦਮ ਦਰ ਕਦਮ ਕਿਸ ਦੀ ਚੋਣ ਕਰਨ ਲਈ ਤਬਦੀਲੀ ਦੀ ਵਿਆਖਿਆ ਕਰੋ।ਅਜੇ ਵੀ ਕੋਈ ਕੋਡ ਲਿਖੇ ਬਿਨਾਂ, ਉਹਨਾਂ ਦਾ ਸਨਮਾਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\nNAME _ 9: ਪਾਈਥਨ ਡਿਕਸ਼ਨਰੀ ਫਾਰਮੈਟ ਵਿੱਚ ਸਾਰੀਆਂ ਲੋਡ਼ੀਂਦੀਆਂ ਕੋਡ ਫਾਈਲਾਂ ਨੂੰ ਸੂਚੀਬੱਧ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਫਾਈਲ ਦਾ ਨਾਮ ਕੁੰਜੀ ਦੇ ਰੂਪ ਵਿੱਚ ਅਤੇਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਾਇਲ ਦੀ ਵਰਤੋਂ ਦਾ ਵੇਰਵਾ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਇਸ ਦੁਆਰਾ ਸੁਧਾਰਨਾਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ਨਾ/ਸੁਧਾਰਨਾ/ਫਿਕਸ ਕਰਨਾ/ਹਟਾਉਣਾਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਹੈ।ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ,ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤਾ ਹੋਇਆ ਲਿਖੋ food.py ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੈ। \\nNAME _ 9: ਉਦੇਸ਼ਃ ਜੋਡ਼/ਸੁਧਾਰ/ਫਿਕਸਿੰਗ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ।ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ \\n-ਰੁਕਾਵਟਾਂਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ)। \\n-ਵਰਤਣ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\')। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ NAME_1.py ਲਿਖੋ।ਚੁਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। \\n\\nNAME _ 9: ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ। \\n-ਪਾਈਥਨ3. 7. 9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਦੇ ਨਾਲ। \\n-ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦਾ ਨਾਮ _ 6 ਹੈ)। \\n-ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\\\'_\\\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ।ਕੋਡ ਵਿੱਚ। \\n-ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਲ ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। \\ਨਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਦੇ ਨਾਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤੇ game.py ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ।ਉਦੇਸ਼ਃ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋਡ਼ ਕੇ/ਸੁਧਾਰ ਕੇ/ਫਿਕਸਿੰਗ ਕਰਕੇ/ਹਟਾ ਕੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਸੁਧਾਰ ਕਰਨਾ \\nਕਂਸਟਰੈਂਟਃ \\n-ਪਾਈਥਨ 3.7.9 ਸਿਰਫ ਟੀਕਿੰਟਰ ਅਤੇ ਅੰਦਰੂਨੀ ਮਾਡਿਊਲਾਂ ਨਾਲ। \\n -ਸੰਖੇਪ ਕੋਡ (ਹਰੇਕ ਫਾਈਲ 2048 ਅੱਖਰਾਂ ਦੀ ਹੈ). \\n-ਕੋਡ ਵਿੱਚ ਅੰਡਰਸਕੋਰ ਅੱਖਰ (\'_\') ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਰਹੇਜ਼ ਕਰੋ। \\n-ਕੋਈ ਵੀ ਲੋਡ਼ੀਂਦਾ ਡਾਟਾ ਨਾਲ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈਪ੍ਰੋਜੈਕਟ। ਮਾਰਕਡਾਉਨ ਟੈਗ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਚੁਣੀਆਂ ਗਈਆਂ ਤਬਦੀਲੀਆਂ ਨਾਲ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕੀਤੇ main.py ਨੂੰ ਅੱਪਡੇਟ ਕਰੋ। \\n "] ', 'ਇੱਕ ਬਿੰਦੂ ਲਿਖੋ ਅਤੇ ਮੇਰੇ ਪ੍ਰੋਂਪਟ ਦੀ ਉਡੀਕ ਕਰੋ \n ']