{"id":44573,"date":"2023-12-24T17:20:00","date_gmt":"2023-12-24T13:50:00","guid":{"rendered":"https:\/\/quera.org\/blog\/?p=44573"},"modified":"2025-04-21T16:54:27","modified_gmt":"2025-04-21T13:24:27","slug":"game-development-with-python-and-pygame","status":"publish","type":"post","link":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/","title":{"rendered":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame &#8211; \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627"},"content":{"rendered":"\n<p>\u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0627\u0641\u0631\u0627\u062f\u06cc \u06a9\u0647 \u062a\u0635\u0645\u06cc\u0645 \u0628\u0647 \u067e\u0634\u062a \u0633\u0631 \u06af\u0630\u0627\u0634\u062a\u0646 <a href=\"https:\/\/quera.org\/college\/landpage\/python\" target=\"_blank\" rel=\"noreferrer noopener\">\u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a> \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f\u060c \u062a\u0645\u0627\u06cc\u0644 \u0632\u06cc\u0627\u062f\u06cc \u0628\u0647 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u0627\u06cc\u0646 \u0632\u0628\u0627\u0646 \u062f\u0627\u0631\u0646\u062f. \u067e\u0627\u06cc\u062a\u0648\u0646 \u06cc\u06a9\u06cc \u0627\u0632 \u06a9\u0627\u0631\u0628\u0631\u067e\u0633\u0646\u062f\u062a\u0631\u06cc\u0646 \u0632\u0628\u0627\u0646\u200c\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0627\u0645\u0631\u0648\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062e\u0627\u0637\u0631 \u0642\u0648\u0627\u0639\u062f \u0646\u062d\u0648\u06cc (\u0633\u06cc\u0646\u062a\u06a9\u0633) \u0645\u0634\u0627\u0628\u0647 \u0628\u0647 \u0632\u0628\u0627\u0646 \u0627\u0646\u0633\u0627\u0646\u06cc\u060c \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0645\u0627\u0631 \u0632\u06cc\u0627\u062f\u06cc \u0627\u0632 \u06a9\u062f\u0646\u0648\u06cc\u0633\u0627\u0646 \u062a\u0627\u0632\u0647\u200c\u06a9\u0627\u0631 \u0622\u0633\u0627\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0632\u0628\u0627\u0646 \u0636\u0645\u0646\u0627 \u0627\u0632 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0627\u06cc \u0627\u0631\u0632\u0634\u0645\u0646\u062f \u0628\u0647 \u0646\u0627\u0645 \u00abPyGame\u00bb \u0628\u0631\u062e\u0648\u0631\u062f\u0627\u0631 \u0634\u062f\u0647 \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0627\u0635 \u062f\u0631 \u0641\u0631\u0627\u06cc\u0646\u062f \u0628\u0627\u0632\u06cc\u200c\u0633\u0627\u0632\u06cc \u06cc\u0627 \u062a\u0648\u0633\u0639\u0647 \u0647\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u06af\u0631\u0627\u0641\u06cc\u06a9\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0628\u0647 \u06a9\u0645\u06a9\u200c\u062a\u0627\u0646 \u0645\u06cc\u200c\u0622\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0627 \u06a9\u0648\u0626\u0631\u0627 \u0628\u0644\u0627\u06af \u0647\u0645\u0631\u0627\u0647 \u0628\u0627\u0634\u06cc\u062f \u062a\u0627 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 pygame \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0627\u0645\u0644 \u06cc\u0627\u062f \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u0627\u06af\u0631 \u0647\u0646\u0648\u0632 \u0645\u0637\u0645\u0626\u0646 \u0646\u06cc\u0633\u062a\u06cc\u062f \u06a9\u0647 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0628\u0631\u0627\u06cc\u062a\u0627\u0646 \u0645\u0646\u0627\u0633\u0628 \u0627\u0633\u062a \u06cc\u0627 \u0646\u0647\u060c \u06cc\u0627 \u0646\u0645\u06cc\u200c\u062f\u0627\u0646\u06cc\u062f \u0627\u0632 \u06a9\u062c\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f\u060c \u0645\u0627 \u06cc\u06a9 \u06a9\u0648\u06cc\u06cc\u0632 \u0633\u0627\u062f\u0647 \u0648 \u062c\u0630\u0627\u0628 \u0622\u0645\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645 \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u06a9\u0646\u062f \u0645\u0633\u06cc\u0631 \u062f\u0631\u0633\u062a \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f.<br>\u0647\u0645\u06cc\u0646 \u062d\u0627\u0644\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f: <a href=\"https:\/\/quera.org\/college\/quiz\">\u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633\u06cc \u0631\u0627 \u0627\u0632 \u06a9\u062c\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645<\/a><\/p>\n<\/blockquote>\n\n\n\n<p>\u0628\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u062a\u0627 \u067e\u0627\u06cc\u0627\u0646\u060c \u0631\u0648\u0634 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0628\u0627\u0632\u06cc \u062f\u0648\u0628\u0639\u062f\u06cc \u0633\u0627\u062f\u0647 \u0631\u0627\u062c\u0639 \u0628\u0647 \u0639\u0628\u0648\u0631 \u0627\u0632 \u0645\u06cc\u0627\u0646 \u0645\u0648\u0627\u0646\u0639 \u0645\u062e\u062a\u0644\u0641 \u0631\u0627 \u0645\u06cc\u200c\u0622\u0645\u0648\u0632\u06cc\u062f \u0648 \u0645\u0647\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u0645\u062a\u0639\u062f\u062f\u06cc \u06a9\u0633\u0628 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0622\u06cc\u062a\u0645\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0631\u0627 \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u062a\u0631\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0627\u0646\u0648\u0627\u0639 \u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u0648 \u0645\u0648\u0633\u06cc\u0642\u06cc\u200c\u0647\u0627 \u0631\u0627 \u067e\u062e\u0634 \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0628\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0631\u0648\u062f\u06cc (Input) \u06a9\u0627\u0631\u0628\u0631 \u0645\u0634\u063a\u0648\u0644 \u0634\u0648\u06cc\u062f. <\/li>\n\n\n\n<li>\u062d\u0644\u0642\u0647\u200c\u0647\u0627\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f (Event Loops) \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n\n\n\n<li>\u0648 \u0645\u0647\u0645\u200c\u062a\u0631 \u0627\u0632 \u0647\u0645\u0647\u060c \u0628\u0647 \u062e\u0648\u0628\u06cc \u0627\u0632 \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627\u06cc \u0645\u06cc\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u06af\u06cc\u0645 \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0631\u0648\u06cc\u0647\u200c\u0627\u06cc \u0648 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0627\u062e\u0628\u0631 \u0634\u0648\u06cc\u062f. <\/li>\n<\/ul>\n\n\n\n<p>\u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u0647 \u0633\u0631\u0627\u063a \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0631\u0648\u06cc\u0645\u060c \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u062f\u0631\u06a9\u06cc \u0627\u0628\u062a\u062f\u0627\u06cc\u06cc \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u0627\u0632 \u062c\u0645\u0644\u0647 \u0627\u06cc\u0646\u06a9\u0647 \u062a\u0648\u0627\u0628\u0639 (Functions)\u060c \u0627\u06cc\u0645\u067e\u0648\u0631\u062a\u200c\u0647\u0627 (Imports)\u060c \u062d\u0644\u0642\u0647\u200c\u0647\u0627 \u06cc\u0627 \u0644\u0648\u067e\u200c\u0647\u0627 (Loops) \u0648 \u0634\u0631\u0648\u0637 (Conditionals) \u0686\u0637\u0648\u0631 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0628\u0627\u06cc\u062f \u0628\u0627 \u0646\u062d\u0648\u0647 \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627 \u062f\u0631 \u067e\u0644\u062a\u0641\u0631\u0645 \u062e\u0648\u062f \u0646\u06cc\u0632 \u0622\u0634\u0646\u0627 \u0628\u0627\u0634\u06cc\u062f. \u0622\u0634\u0646\u0627\u06cc\u06cc \u0646\u0633\u0628\u06cc \u0628\u0627 \u0634\u06cc\u200c\u06af\u0631\u0627\u06cc\u06cc \u062f\u0631 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0647\u0645 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062f\u06a9\u06cc \u0628\u0631\u0627\u06cc\u062a\u0627\u0646 \u0622\u0633\u0627\u0646\u200c\u062a\u0631 \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f. \u0646\u0627\u06af\u0641\u062a\u0647 \u0646\u0645\u0627\u0646\u062f \u06a9\u0647 PyGame \u0628\u0627 \u0627\u06a9\u062b\u0631 \u0646\u0633\u062e\u0647\u200c\u0647\u0627\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646 \u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u062f\u0627\u0631\u062f\u060c \u0627\u0645\u0627 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0627\u0632 Python 3.6 \u0628\u0647 \u0628\u0627\u0644\u0627 \u0628\u0631\u0627\u06cc \u067e\u06cc\u0634\u200c\u0628\u0631\u062f \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u06a9\u0645\u06a9 \u0628\u06af\u06cc\u0631\u06cc\u062f. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-text-align-center is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-text-align-center\">\u0628\u0631\u0627\u06cc \u062f\u0627\u0646\u0644\u0648\u062f \u0633\u0648\u0631\u0633 \u06a9\u062f \u067e\u0631\u0648\u0698\u0647 \u0645\u062b\u0627\u0644\u06cc \u06a9\u0647 \u062f\u0631 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0647 \u0633\u0631\u0627\u063a \u0622\u0646 \u0645\u06cc\u200c\u0631\u0648\u06cc\u0645 \u0627\u0632 <a href=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/11\/materials-pygame-a-primer.zip\">\u0627\u06cc\u0646 \u0644\u06cc\u0646\u06a9<\/a> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/blockquote>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%D8%B1%D8%A7%D9%87%E2%80%8C%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87\" >\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%DB%8C%DA%A9_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D8%B3%D8%A7%D8%AF%D9%87_%D8%AF%D8%B1_PyGame\" >\u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647 \u062f\u0631 PyGame<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85_%D9%85%D9%87%D9%85_%D8%AF%D8%B1_%D9%81%D8%B1%D8%A7%DB%8C%D9%86%D8%AF_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86_%D9%88_PyGame\" >\u0645\u0641\u0627\u0647\u06cc\u0645 \u0645\u0647\u0645 \u062f\u0631 \u0641\u0631\u0627\u06cc\u0646\u062f \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 PyGame<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%D9%85%D8%A8%D8%A7%D9%86%DB%8C_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\" >\u0645\u0628\u0627\u0646\u06cc \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_blit_%D9%88_flip_%D8%AF%D8%B1_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\" >\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 ()blit. \u0648 ()flip. \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7_%D8%A7%D8%B3%D9%BE%D8%B1%D8%A7%DB%8C%D8%AA%E2%80%8C%D9%87%D8%A7_%D8%AF%D8%B1_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\" >\u06a9\u0627\u0631 \u0628\u0627 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a\u200c\u0647\u0627 \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7_Sprite_Groups\" >\u06a9\u0627\u0631 \u0628\u0627 Sprite Groups<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7_%D8%B1%D9%88%DB%8C%D8%AF%D8%A7%D8%AF%D9%87%D8%A7%DB%8C_%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C_%D8%AF%D8%B1_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\" >\u06a9\u0627\u0631 \u0628\u0627 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5_%D8%A8%D8%B1%D8%AE%D9%88%D8%B1%D8%AF\" >\u062a\u0634\u062e\u06cc\u0635 \u0628\u0631\u062e\u0648\u0631\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%D8%B3%D8%B1%D8%B9%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C\" >\u0633\u0631\u0639\u062a \u0628\u0627\u0632\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%D8%A7%D9%81%DA%A9%D8%AA%E2%80%8C%D9%87%D8%A7%DB%8C_%D8%B5%D9%88%D8%AA%DB%8C_%D8%AF%D8%B1_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\" >\u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#%D8%AC%D9%85%D8%B9%E2%80%8C%D8%A8%D9%86%D8%AF%DB%8C_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\" >\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87%E2%80%8C%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87\"><\/span>\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0627\u0648\u0644\u06cc\u0647<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>PyGame \u06cc\u06a9 \u0631\u067e\u0631 (Wrapper) \u0628\u0631\u0627\u06cc \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 SDL (\u0645\u062e\u0641\u0641 Simple DirectMedia Layer) \u067e\u0627\u06cc\u062a\u0648\u0646 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u06a9\u0631\u0627\u0633\u200c\u067e\u0644\u062a\u0641\u0631\u0645 \u0628\u0647 \u0627\u062c\u0632\u0627\u06cc \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631\u06cc \u0686\u0646\u062f\u0631\u0633\u0627\u0646\u0647\u200c\u0627\u06cc \u0645\u0627\u0646\u0646\u062f \u0633\u06cc\u0633\u062a\u0645 \u0635\u0648\u062a\u06cc\u060c \u0633\u06cc\u0633\u062a\u0645 \u0648\u06cc\u062f\u06cc\u0648\u06cc\u06cc\u060c \u0645\u0627\u0648\u0633\u060c \u06a9\u06cc\u0628\u0648\u0631\u062f \u0648 \u062c\u0648\u06cc\u200c\u0627\u0633\u062a\u06cc\u06a9 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. \u0645\u0627\u0647\u06cc\u062a \u06a9\u0631\u0627\u0633\u200c\u067e\u0644\u062a\u0641\u0631\u0645 SDL \u0648 PyGame \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0632\u0628\u0627\u0646 \u067e\u0627\u06cc\u062a\u0648\u0646\u060c \u0628\u0627\u0632\u06cc\u200c\u0647\u0627 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc\u06cc \u0686\u0646\u062f\u0631\u0633\u0627\u0646\u0647\u200c\u0627\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f \u06a9\u0647 \u0631\u0648\u06cc \u062a\u0645\u0627\u0645 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u200c\u0634\u062f\u0647 \u0628\u0647 \u0627\u062c\u0631\u0627 \u062f\u0631 \u0645\u06cc\u200c\u0622\u06cc\u0646\u062f.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"338\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame.jpg\" alt=\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\" class=\"wp-image-44614\" srcset=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame.jpg 600w, https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-300x169.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 PyGame \u0631\u0648\u06cc \u067e\u0644\u062a\u0641\u0631\u0645 \u062e\u0648\u062f\u060c \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0627\u0632 \u0641\u0631\u0645\u0627\u0646 pip \u0635\u062d\u06cc\u062d \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">$ pip install pygame<\/code><\/pre>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u062d\u0635\u0648\u0644 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0646\u0635\u0628 PyGame \u0646\u06cc\u0632 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9\u06cc \u0627\u0632 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0645\u062b\u0627\u0644\u06cc \u06a9\u0647 \u0647\u0645\u0631\u0627\u0647 \u0628\u0627 \u0622\u0646 \u0627\u0632 \u0631\u0627\u0647 \u0645\u06cc\u200c\u0631\u0633\u0646\u062f \u0631\u0627 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">$ python3 -m pygame.examples.aliens<\/code><\/pre>\n\n\n\n<p>\u0627\u06af\u0631 \u067e\u0646\u062c\u0631\u0647 \u0628\u0627\u0632\u06cc \u0638\u0627\u0647\u0631 \u0634\u0648\u062f\u060c PyGame \u0646\u0635\u0628 \u0634\u062f\u0647 \u0648 \u0622\u0645\u0627\u062f\u0647 \u0628\u0647 \u06a9\u0627\u0631 \u0627\u0633\u062a. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%DB%8C%DA%A9_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D8%B3%D8%A7%D8%AF%D9%87_%D8%AF%D8%B1_PyGame\"><\/span>\u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647 \u062f\u0631 PyGame<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0648\u0627\u0631\u062f \u062c\u0632\u06cc\u06cc\u0627\u062a \u062f\u0642\u06cc\u0642\u200c\u062a\u0631 \u0634\u0648\u06cc\u0645\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0646\u06af\u0627\u0647\u06cc \u0628\u0647 \u06a9\u062f\u0647\u0627\u06cc \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647 \u062f\u0631 PyGame \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u0645. \u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u067e\u0646\u062c\u0631\u0647\u200c\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627\u0632 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0631\u0627 \u0628\u0647 \u0631\u0646\u06af \u0633\u0641\u06cc\u062f \u062f\u0631\u0645\u06cc\u200c\u0622\u0648\u0631\u062f \u0648 \u06cc\u06a9 \u062f\u0627\u06cc\u0631\u0647 \u0622\u0628\u06cc\u200c\u0631\u0646\u06af \u0646\u06cc\u0632 \u062f\u0631 \u0645\u06cc\u0627\u0646\u0647 \u067e\u0646\u062c\u0631\u0647 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Simple pygame program\n\n# Import and initialize the pygame library\nimport pygame\npygame.init()\n\n# Set up the drawing window\nscreen = pygame.display.set_mode([500, 500])\n\n# Run until the user asks to quit\nrunning = True\nwhile running:\n\n    # Did the user click the window close button?\n    for event in pygame.event.get():\n        if event.type == pygame.QUIT:\n            running = False\n\n    # Fill the background with white\n    screen.fill((255, 255, 255))\n\n    # Draw a solid blue circle in the center\n    pygame.draw.circle(screen, (0, 0, 255), (250, 250), 75)\n\n    # Flip the display\n    pygame.display.flip()\n\n# Done! Time to quit.\npygame.quit()<\/code><\/pre>\n\n\n\n<p>\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0627\u06cc\u0646 \u067e\u0646\u062c\u0631\u0647 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"588\" height=\"637\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-simple.jpg\" alt=\"\u062a\u0631\u0633\u06cc\u0645 \u062f\u0627\u06cc\u0631\u0647 \u062f\u0631 \u067e\u0646\u062c\u0631\u0647 pygame\" class=\"wp-image-44622\" srcset=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-simple.jpg 588w, https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-simple-277x300.jpg 277w\" sizes=\"auto, (max-width: 588px) 100vw, 588px\" \/><\/figure>\n<\/div>\n\n\n<p>\u062d\u0627\u0644\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06a9\u062f \u0628\u0627\u0644\u0627 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0628\u062e\u0634\u200c\u0628\u062e\u0634 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u062e\u0637\u0648\u0637 \u06f4 \u0648 \u06f5<\/strong> \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0631\u0627 \u0627\u06cc\u0645\u067e\u0648\u0631\u062a \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646 \u062e\u0637\u0648\u0637\u060c \u062e\u0628\u0631\u06cc \u0627\u0632 PyGame \u0646\u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.<\/li>\n\n\n\n<li><strong>\u062e\u0637 \u06f8<\/strong> \u067e\u0646\u062c\u0631\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0627\u06cc\u062f \u0628\u0647 \u0633\u0631\u0627\u063a \u062a\u0627\u067e\u0644 (Tuple) \u06cc\u0627 \u0641\u0647\u0631\u0633\u062a\u06cc \u0628\u0631\u0648\u06cc\u062f \u06a9\u0647 \u0637\u0648\u0644 \u0648 \u0639\u0631\u0636 \u067e\u0646\u062c\u0631\u0647 \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0627\u0632 \u0641\u0647\u0631\u0633\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645 \u06a9\u0647 \u067e\u0646\u062c\u0631\u0647\u200c\u0627\u06cc \u0645\u0631\u0628\u0639\u06cc\u200c\u0634\u06a9\u0644 (\u06f5\u06f0\u06f0 \u067e\u06cc\u06a9\u0633\u0644 \u062f\u0631 \u0647\u0631 \u0633\u0645\u062a) \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f. <\/li>\n\n\n\n<li><strong>\u062e\u0637\u0648\u0637 \u06f1\u06f1 \u0648 \u06f1\u06f2<\/strong> \u0644\u0648\u067e \u0628\u0627\u0632\u06cc (Game Loop) \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u062a\u0627 \u0631\u0648\u06cc \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0628\u0633\u062a\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0646\u062a\u0631\u0644 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646 \u0631\u0627\u062c\u0639 \u0628\u0647 \u0644\u0648\u067e\u200c\u0647\u0627\u06cc \u0628\u0627\u0632\u06cc \u0635\u062d\u0628\u062a \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. <\/li>\n\n\n\n<li><strong>\u062e\u0637\u0648\u0637 \u06f1\u06f5 \u0648 \u06f1\u06f7<\/strong> \u0628\u0647 \u0627\u0633\u06a9\u0646 \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 (Events) \u062f\u0631 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u0646\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0631\u0627\u062c\u0639 \u0628\u0647 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0647\u0645 \u0635\u062d\u0628\u062a \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644\u060c \u062a\u0646\u0647\u0627 \u0631\u0648\u06cc\u062f\u0627\u062f\u060c <code>pygame.QUIT<\/code> \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627 \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \u0628\u0633\u062a\u0646 \u067e\u0646\u062c\u0631\u0647 \u0627\u062a\u0641\u0627\u0642 \u0645\u06cc\u200c\u0627\u0641\u062a\u062f. <\/li>\n\n\n\n<li><strong>\u062e\u0637 \u06f2\u06f0<\/strong> \u067e\u0646\u062c\u0631\u0647 \u0631\u0627 \u0628\u0627 \u06cc\u06a9 \u0631\u0646\u06af \u062c\u0627\u0645\u062f (Solid Color) \u067e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. <code>()screen.fill<\/code> \u0635\u0631\u0641\u0627 \u067e\u0630\u06cc\u0631\u0627\u06cc \u0644\u06cc\u0633\u062a \u06cc\u0627 \u062a\u0627\u067e\u0644\u06cc \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u06a9\u0647 \u0645\u0642\u0627\u062f\u06cc\u0631 RGB \u0631\u0646\u06af \u0631\u0627 \u0645\u0634\u062e\u0635 \u06a9\u0646\u062f. \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u0633\u0631\u0627\u063a \u0645\u0642\u062f\u0627\u0631 <code>(255, 255, 255)<\/code> \u0631\u0641\u062a\u0647\u200c\u0627\u06cc\u0645\u060c \u067e\u0646\u062c\u0631\u0647 \u0628\u0627 \u0631\u0646\u06af \u0633\u0641\u06cc\u062f \u067e\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n\n\n\n<li><strong>\u062e\u0637 \u06f2\u06f3<\/strong> \u0628\u0647 \u06a9\u0645\u06a9 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0632\u06cc\u0631\u060c \u06cc\u06a9 \u062f\u0627\u06cc\u0631\u0647 \u062f\u0631\u0648\u0646 \u067e\u0646\u062c\u0631\u0647 \u062a\u0631\u0633\u06cc\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f:\n<ul class=\"wp-block-list\">\n<li><strong><code>Screen<\/code><\/strong>: \u067e\u0646\u062c\u0631\u0647\u200c\u0627\u06cc \u06a9\u0647 \u062f\u0627\u06cc\u0631\u0647 \u062f\u0631\u0648\u0646 \u0622\u0646 \u0631\u0633\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n\n\n\n<li><strong><code>(0, 0, 255)<\/code><\/strong>: \u062a\u0627\u067e\u0644\u06cc \u06a9\u0647 \u062d\u0627\u0648\u06cc \u0645\u0642\u0627\u062f\u06cc\u0631 \u0631\u0646\u06af RGB \u0627\u0633\u062a. <\/li>\n\n\n\n<li><strong><code>(250, 250)<\/code><\/strong>: \u062a\u0627\u067e\u0644\u06cc \u06a9\u0647 \u0645\u062e\u062a\u0635\u0627\u062a \u062f\u0627\u06cc\u0631\u0647 \u0645\u0631\u06a9\u0632\u06cc \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f. <\/li>\n\n\n\n<li><strong><code>75<\/code><\/strong>: \u0634\u0639\u0627\u0639 \u062f\u0627\u06cc\u0631\u0647 (\u0628\u0647 \u0648\u0627\u062d\u062f \u067e\u06cc\u06a9\u0633\u0644).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u062e\u0637 \u06f2\u06f6<\/strong> \u0645\u062d\u062a\u0648\u0627\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0631\u0648\u0646 \u067e\u0646\u062c\u0631\u0647 \u0631\u0627 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646 \u0641\u0631\u0645\u0627\u0646\u060c \u0647\u06cc\u0686\u200c\u0686\u06cc\u0632\u06cc \u062f\u0631\u0648\u0646 \u067e\u0646\u062c\u0631\u0647 \u0638\u0627\u0647\u0631 \u0646\u062e\u0648\u0627\u0647\u062f \u0634\u062f. <\/li>\n\n\n\n<li><strong>\u062e\u0637 \u06f2\u06f9<\/strong> \u0646\u06cc\u0632 PyGame \u0631\u0627 \u0645\u06cc\u200c\u0628\u0646\u062f\u062f. \u0627\u06cc\u0646 \u0627\u062a\u0641\u0627\u0642 \u062a\u0646\u0647\u0627 \u0632\u0645\u0627\u0646\u06cc \u0631\u062e \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0644\u0648\u067e \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0631\u0633\u06cc\u062f\u0647 \u0628\u0627\u0634\u062f.<\/li>\n<\/ul>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u06a9\u0647 \u062f\u0627\u0646\u0634\u06cc \u06a9\u0644\u06cc \u0631\u0627\u062c\u0639 \u0628\u0647 \u062f\u0633\u062a \u0622\u0648\u0631\u062f\u0647\u200c\u0627\u06cc\u0645\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0645\u0641\u0627\u0647\u06cc\u0645 \u067e\u0634\u062a \u0627\u06cc\u0646 \u06a9\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85_%D9%85%D9%87%D9%85_%D8%AF%D8%B1_%D9%81%D8%B1%D8%A7%DB%8C%D9%86%D8%AF_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86_%D9%88_PyGame\"><\/span>\u0645\u0641\u0627\u0647\u06cc\u0645 \u0645\u0647\u0645 \u062f\u0631 \u0641\u0631\u0627\u06cc\u0646\u062f \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 PyGame<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 PyGame \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 SDL \u0633\u0627\u062e\u062a\u0627\u0631\u06cc \u067e\u0631\u062a\u0627\u0628\u0644 \u0631\u0648\u06cc \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627 \u0648 \u062f\u0633\u062a\u06af\u0627\u0647\u200c\u0647\u0627\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u062f\u0627\u0631\u0646\u062f\u060c \u0628\u0627\u06cc\u062f \u0628\u0627 \u0627\u0646\u0648\u0627\u0639 \u0627\u0646\u062a\u0632\u0627\u0639 (Abstractions) \u0631\u0648\u06cc \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u0633\u0631 \u0648 \u06a9\u0644\u0647 \u0628\u0632\u0646\u06cc\u062f. \u0628\u0627 \u062f\u0631\u06a9 \u0627\u06cc\u0646 \u0645\u0641\u0627\u0647\u06cc\u0645 \u0648 \u0627\u0646\u062a\u0632\u0627\u0639\u200c\u0647\u0627\u060c \u0628\u0627 \u0633\u0647\u0648\u0644\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627\u0632\u06cc\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0637\u0631\u0627\u062d\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u06cc\u062f. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0648 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627<\/h3>\n\n\n\n<p>\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0627\u0632 \u0686\u0646\u062f\u06cc\u0646 \u0633\u0627\u0632\u0647 (Construct) \u067e\u0627\u06cc\u062a\u0648\u0646 \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u06a9\u0647 \u0647\u0631\u06a9\u062f\u0627\u0645 \u0686\u0646\u062f\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 (Module) \u062f\u0631 \u062e\u0648\u062f \u062c\u0627\u06cc \u062f\u0627\u062f\u0647\u200c\u0627\u0646\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u0627\u0646\u062a\u0632\u0627\u0639\u06cc \u0628\u0647 \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631\u06cc \u0628\u0647\u200c\u062e\u0635\u0648\u0635 \u0631\u0627 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646\u200c\u067e\u0630\u06cc\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u0627\u0632 \u0637\u0631\u0641 \u062f\u06cc\u06af\u0631 \u0628\u0647 \u0645\u062a\u062f\u0647\u0627\u06cc \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f \u06a9\u0647 \u0628\u0627 \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631 \u0647\u0645\u06af\u0627\u0645 \u0634\u0648\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 <code>display<\/code> \u0627\u0645\u06a9\u0627\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u06cc\u06a9\u067e\u0627\u0631\u0686\u0647 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634\u06af\u0631 \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u0645\u0647\u06cc\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 <code>joystick<\/code> \u0647\u0645 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u0628\u0647 \u062c\u0648\u06cc\u200c\u0627\u0633\u062a\u06cc\u06a9 \u062e\u0648\u062f \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. <\/p>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0645\u067e\u0648\u0631\u062a \u06a9\u0631\u062f\u0646 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u062f\u0631 \u0645\u062b\u0627\u0644 \u0628\u0627\u0644\u0627\u060c \u0646\u062e\u0633\u062a\u06cc\u0646 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0627\u0646\u062c\u0627\u0645 \u062f\u0627\u062f\u06cc\u0645\u060c \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc PyGame \u0628\u0647 \u06a9\u0645\u06a9 <code>()pygame.init<\/code> \u0628\u0648\u062f. \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0627\u0632 \u0645\u06cc\u0627\u0646 \u062a\u0645\u0627\u0645 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 PyGame\u060c \u062a\u0648\u0627\u0628\u0639 <code>()init<\/code> \u0631\u0627 \u062c\u062f\u0627 \u0648 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u062f\u0631 \u0648\u0627\u0642\u0639 \u0627\u0646\u062a\u0632\u0627\u0639\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u0628\u0647\u200c\u062e\u0635\u0648\u0635 \u0647\u0633\u062a\u0646\u062f\u060c \u0645\u0631\u062d\u0644\u0647 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc (Initialization) \u0634\u06a9\u0644\u06cc \u0636\u0631\u0648\u0631\u06cc \u0628\u0647 \u062e\u0648\u062f \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u06a9\u062f\u06cc \u06cc\u06a9\u0633\u0627\u0646 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644\u200c\u0647\u0627\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u060c \u0648\u06cc\u0646\u062f\u0648\u0632 \u0648 macOS \u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">Display\u0647\u0627 \u0648 Surface\u0647\u0627<\/h3>\n\n\n\n<p>\u06af\u0630\u0634\u062a\u0647 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u060c PyGame \u062d\u0627\u0648\u06cc \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0644\u0627\u0633 (Class) \u067e\u0627\u06cc\u062a\u0648\u0646 \u0646\u06cc\u0632 \u0647\u0633\u062a \u06a9\u0647 \u0645\u0641\u0627\u0647\u06cc\u0645 \u063a\u06cc\u0631 \u0645\u062a\u06a9\u06cc \u0628\u0631 \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631 \u0631\u0627 \u062f\u0631 \u0628\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f. \u06cc\u06a9\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c Surface \u0646\u0627\u0645 \u062f\u0627\u0631\u062f \u0648 \u062f\u0631 \u0633\u0627\u062f\u0647\u200c\u062a\u0631\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u0633\u0637\u062d\u06cc \u0645\u0633\u062a\u0637\u06cc\u0644\u06cc \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631\u062a\u0627\u0646 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u062f \u06a9\u0647 \u0642\u0627\u062f\u0631 \u0628\u0647 \u0637\u0631\u0627\u062d\u06cc \u0631\u0648\u06cc \u0622\u0646 \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0648\u062f. \u0627\u0634\u06cc\u0627 \u06cc\u0627 \u0622\u0628\u062c\u06a9\u062a\u200c\u200c\u0647\u0627\u06cc Surface \u06a9\u0627\u0631\u0628\u0631\u062f\u0647\u0627\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646\u06cc \u062f\u0631 PyGame \u062f\u0627\u0631\u0646\u062f \u0648 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u06cc\u062f \u06a9\u0647 \u0686\u0637\u0648\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u062f\u0631\u0648\u0646 Surface \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0631\u062f \u0648 \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0631\u0622\u0648\u0631\u062f. <\/p>\n\n\n\n<p>\u062f\u0631 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame\u060c \u0647\u0645\u0647\u200c\u0686\u06cc\u0632 \u062f\u0631\u0648\u0646 \u06cc\u06a9 Display \u0628\u0647\u200c\u062e\u0635\u0648\u0635 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0631\u0645\u06cc\u200c\u0622\u06cc\u062f \u0648 \u0627\u06cc\u0646 \u00ab\u062f\u06cc\u0633\u067e\u0644\u06cc\u00bb \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u06cc\u06a9 \u067e\u0646\u062c\u0631\u0647 \u06cc\u0627 \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0628\u0627\u0634\u062f. \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u062f\u06cc\u0633\u067e\u0644\u06cc \u0627\u0632 \u062a\u0627\u0628\u0639 <code>()set_mode.<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 Surface \u06cc\u0627 \u0633\u0637\u062d\u06cc \u0631\u0627 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0631\u0645\u06cc\u200c\u0622\u0648\u0631\u062f \u06a9\u0647 \u062f\u0631\u0648\u0646 \u067e\u0646\u062c\u0631\u0647 \u0642\u0627\u0628\u0644 \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f. \u0628\u0647 \u06a9\u0645\u06a9 Surface \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0633\u0631\u0627\u063a \u062a\u0648\u0627\u0628\u0639 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0637\u0631\u0627\u062d\u06cc \u0645\u0627\u0646\u0646\u062f <code>()pygame.draw.circle<\/code> \u0628\u0631\u0648\u06cc\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0627\u0628\u0639 <code>()pygame.display.flip<\/code> \u0646\u06cc\u0632 Surface \u0628\u0647 \u062f\u0631\u0648\u0646 \u062f\u06cc\u0633\u067e\u0644\u06cc \u0641\u0631\u0633\u062a\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u062a\u0635\u0627\u0648\u06cc\u0631 \u0648 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc Rect<\/h3>\n\n\n\n<p>\u062f\u0631 \u0633\u0627\u062f\u0647\u200c\u062a\u0631\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u0628\u0631\u0646\u0627\u0645\u0647 PyGame \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062a\u0645\u0627\u0645 \u0627\u0634\u06a9\u0627\u0644 (Shapes) \u0631\u0627 \u062f\u0631 \u0633\u0637\u062d \u062f\u06cc\u0633\u067e\u0644\u06cc \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0631\u0645\u06cc\u200c\u0622\u0648\u0631\u062f \u0648 \u062e\u0628\u0631 \u062e\u0648\u0628 \u0627\u06cc\u0646\u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0639\u0648\u0636 \u0628\u0647 \u0633\u0631\u0627\u063a \u062a\u0635\u0627\u0648\u06cc\u0631 \u0630\u062e\u06cc\u0631\u0647\u200c\u0634\u062f\u0647 \u062f\u0631 \u062f\u06cc\u0633\u06a9 \u0646\u06cc\u0632 \u0628\u0631\u0648\u06cc\u062f. \u0645\u0627\u0698\u0648\u0644 Image \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u062a\u0635\u0627\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0641\u0631\u0645\u062a\u200c\u0647\u0627\u06cc \u0631\u0627\u06cc\u062c \u062f\u0627\u0631\u0646\u062f \u0631\u0627 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0648 \u0630\u062e\u06cc\u0631\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u062a\u0635\u0627\u0648\u06cc\u0631 \u062f\u0631\u0648\u0646 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc Surface \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u062f\u0633\u062a\u06a9\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u06cc\u0627 \u0646\u062d\u0648\u0647 \u0646\u0645\u0627\u06cc\u0634\u200c \u0647\u0631 \u06cc\u06a9 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f.<\/p>\n\n\n\n<p>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u067e\u06cc\u0634\u200c\u062a\u0631 \u0646\u06cc\u0632 \u06af\u0641\u062a\u06cc\u0645\u060c \u0622\u0628\u06a9\u062c\u062a\u200c\u0647\u0627\u06cc Surface \u0628\u0647 \u0634\u06a9\u0644 \u0645\u0633\u062a\u0637\u06cc\u0644 \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u060c \u0627\u0645\u0627 \u0627\u0646\u0628\u0648\u0647\u06cc \u0622\u0628\u062c\u06a9\u062a \u062f\u06cc\u06af\u0631 \u0646\u06cc\u0632 \u062f\u0631 PyGame \u062f\u0627\u0631\u06cc\u0645\u060c \u0645\u062b\u0644\u0627 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0648 \u067e\u0646\u062c\u0631\u0647\u200c\u0647\u0627. \u0627\u0645\u0627 \u06a9\u0627\u0631\u0628\u0631\u062f \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc \u0645\u0633\u062a\u0637\u06cc\u0644\u06cc \u0622\u0646\u0642\u062f\u0631 \u0632\u06cc\u0627\u062f \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0645\u062e\u0635\u0648\u0635 \u0628\u0647 \u0646\u0627\u0645 Rect \u0628\u0631\u0627\u06cc \u0622\u0646\u200c\u0647\u0627 \u067e\u06cc\u062f\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0648 \u0622\u0628\u06a9\u062c\u062a\u200c\u0647\u0627\u06cc Rect \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0637\u0631\u0627\u062d\u06cc \u0634\u062e\u0635\u06cc\u062a \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0648 \u0634\u062e\u0635\u06cc\u062a\u200c\u0647\u0627\u06cc \u062f\u0634\u0645\u0646 \u0645\u0634\u063a\u0648\u0644 \u0634\u0648\u06cc\u062f \u0648 \u0628\u0631\u062e\u0648\u0631\u062f (Collision) \u0645\u06cc\u0627\u0646 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0646\u06cc\u0632 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"basic-game-design\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%D9%85%D8%A8%D8%A7%D9%86%DB%8C_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\"><\/span>\u0645\u0628\u0627\u0646\u06cc \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0641\u0631\u0627\u06cc\u0646\u062f \u06a9\u062f\u0646\u0648\u06cc\u0633\u06cc \u0631\u0627 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u062f\u060c \u062e\u0648\u0628 \u0627\u0633\u062a \u0627\u06cc\u062f\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0644\u06cc \u0631\u0627\u062c\u0639 \u0628\u0647 \u0628\u0627\u0632\u06cc \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062e\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0633\u0627\u062e\u062a\u0627\u0631 \u0622\u0645\u0648\u0632\u0634\u06cc \u062f\u0627\u0631\u062f\u060c \u0633\u0639\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0642\u0648\u0627\u0639\u062f\u06cc \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u06af\u06cc\u0645\u200c\u067e\u0644\u06cc \u0628\u0627\u0632\u06cc \u062f\u0648 \u0628\u0639\u062f\u06cc \u062e\u0648\u062f \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u0645. \u062f\u0631 \u063a\u0627\u06cc\u06cc\u200c\u062a\u0631\u06cc\u0646 \u062d\u0627\u0644\u062a\u060c \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0628\u0627\u0632\u06cc \u0633\u0627\u062f\u0647\u200c\u0627\u06cc \u0647\u0633\u062a\u06cc\u0645 \u06a9\u0647 \u0647\u0645\u0686\u0648\u0646 \u0628\u0627\u0632\u06cc \u06a9\u0644\u0627\u0633\u06cc\u06a9 River Raid\u060c \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0631\u0627 \u062f\u0631 \u0646\u0642\u0634 \u06cc\u06a9 \u0647\u0648\u0627\u067e\u06cc\u0645\u0627 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0645\u06cc\u0627\u0646 \u0645\u0648\u0627\u0646\u0639\u06cc \u0645\u062a\u062d\u0631\u06a9 \u0639\u0628\u0648\u0631 \u06a9\u0646\u062f\u060c \u0627\u0644\u0628\u062a\u0647 \u0628\u062f\u0648\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a \u062a\u06cc\u0631\u0627\u0646\u062f\u0627\u0632\u06cc River Raid. \u0646\u06a9\u062a\u0647 \u0645\u0647\u0645 \u0627\u06cc\u0646\u06a9\u0647 \u0641\u0636\u0627\u06cc \u06a9\u0644\u06cc \u0628\u0627\u0632\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0633\u062a\u0647 \u0628\u0647 \u0633\u0644\u06cc\u0642\u0647 \u0634\u0645\u0627 \u0628\u0647 \u0647\u0631 \u0634\u06a9\u0644\u06cc \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0628\u0647 \u0633\u0631\u0627\u063a \u0639\u0646\u0627\u0635\u0631 \u0628\u0635\u0631\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646\u06cc \u0645\u06cc\u200c\u0631\u0648\u06cc\u0645 \u06a9\u0647 \u067e\u0631\u0648\u0627\u0632 \u062f\u0631 \u0622\u0633\u0645\u0627\u0646 \u0631\u0627 \u0634\u0628\u06cc\u0647\u200c\u0633\u0627\u0632\u06cc \u062e\u0648\u0627\u0647\u0646\u062f \u06a9\u0631\u062f. \u0642\u0648\u0627\u0639\u062f \u0628\u0627\u0632\u06cc \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0647\u062f\u0641 \u0627\u0635\u0644\u06cc \u062f\u0631 \u0628\u0627\u0632\u06cc\u060c \u0627\u062c\u062a\u0646\u0627\u0628 \u0627\u0632 \u0628\u0631\u062e\u0648\u0631\u062f \u0628\u0627 \u0645\u0648\u0627\u0646\u0639 \u0645\u062e\u062a\u0644\u0641 \u0627\u0633\u062a:\n<ul class=\"wp-block-list\">\n<li>\u0628\u0627\u0632\u06cc\u06a9\u0646 \u062f\u0631 \u0633\u0645\u062a \u0686\u067e \u0635\u0641\u062d\u0647 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0648 \u0628\u0647 \u0633\u0645\u062a \u0631\u0627\u0633\u062a \u062d\u0631\u06a9\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u0645\u0648\u0627\u0646\u0639 \u0645\u062e\u062a\u0644\u0641 \u0628\u0647 \u0635\u0648\u0631\u062a \u0627\u062a\u0641\u0627\u0642\u06cc \u0627\u0632 \u0633\u0645\u062a \u0631\u0627\u0633\u062a \u0635\u0641\u062d\u0647 \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u062f\u0631 \u0645\u0633\u06cc\u0631\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645\u060c \u0628\u0647 \u0633\u0645\u062a \u0686\u067e \u062d\u0631\u06a9\u062a \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0628\u0627\u0632\u06cc\u06a9\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0633\u0645\u062a \u0686\u067e\u060c \u0631\u0627\u0633\u062a\u060c \u0628\u0627\u0644\u0627 \u06cc\u0627 \u067e\u0627\u06cc\u06cc\u0646 \u062d\u0631\u06a9\u062a \u0648 \u0627\u0632 \u0628\u0631\u062e\u0648\u0631\u062f \u0628\u0627 \u0645\u0648\u0627\u0646\u0639 \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u062f. <\/li>\n\n\n\n<li>\u0628\u0627\u0632\u06cc\u06a9\u0646 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u062f.<\/li>\n\n\n\n<li>\u0628\u0627\u0632\u06cc \u0632\u0645\u0627\u0646\u06cc \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0645\u06cc\u200c\u0631\u0633\u062f \u06a9\u0647 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0627 \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0648\u0627\u0646\u0639 \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0646\u062f \u06cc\u0627 \u067e\u0646\u062c\u0631\u0647 \u0628\u0627\u0632\u06cc \u0631\u0627 \u0628\u0628\u0646\u062f\u062f. <\/li>\n<\/ul>\n\n\n\n<p>\u06cc\u06a9\u06cc \u062f\u06cc\u06af\u0631 \u0627\u0632 \u067e\u06cc\u0634\u200c\u0646\u06cc\u0627\u0632\u0647\u0627\u060c \u062a\u0639\u06cc\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0642\u0631\u0627\u0631 \u0646\u06cc\u0633\u062a \u062f\u0631 \u0628\u0627\u0632\u06cc \u062e\u0648\u062f \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u062f\u0631 \u0627\u06cc\u0646 \u0628\u0627\u0632\u06cc \u0633\u0627\u062f\u0647\u060c \u062e\u0628\u0631\u06cc \u0627\u0632 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0646\u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li> \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0686\u0646\u062f \u062c\u0627\u0646 \u0646\u062f\u0627\u0631\u062f.<\/li>\n\n\n\n<li>\u0627\u0645\u062a\u06cc\u0627\u0632 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u067e\u0627\u06cc\u0634 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n\n\n\n<li>\u0628\u0627\u0632\u06cc\u06a9\u0646 \u0642\u0627\u062f\u0631 \u0628\u0647 \u062d\u0645\u0644\u0647 \u0646\u06cc\u0633\u062a. <\/li>\n\n\n\n<li>\u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0647 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u06cc \u0646\u0645\u06cc\u200c\u0631\u0648\u062f. <\/li>\n\n\n\n<li>\u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0627 \u0647\u06cc\u0686 \u063a\u0648\u0644\u0622\u062e\u0631\u06cc (Boss Fight) \u0631\u0648\u0628\u0647\u200c\u0631\u0648 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f. <\/li>\n<\/ul>\n\n\n\n<p>\u0627\u0644\u0628\u062a\u0647 \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0645\u0627\u0645\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f \u0631\u0627 \u0647\u0645 \u0628\u0647 \u0628\u0627\u0632\u06cc \u062e\u0648\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0633\u0639\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0647\u0645\u0647\u200c\u0686\u06cc\u0632 \u0631\u0627 \u062f\u0631 \u0633\u0627\u062f\u0647\u200c\u062a\u0631\u06cc\u0646 \u062d\u0627\u0644\u062a \u0645\u0645\u06a9\u0646 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u0645. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u0627\u06cc\u0645\u067e\u0648\u0631\u062a \u06a9\u0631\u062f\u0646 \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc PyGame<\/h3>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 PyGame \u0631\u0627 \u0627\u06cc\u0645\u067e\u0648\u0631\u062a \u06a9\u0631\u062f\u06cc\u062f\u060c \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0622\u0646 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a. \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628\u060c PyGame \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u0627\u0646\u062a\u0632\u0627\u0639\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631\u0647\u0627\u06cc \u0634\u0645\u0627 \u0645\u062a\u0635\u0644 \u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Import the pygame module\nimport pygame\n\n# Import pygame.locals for easier access to key coordinates\n# Updated to conform to flake8 and black standards\nfrom pygame.locals import (\n    K_UP,\n    K_DOWN,\n    K_LEFT,\n    K_RIGHT,\n    K_ESCAPE,\n    KEYDOWN,\n    QUIT,\n)\n\n# Initialize pygame\npygame.init()<\/code><\/pre>\n\n\n\n<p>\u0628\u0627 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06af\u0630\u0634\u062a\u0647 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0648 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u060c \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0645\u062a\u0639\u062f\u062f\u06cc \u0631\u0627 \u062f\u0633\u062a\u062e\u0648\u0634 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0645\u062d\u0644\u06cc (Local Constants) \u0631\u0627 \u0628\u0631\u0627\u06cc \u0686\u06cc\u0632\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u060c \u062d\u0631\u06a9\u0627\u062a \u0645\u0627\u0648\u0633 \u0648 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u062f\u06cc\u0633\u067e\u0644\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0631\u0641\u0631\u0646\u0633 \u062f\u0627\u062f\u0646 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u060c \u0628\u0647 \u0633\u0631\u0627\u063a \u0633\u06cc\u0646\u062a\u06a9\u0633 <code>&lt;pygame.&lt;CONSTANT<\/code> \u0645\u06cc\u200c\u0631\u0648\u06cc\u0645. \u0628\u0627 \u0627\u06cc\u0645\u067e\u0648\u0631\u062a \u06a9\u0631\u062f\u0646 \u0627\u06cc\u0646 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0628\u0647\u200c\u062e\u0635\u0648\u0635 \u0627\u0632 <code>pygame.locals<\/code> \u0646\u06cc\u0632 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0639\u0648\u0636 \u0628\u0647 \u0633\u0631\u0627\u063a \u0633\u06cc\u0646\u062a\u06a9\u0633 <code>&lt;CONSTANT&gt;<\/code> \u0628\u0631\u0648\u06cc\u062f \u0648 \u062e\u0648\u0627\u0646\u0627\u06cc\u06cc \u06a9\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0647\u0628\u0648\u062f \u0628\u0628\u062e\u0634\u06cc\u062f. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u062f\u06cc\u0633\u067e\u0644\u06cc <\/h3>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0628\u0648\u0645\u06cc \u062f\u0627\u0631\u06cc\u0645 \u06a9\u0647 \u0628\u0627\u0632\u06cc \u0631\u0648\u06cc \u0622\u0646 \u0637\u0631\u0627\u062d\u06cc \u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u067e\u0633 \u0628\u0627\u06cc\u062f \u06cc\u06a9 Screen \u06cc\u0627 \u0635\u0641\u062d\u0647 \u0628\u0633\u0627\u0632\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Import the pygame module\nimport pygame\n\n# Import pygame.locals for easier access to key coordinates\n# Updated to conform to flake8 and black standards\nfrom pygame.locals import (\n    K_UP,\n    K_DOWN,\n    K_LEFT,\n    K_RIGHT,\n    K_ESCAPE,\n    KEYDOWN,\n    QUIT,\n)\n\n# Initialize pygame\npygame.init()\n\n# Define constants for the screen width and height\nSCREEN_WIDTH = 800\nSCREEN_HEIGHT = 600\n\n# Create the screen object\n# The size is determined by the constant SCREEN_WIDTH and SCREEN_HEIGHT\nscreen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))<\/code><\/pre>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06cc\u0627 \u0635\u0641\u062d\u0647 \u0627\u0632 \u062a\u0627\u0628\u0639 <code>()pygame.display.set_mode<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0648 \u062a\u0627\u067e\u0644 \u06cc\u0627 \u0644\u06cc\u0633\u062a\u06cc \u062d\u0627\u0648\u06cc \u0637\u0648\u0644 \u0648 \u0639\u0631\u0636 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0622\u0646 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u06cc\u0645. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644\u060c \u0627\u0628\u0639\u0627\u062f \u067e\u0646\u062c\u0631\u0647 \u0645\u0627 \u0645\u0639\u0627\u062f\u0644 800&#215;600 \u067e\u06cc\u06a9\u0633\u0644 \u0627\u0633\u062a \u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 <code>SCREEN_WIDTH<\/code> \u0648 <code>SCREEN_HEIGHT<\/code> \u062f\u0631 \u062e\u0637\u0648\u0637 \u06f2\u06f0 \u0648 \u06f2\u06f1 \u062a\u0639\u06cc\u06cc\u0646 \u0634\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639\u060c Surface \u06cc\u0627 \u0633\u0637\u062d\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u0634\u062a \u06a9\u0647 \u0646\u0645\u0627\u06cc\u0627\u0646\u06af\u0631 \u0627\u0628\u0639\u0627\u062f \u062f\u0631\u0648\u0646 \u067e\u0646\u062c\u0631\u0647 \u0627\u0633\u062a. \u06a9\u0646\u062a\u0631\u0644 \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0627\u0632 \u067e\u0646\u062c\u0631\u0647 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0634\u0645\u0627 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0648 \u0628\u0627\u0642\u06cc \u0628\u062e\u0634\u200c\u0647\u0627 &#8211; \u0645\u0627\u0646\u0646\u062f \u0644\u0628\u0647\u200c\u0647\u0627\u06cc \u067e\u0646\u062c\u0631\u0647 \u0648 \u0646\u0648\u0627\u0631 \u0639\u0646\u0648\u0627\u0646 &#8211; \u062a\u0648\u0633\u0637 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u06a9\u0646\u062a\u0631\u0644 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. <\/p>\n\n\n\n<p>\u0627\u06af\u0631 \u0627\u06a9\u0646\u0648\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645\u060c \u0645\u06cc\u200c\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u067e\u0646\u062c\u0631\u0647 \u0628\u0631\u0627\u06cc \u0644\u062d\u0638\u0647\u200c\u0627\u06cc \u06a9\u0648\u062a\u0627\u0647 \u0638\u0627\u0647\u0631 \u0648 \u0633\u067e\u0633 \u0628\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 \u0628\u062e\u0634 \u0628\u0639\u062f\u06cc \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0631\u0648\u06cc \u0644\u0648\u067e \u0627\u0635\u0644\u06cc \u0628\u0627\u0632\u06cc \u062a\u0645\u0631\u06a9\u0632 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u062a\u0646\u0647\u0627 \u0632\u0645\u0627\u0646\u06cc \u0628\u0633\u062a\u0647 \u0634\u0648\u062f \u06a9\u0647 \u0648\u0631\u0648\u062f\u06cc \u0635\u062d\u06cc\u062d \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631\u0634 \u0628\u06af\u0630\u0627\u0631\u06cc\u0645. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0644\u0648\u067e \u0628\u0627\u0632\u06cc<\/h3>\n\n\n\n<p>\u062a\u0645\u0627\u0645 \u0628\u0627\u0632\u06cc\u200c\u0647\u0627\u060c \u0627\u0632 \u0639\u0646\u0648\u0627\u0646 \u06a9\u0644\u0627\u0633\u06cc\u06a9 Pong \u06af\u0631\u0641\u062a\u0647 \u062a\u0627 Fortnite \u0648 Call of Duty \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06cc\u06a9 \u00ab\u062d\u0644\u0642\u0647 \u0628\u0627\u0632\u06cc\u00bb (Game Loop) \u0628\u0631\u0627\u06cc \u06a9\u0646\u062a\u0631\u0644 \u06af\u06cc\u0645\u200c\u067e\u0644\u06cc \u062f\u0627\u0631\u0646\u062f. \u062d\u0644\u0642\u0647 \u06cc\u0627 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0686\u0647\u0627\u0631 \u0648\u0638\u06cc\u0641\u0647 \u0645\u0647\u0645 \u062f\u0627\u0631\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u067e\u0631\u062f\u0627\u0632\u0634 \u0648\u0631\u0648\u062f\u06cc \u06cc\u0627 \u0627\u06cc\u0646\u067e\u0648\u062a (Input) \u06a9\u0627\u0631\u0628\u0631<\/li>\n\n\n\n<li>\u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0648\u0636\u0639\u06cc\u062a \u062a\u0645\u0627\u0645 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc \u0628\u0627\u0632\u06cc<\/li>\n\n\n\n<li>\u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u062e\u0631\u0648\u062c\u06cc \u0635\u062f\u0627 \u0648 \u062a\u0635\u0648\u06cc\u0631<\/li>\n\n\n\n<li>\u062d\u0641\u0638 \u0633\u0631\u0639\u062a \u0628\u0627\u0632\u06cc<\/li>\n<\/ul>\n\n\n\n<p>\u0628\u0647 \u0647\u0631 \u0633\u06cc\u06a9\u0644 \u0627\u0632 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u00ab\u0641\u0631\u06cc\u0645\u00bb (Frame) \u06af\u0641\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0647\u0631\u0686\u0647 \u0648\u0638\u0627\u06cc\u0641 \u0647\u0631 \u0633\u06cc\u06a9\u0644 \u0633\u0631\u06cc\u0639\u200c\u062a\u0631 \u0628\u0647 \u0627\u0646\u062c\u0627\u0645 \u0628\u0631\u0633\u062f\u060c \u0628\u0627\u0632\u06cc \u0647\u0645 \u0628\u0627 \u0633\u0631\u0639\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0645\u0627\u062f\u0627\u0645\u06cc \u06a9\u0647 \u0634\u0631\u0627\u06cc\u0637 \u062e\u0631\u0648\u062c \u0627\u0632 \u0628\u0627\u0632\u06cc \u0628\u0631\u0622\u0648\u0631\u062f\u0647 \u0646\u0634\u0648\u062f\u060c \u0641\u0631\u06cc\u0645\u200c\u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u06cc\u200c\u062f\u0631\u067e\u06cc\u200c \u0627\u0632 \u0631\u0627\u0647 \u062e\u0648\u0627\u0647\u0646\u062f \u0631\u0633\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0628\u0627\u0632\u06cc \u0633\u0627\u062f\u0647\u060c \u062f\u0648 \u0634\u0631\u0637 \u0628\u0631\u0627\u06cc \u067e\u0627\u06cc\u0627\u0646 \u062f\u0627\u062f\u0646 \u0628\u0647 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0627 \u06cc\u06a9 \u0645\u0627\u0646\u0639 \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0646\u062f (\u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0646\u062d\u0648\u0647 \u062a\u0634\u062e\u06cc\u0635 \u0628\u0631\u062e\u0648\u0631\u062f \u0631\u0627 \u062a\u0648\u0636\u06cc\u062d \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645).<\/li>\n\n\n\n<li>\u0628\u0627\u0632\u06cc\u06a9\u0646 \u067e\u0646\u062c\u0631\u0647 \u0628\u0627\u0632\u06cc \u0631\u0627 \u0628\u0628\u0646\u062f\u062f. <\/li>\n<\/ul>\n\n\n\n<p>\u0646\u062e\u0633\u062a\u06cc\u0646 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u062f\u060c \u067e\u0631\u062f\u0627\u0632\u0634 \u0648\u0631\u0648\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0627\u0633\u062a \u062a\u0627 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u062a\u0648\u0627\u0646\u062f \u062f\u0631 \u0633\u0631\u0627\u0633\u0631 \u0635\u0641\u062d\u0647 \u062d\u0631\u06a9\u062a \u06a9\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0631\u0627\u0647\u06cc \u0628\u0631\u0627\u06cc \u062b\u0628\u062a \u0648 \u067e\u0631\u062f\u0627\u0632\u0634 \u0627\u0646\u0648\u0627\u0639 \u0648\u0631\u0648\u062f\u06cc\u200c\u0647\u0627 \u062f\u0627\u0631\u06cc\u0645. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0647 \u0633\u0631\u0627\u063a \u0633\u06cc\u0633\u062a\u0645 \u0631\u0648\u06cc\u062f\u0627\u062f PyGame \u0645\u06cc\u200c\u0631\u0648\u06cc\u0645. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u067e\u0631\u062f\u0627\u0632\u0634 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627<\/h3>\n\n\n\n<p>\u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0628\u0647 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u0645\u0627\u0646\u0646\u062f \u0641\u0634\u0631\u062f\u0646 \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u06cc\u0628\u0648\u0631\u062f \u06cc\u0627 \u062d\u0631\u06a9\u062a \u062f\u0627\u062f\u0646 \u0645\u0627\u0648\u0633 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0648\u0631\u0648\u062f\u06cc \u06cc\u0627 \u0627\u06cc\u0646\u067e\u0648\u062a \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0628\u0627\u0632\u06cc \u0628\u06af\u0630\u0627\u0631\u0646\u062f. \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u0648\u0631\u0648\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u06cc\u06a9 \u00ab\u0631\u0648\u06cc\u062f\u0627\u062f\u00bb (Event) \u062c\u062f\u06cc\u062f \u0634\u06a9\u0644 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f. \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062f\u0631 \u0647\u0631 \u0632\u0645\u0627\u0646\u06cc \u0627\u062a\u0641\u0627\u0642 \u0628\u06cc\u0641\u062a\u0646\u062f \u0648 \u0645\u0639\u0645\u0648\u0644\u0627 (\u0627\u0645\u0627 \u0646\u0647 \u0647\u0645\u06cc\u0634\u0647) \u0633\u0631\u0645\u0646\u0634\u0627\u06cc\u06cc \u0628\u06cc\u0631\u0648\u0646 \u0627\u0632 \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0627\u0631\u0646\u062f. \u062a\u0645\u0627\u0645 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc PyGame \u062f\u0631 \u00ab\u0635\u0641 \u0631\u0648\u06cc\u062f\u0627\u062f\u00bb (Event Queue) \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f \u062a\u0627 \u0628\u062a\u0648\u0627\u0646 \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u06cc\u0627\u0641\u062a \u0648 \u062f\u0633\u062a\u06a9\u0627\u0631\u06cc\u200c\u0634\u0627\u0646 \u06a9\u0631\u062f. \u0628\u0647 \u0641\u0631\u0627\u06cc\u0646\u062f \u0633\u0631 \u0648 \u06a9\u0644\u0647 \u0632\u062f\u0646 \u0628\u0627 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u060c Event Handling \u06af\u0641\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u06a9\u062f\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u0648\u0638\u06cc\u0641\u0647 \u0631\u0627 \u0628\u0631\u0639\u0647\u062f\u0647 \u062f\u0627\u0631\u062f \u0646\u06cc\u0632 Event Handler \u0646\u0627\u0645 \u062f\u0627\u0631\u062f. <\/p>\n\n\n\n<p>\u062a\u0645\u0627\u0645 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc PyGame \u060c \u06cc\u06a9 \u00ab\u0646\u0648\u0639\u00bb (Type) \u0631\u0648\u06cc\u062f\u0627\u062f \u0645\u0631\u062a\u0628\u0637 \u0628\u0647 \u062e\u0648\u062f \u062f\u0627\u0631\u0646\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0628\u0627\u0632\u06cc\u060c \u0646\u0648\u0639 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0628\u0631 \u0622\u0646\u200c\u0647\u0627 \u062a\u0645\u0631\u06a9\u0632 \u06a9\u0646\u06cc\u0645\u060c \u00ab\u0641\u0634\u0631\u062f\u0646 \u062f\u06a9\u0645\u0647\u00bb (Keypresses) \u0648 \u00ab\u0628\u0633\u062a\u0646 \u067e\u0646\u062c\u0631\u0647\u00bb (Window Closure) \u0627\u0633\u062a. \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0641\u0634\u0631\u062f\u0646 \u062f\u06a9\u0645\u0647 \u0627\u0632 \u0646\u0648\u0639 KEYDOWN \u0647\u0633\u062a\u0646\u062f \u0648 \u0631\u0648\u06cc\u062f\u0627\u062f \u0628\u0633\u062a\u0646 \u067e\u0646\u062c\u0631\u0647 \u0647\u0645 \u0627\u0632 \u0646\u0648\u0639 QUIT \u0627\u0633\u062a. \u0646\u0627\u06af\u0641\u062a\u0647 \u0646\u0645\u0627\u0646\u062f \u06a9\u0647 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0646\u06cc\u0632 \u062f\u0631 \u0628\u0631 \u0628\u06af\u06cc\u0631\u0646\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u0631\u0648\u06cc\u062f\u0627\u062f \u0646\u0648\u0639 KEYDOWN \u0645\u062a\u063a\u06cc\u0631\u06cc \u0628\u0647 \u0646\u0627\u0645 <code>key<\/code> \u062f\u0627\u0631\u062f \u06a9\u0647 \u0646\u0634\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0686\u0647 \u062f\u06a9\u0645\u0647\u200c\u0627\u06cc \u0641\u0634\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. <\/p>\n\n\n\n<p>\u0628\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0627\u0628\u0639 <code>()pygame.event.get<\/code> \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0641\u0647\u0631\u0633\u062a \u062a\u0645\u0627\u0645 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0641\u0639\u0627\u0644 \u062f\u0631 \u0635\u0641 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f. \u0633\u067e\u0633 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0646\u062a\u0638\u0631 \u0628\u0631\u0631\u0633\u06cc \u0646\u0648\u0639 \u0647\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f \u0648 \u0648\u0627\u06a9\u0646\u0634 \u0645\u0646\u0627\u0633\u0628 \u0628\u0647 \u0622\u0646 \u0628\u0627\u0634\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Variable to keep the main loop running\nrunning = True\n\n# Main loop\nwhile running:\n    # Look at every event in the queue\n    for event in pygame.event.get():\n        # Did the user hit a key?\n        if event.type == KEYDOWN:\n            # Was it the Escape key? If so, stop the loop.\n            if event.key == K_ESCAPE:\n                running = False\n\n        # Did the user click the window close button? If so, stop the loop.\n        elif event.type == QUIT:\n            running = False<\/code><\/pre>\n\n\n\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0646\u06af\u0627\u0647\u06cc \u062f\u0642\u06cc\u0642\u200c\u062a\u0631 \u0628\u0647 \u0627\u06cc\u0646 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u0645:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u062e\u0637 \u06f2<\/strong> \u0628\u0647 \u06a9\u0646\u062a\u0631\u0644 \u0645\u062a\u063a\u06cc\u0631\u0647\u0627 \u0628\u0631\u0627\u06cc \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f. \u0628\u0631\u0627\u06cc \u062e\u0631\u0648\u062c \u0627\u0632 \u0644\u0648\u067e \u0648 \u0628\u0627\u0632\u06cc\u060c <code>running = False<\/code> \u0628\u0647 \u0627\u062c\u0631\u0627 \u062f\u0631\u0645\u06cc\u200c\u0622\u06cc\u062f \u0648 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0646\u06cc\u0632 \u0627\u0632 \u062e\u0637 \u0633\u0648\u0645 \u0634\u0631\u0648\u0639 \u0645\u06cc\u200c\u0634\u0648\u062f. <\/li>\n\n\n\n<li><strong>\u062e\u0637 \u067e\u0646\u062c\u0645<\/strong> Event Handler \u0631\u0627 \u0641\u0639\u0627\u0644 \u0648 \u062a\u0645\u0627\u0645 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u0635\u0641 \u0631\u0648\u06cc\u062f\u0627\u062f \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u0646\u062f \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06af\u0631 \u0647\u06cc\u0686 \u0631\u0648\u06cc\u062f\u0627\u062f\u06cc \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0644\u06cc\u0633\u062a \u062e\u0627\u0644\u06cc \u0645\u06cc\u200c\u0645\u0627\u0646\u062f \u0648 Handler \u0646\u06cc\u0632 \u0647\u06cc\u0686\u200c\u06a9\u0627\u0631\u06cc \u0627\u0646\u062c\u0627\u0645 \u0646\u0645\u06cc\u200c\u062f\u0647\u062f. <\/li>\n\n\n\n<li><strong>\u062e\u0637\u0648\u0637 \u06f9 \u062a\u0627 \u06f1\u06f2<\/strong> \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 \u0631\u0648\u06cc\u062f\u0627\u062f \u06a9\u0646\u0648\u0646\u06cc \u0627\u0632 \u0646\u0648\u0639 KEYDOWN \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631. \u0627\u06af\u0631 \u0686\u0646\u06cc\u0646 \u0628\u0648\u062f\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc <code>event.key<\/code> \u0646\u06af\u0627\u0647 \u0648 \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u06a9\u062f\u0627\u0645 \u062f\u06a9\u0645\u0647 \u0641\u0634\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0627\u06af\u0631 \u06a9\u0644\u06cc\u062f \u0645\u0648\u0631\u062f \u0646\u0638\u0631 <kbd>Esc<\/kbd> \u0628\u0627\u0634\u062f &#8211; \u06a9\u0647 \u0628\u0627 <code>K_ESCAPE<\/code> \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f &#8211; \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0647 \u062d\u0627\u0644\u062a <code>running = False<\/code> \u062f\u0631\u0622\u0645\u062f\u0647 \u0648 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0628\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. <\/li>\n\n\n\n<li><strong>\u062e\u0637\u0648\u0637 \u06f1\u06f5 \u0648 \u06f1\u06f6<\/strong> \u0646\u06cc\u0632 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0634\u0627\u0628\u0647 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0631\u0648\u06cc\u062f\u0627\u062f \u0646\u0648\u0639 QUIT \u0645\u06cc\u200c\u06af\u0631\u062f\u0646\u062f. \u0627\u06cc\u0646 \u0631\u0648\u06cc\u062f\u0627\u062f \u062a\u0646\u0647\u0627 \u0632\u0645\u0627\u0646\u06cc \u0627\u062a\u0641\u0627\u0642 \u0645\u06cc\u200c\u0627\u0641\u062a\u062f \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 \u0628\u0633\u062a\u0646 \u067e\u0646\u062c\u0631\u0647 \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u062f. \u0627\u0644\u0628\u062a\u0647 \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0627\u0632 \u0631\u0627\u0647\u200c\u0647\u0627\u06cc\u06cc \u062f\u06cc\u06af\u0631 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0646\u06cc\u0632 \u067e\u0646\u062c\u0631\u0647 \u0631\u0627 \u0628\u0628\u0646\u062f\u062f. <\/li>\n<\/ul>\n\n\n\n<p>\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u062e\u0637\u0648\u0637 \u0631\u0627 \u0628\u0647 \u06a9\u062f \u0642\u0628\u0644\u06cc \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0627\u062c\u0631\u0627 \u062f\u0631\u0645\u06cc\u200c\u0622\u0648\u0631\u06cc\u062f\u060c \u067e\u0646\u062c\u0631\u0647\u200c\u0627\u06cc \u062e\u0627\u0644\u06cc \u06cc\u0627 \u0645\u0634\u06a9\u06cc\u200c\u0631\u0646\u06af \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"581\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-empty.jpg\" alt=\"\u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\" class=\"wp-image-44621\" srcset=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-empty.jpg 700w, https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-empty-300x249.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>\u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u06a9\u0645\u0647 Esc \u0631\u0627 \u0641\u0634\u0627\u0631 \u0646\u062f\u0647\u06cc\u062f \u06cc\u0627 \u0628\u0647 \u0647\u0631 \u0634\u06a9\u0644 \u062f\u06cc\u06af\u0631\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f <code>QUIT<\/code> \u0631\u0627 \u0641\u0639\u0627\u0644 \u0646\u06a9\u0646\u06cc\u062f\u060c \u0627\u06cc\u0646 \u067e\u0646\u062c\u0631\u0647 \u0646\u0627\u067e\u062f\u06cc\u062f \u0646\u062e\u0648\u0627\u0647\u062f \u0634\u062f. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u0637\u0631\u0627\u062d\u06cc \u0631\u0648\u06cc \u0635\u0641\u062d\u0647<\/h3>\n\n\n\n<p>\u067e\u06cc\u0634\u200c\u062a\u0631 \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0631\u0646\u0627\u0645\u0647 \u0633\u0627\u062f\u0647 \u062e\u0648\u062f\u060c \u0627\u0632 \u062f\u0648 \u0641\u0631\u0645\u0627\u0646 \u0628\u0631\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u06a9\u0645\u06a9 \u06af\u0631\u0641\u062a\u06cc\u0645:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>()screen.fill<\/code><\/strong> \u0628\u0631\u0627\u06cc \u067e\u0631 \u06a9\u0631\u062f\u0646 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647<\/li>\n\n\n\n<li><strong><code>()pygame.draw.circle<\/code><\/strong> \u0628\u0631\u0627\u06cc \u062a\u0631\u0633\u06cc\u0645 \u062f\u0627\u06cc\u0631\u0647 \u062f\u0631 \u0635\u0641\u062d\u0647<\/li>\n<\/ul>\n\n\n\n<p>\u0627\u0645\u0627 \u062d\u0627\u0644\u0627 \u0646\u0648\u0628\u062a \u0628\u0647 \u0627\u06cc\u0646 \u0645\u06cc\u200c\u0631\u0633\u062f \u06a9\u0647 \u0628\u0627 \u0631\u0627\u0647 \u0633\u0648\u0645 \u0637\u0631\u0627\u062d\u06cc \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u0645: \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>Surface<\/code>.<\/p>\n\n\n\n<p>\u0627\u06af\u0631 \u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c <code>Surface<\/code> \u06cc\u06a9 \u0622\u0628\u062c\u06a9\u062a \u0645\u0633\u062a\u0637\u06cc\u0644\u200c\u0634\u06a9\u0644 \u0627\u0633\u062a \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0631\u0648\u06cc \u0622\u0646 \u0637\u0631\u0627\u062d\u06cc \u06a9\u0631\u062f\u060c \u062f\u0631\u0633\u062a \u0645\u062b\u0644 \u06cc\u06a9 \u0628\u0648\u0645 \u0646\u0642\u0627\u0634\u06cc. \u0622\u0628\u062c\u06a9\u062a <code>screen<\/code> \u0646\u06cc\u0632 \u062e\u0648\u062f \u06cc\u06a9 <code>Surface<\/code> \u0628\u0647 \u062d\u0633\u0627\u0628 \u0645\u06cc\u200c\u0622\u06cc\u062f \u0648 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>Surface<\/code> \u062e\u0627\u0635 \u062e\u0648\u062f\u062a\u0627\u0646 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0633\u062a\u0642\u0644 \u0627\u0632 \u0635\u0641\u062d\u0647 Display \u0628\u0633\u0627\u0632\u06cc\u062f. \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0646\u062d\u0648\u0647 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u06cc\u0627\u0645\u0648\u0632\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Fill the screen with white\nscreen.fill((255, 255, 255))\n\n# Create a surface and pass in a tuple containing its length and width\nsurf = pygame.Surface((50, 50))\n\n# Give the surface a color to separate it from the background\nsurf.fill((0, 0, 0))\nrect = surf.get_rect()<\/code><\/pre>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0635\u0641\u062d\u0647 \u0645\u0637\u0627\u0628\u0642 <strong>\u062e\u0637 \u06f2<\/strong> \u0628\u0627 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0633\u0641\u06cc\u062f\u200c\u0631\u0646\u06af \u067e\u0631 \u0634\u062f\u060c \u062f\u0631 <strong>\u062e\u0637 \u06f5<\/strong> \u06cc\u06a9 <code>Surface<\/code> \u062c\u062f\u06cc\u062f \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646 <code>Surface<\/code> \u0639\u0631\u0636 \u0648 \u0637\u0648\u0644\u06cc \u0645\u0639\u0627\u062f\u0644 \u06f5\u06f0 \u067e\u06cc\u06a9\u0633\u0644 \u062f\u0627\u0631\u062f \u0648 \u0628\u0647 \u0645\u062a\u063a\u06cc\u0631 <code>surf<\/code> \u0646\u0633\u0628\u062a \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 <code>Surface<\/code> \u062f\u0631\u0633\u062a \u0645\u062b\u0644 <code>screen<\/code> \u0631\u0641\u062a\u0627\u0631 \u06a9\u0646\u06cc\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062f\u0631 <strong>\u062e\u0637 \u06f8<\/strong> \u0622\u0646 \u0631\u0627 \u0628\u0627 \u0631\u0646\u06af \u0645\u0634\u06a9\u06cc \u067e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 <code>get_rect<\/code> \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u06cc\u0627\u0641\u062a\u0646 \u0628\u0647 \u0622\u0628\u062c\u06a9\u062a <code>Rect<\/code> \u0632\u06cc\u0631\u06cc\u0646 \u06a9\u0645\u06a9 \u0628\u06af\u06cc\u0631\u06cc\u0645. \u0627\u06cc\u0646 \u0645\u062a\u062f \u06cc\u06a9 <code>Rect<\/code> \u062c\u062f\u06cc\u062f \u0628\u0627 \u0627\u0628\u0639\u0627\u062f \u0628\u0631\u0627\u0628\u0631 \u0628\u0627 \u062a\u0635\u0648\u06cc\u0631 \u0648 \u0645\u062e\u062a\u0635\u0627\u062a (0, 0) \u0628\u0631\u0627\u06cc \u0645\u062d\u0648\u0631\u0647\u0627\u06cc x \u0648 y \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_blit_%D9%88_flip_%D8%AF%D8%B1_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\"><\/span>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>()blit.<\/code> \u0648 <code>()flip.<\/code> \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0633\u0627\u062e\u062a \u06cc\u06a9 <code>Surface<\/code> \u062c\u062f\u06cc\u062f \u0628\u0631\u0627\u06cc \u062f\u06cc\u062f\u0647 \u0634\u062f\u0646 \u0622\u0646 \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u06a9\u0627\u0641\u06cc \u0646\u06cc\u0633\u062a. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0633\u0637\u062d \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0631\u0648\u06cc \u0633\u0637\u062d\u06cc \u062f\u06cc\u06af\u0631 \u06a9\u067e\u06cc \u0634\u0648\u062f \u0648 \u0628\u0647 \u0627\u06cc\u0646 \u0641\u0631\u0627\u06cc\u0646\u062f Blit \u0645\u06cc\u200c\u06af\u0648\u06cc\u0646\u062f. \u0639\u0628\u0627\u0631\u062a Blit \u0645\u062e\u0641\u0641 Block Transfer \u0627\u0633\u062a \u0648 \u0628\u0627 \u062a\u0627\u0628\u0639 <code>()blit.<\/code> \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0645\u062d\u062a\u0648\u0627\u06cc \u06cc\u06a9 <code>Surface<\/code> \u0631\u0627 \u0628\u0647 <code>Surface<\/code> \u062f\u06cc\u06af\u0631 \u06a9\u067e\u06cc \u06a9\u0631\u062f. \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u062a\u0646\u0647\u0627 \u0627\u0645\u06a9\u0627\u0646 Blit \u06a9\u0631\u062f\u0646 \u06cc\u06a9 \u0633\u0637\u062d \u0631\u0627 \u0628\u0631 \u0633\u0637\u062d\u06cc \u062f\u06cc\u06af\u0631 \u0645\u0647\u06cc\u0627 \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0627\u0645\u0627 \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0635\u0641\u062d\u0647 \u06cc\u0627 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0646\u06cc\u0632 \u062e\u0648\u062f \u06cc\u06a9 <code>Surface<\/code> \u0628\u0647 \u062d\u0633\u0627\u0628 \u0645\u06cc\u200c\u0622\u06cc\u062f\u060c \u0628\u0627 \u0645\u0634\u06a9\u0644 \u062e\u0627\u0635\u06cc \u0631\u0648\u0628\u0647\u200c\u0631\u0648 \u0646\u062e\u0648\u0627\u0647\u06cc\u0645 \u0634\u062f. \u0646\u062d\u0648\u0647 \u0631\u0633\u0645 <code>surf<\/code> \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u0631\u0627 \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0622\u0648\u0631\u062f\u0647\u200c\u0627\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># This line says \"Draw surf onto the screen at the center\"\nscreen.blit(surf, (SCREEN_WIDTH\/2, SCREEN_HEIGHT\/2))\npygame.display.flip()<\/code><\/pre>\n\n\n\n<p>\u062a\u0627\u0628\u0639 <code>()blit.<\/code> \u062f\u0631 <strong>\u062e\u0637 \u06f2<\/strong>\u060c \u062f\u0648 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u0645\u062e\u062a\u0644\u0641 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0633\u0637\u062d\u06cc \u06a9\u0647 \u0631\u0648\u06cc \u0622\u0646 \u0637\u0631\u0627\u062d\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f<\/li>\n\n\n\n<li>\u0646\u0642\u0637\u0647 \u062f\u0642\u06cc\u0642 \u0637\u0631\u0627\u062d\u06cc \u0631\u0648\u06cc <code>Surface<\/code> \u0645\u0646\u0628\u0639<\/li>\n<\/ul>\n\n\n\n<p>\u0645\u062e\u062a\u0635\u0627\u062a \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0647\u0645\u06cc\u0646 \u062e\u0637 \u0646\u06cc\u0632 &#8211; \u06cc\u0639\u0646\u06cc <code>(SCREEN_WIDTH\/2, SCREEN_HEIGHT\/2)<\/code> &#8211; \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc\u200c\u06af\u0648\u06cc\u0646\u062f \u06a9\u0647 \u0645\u062a\u063a\u06cc\u0631 <code>surf<\/code> \u0631\u0627 \u062f\u0631\u0633\u062a \u062f\u0631 \u0645\u0631\u06a9\u0632 \u0635\u0641\u062d\u0647 \u0642\u0631\u0627\u0631 \u062f\u0647\u062f\u060c \u0627\u0645\u0627 \u062e\u0631\u0648\u062c\u06cc \u0646\u0647\u0627\u06cc\u06cc \u062f\u0642\u06cc\u0642\u0627 \u0622\u0646 \u0686\u06cc\u0632\u06cc \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644\u0634 \u0645\u06cc\u200c\u06af\u0631\u062f\u06cc\u0645:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"581\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-blit.jpg\" alt=\"\u0628\u0627\u0632\u06cc\u200c\u0633\u0627\u0632\u06cc \u0628\u0627 PyGame\" class=\"wp-image-44620\" srcset=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-blit.jpg 700w, https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-blit-300x249.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>\u0639\u0644\u062a \u0627\u06cc\u0646\u06a9\u0647 \u062a\u0635\u0648\u06cc\u0631 \u062f\u0631 \u0645\u0631\u06a9\u0632 \u0635\u0641\u062d\u0647 \u0642\u0631\u0627\u0631 \u0646\u062f\u0627\u0631\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u062a\u0627\u0628\u0639 <code>()blit.<\/code> \u06af\u0648\u0634\u0647 \u0628\u0627\u0644\u0627 \u0633\u0645\u062a \u0631\u0627\u0633\u062a <code>surf<\/code> \u0631\u0627 \u062f\u0631 \u0645\u062d\u0644 \u062a\u0639\u06cc\u06cc\u0646 \u0634\u062f\u0647 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f <code>surf<\/code> \u062f\u0631 \u0645\u0631\u06a9\u0632 \u0628\u0627\u0634\u062f\u060c \u0628\u0627\u06cc\u062f \u062f\u0633\u062a \u0628\u0647 \u0645\u062d\u0627\u0633\u0628\u0647 \u0632\u062f\u0647 \u0648 \u0622\u0646 \u0631\u0627 \u0627\u0646\u062f\u06a9\u06cc \u0628\u0647 \u0633\u0645\u062a \u0686\u067e \u062d\u0631\u06a9\u062a \u062f\u0647\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0637\u0648\u0644 \u0648 \u0639\u0631\u0636 <code>surf<\/code> \u0631\u0627 \u0627\u0632 \u0637\u0648\u0644 \u0648 \u0639\u0631\u0636 \u0635\u0641\u062d\u0647 \u06a9\u0633\u0631 \u0648 \u062a\u0642\u0633\u06cc\u0645 \u0628\u0631 \u062f\u0648 \u06a9\u0646\u06cc\u062f \u0648 \u0633\u067e\u0633 \u0627\u0639\u062f\u0627\u062f \u0628\u0647 \u062f\u0633\u062a \u0622\u0645\u062f\u0647 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0622\u0631\u06af\u0648\u0645\u0627\u0646 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 <code>()screen.blit<\/code> \u0628\u06af\u0630\u0627\u0631\u06cc\u062f: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Put the center of surf at the center of the display\nsurf_center = (\n    (SCREEN_WIDTH-surf.get_width())\/2,\n    (SCREEN_HEIGHT-surf.get_height())\/2\n)\n\n# Draw surf at the new coordinates\nscreen.blit(surf, surf_center)\npygame.display.flip()<\/code><\/pre>\n\n\n\n<p>\u062a\u0648\u062c\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0627\u0628\u0639 <code>()pygame.display.flip<\/code> \u0628\u0639\u062f \u0627\u0632 \u062a\u0627\u0628\u0639 <code>()blit<\/code> \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628\u060c \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0634\u062f\u0647 \u0648 \u0622\u062e\u0631\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0631\u0627 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0631\u0645\u06cc\u200c\u0622\u0648\u0631\u062f. \u0628\u062f\u0648\u0646 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc <code>()flip.<\/code> \u0647\u06cc\u0686\u200c\u0686\u06cc\u0632\u06cc \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0646\u062e\u0648\u0627\u0647\u062f \u0634\u062f. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7_%D8%A7%D8%B3%D9%BE%D8%B1%D8%A7%DB%8C%D8%AA%E2%80%8C%D9%87%D8%A7_%D8%AF%D8%B1_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\"><\/span>\u06a9\u0627\u0631 \u0628\u0627 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a\u200c\u0647\u0627 \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0645\u0637\u0627\u0628\u0642 \u0642\u0648\u0627\u0639\u062f\u06cc \u06a9\u0647 \u067e\u06cc\u0634\u200c\u062a\u0631 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc \u062a\u0639\u06cc\u06cc\u0646 \u06a9\u0631\u062f\u06cc\u0645\u060c \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0627\u0632 \u0633\u0645\u062a \u0686\u067e \u0634\u0631\u0648\u0639 \u0628\u0647 \u0628\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0645\u0648\u0627\u0646\u0639 \u0646\u06cc\u0632 \u0627\u0632 \u0633\u0645\u062a \u0631\u0627\u0633\u062a \u0648\u0627\u0631\u062f \u0635\u0641\u062d\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0641\u0631\u0627\u06cc\u0646\u062f \u0637\u0631\u0627\u062d\u06cc \u0622\u0633\u0627\u0646 \u0634\u0648\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u062a\u0645\u0627\u0645 \u0645\u0648\u0627\u0646\u0639 \u0631\u0627 \u0628\u0627 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>Surface<\/code> \u062a\u0631\u0633\u06cc\u0645 \u06a9\u0631\u062f. \u0627\u0645\u0627 \u0686\u0637\u0648\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u0641\u0647\u0645\u06cc\u062f \u06a9\u0647 \u0647\u0631 \u0622\u0628\u062c\u06a9\u062a \u0628\u0627\u06cc\u062f \u062f\u0631 \u06a9\u062c\u0627 \u0631\u0633\u0645 \u0634\u0648\u062f\u061f \u0627\u0632 \u0637\u0631\u0641 \u062f\u06cc\u06af\u0631\u060c \u0686\u06af\u0648\u0646\u0647 \u0628\u0631\u062e\u0648\u0631\u062f \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0627 \u0645\u0648\u0627\u0646\u0639 \u0631\u0627 \u062a\u0634\u062e\u06cc\u0635 \u062f\u0647\u06cc\u0645\u061f \u0686\u0647 \u0627\u062a\u0641\u0627\u0642\u06cc \u0645\u06cc\u200c\u0627\u0641\u062a\u062f \u0627\u06af\u0631 \u0645\u0648\u0627\u0646\u0639 \u0627\u0632 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u0646\u062f\u061f \u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u062a\u0635\u0627\u0648\u06cc\u0631 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647\u200c\u0627\u06cc \u0645\u062a\u062d\u0631\u06a9 \u0637\u0631\u0627\u062d\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u06a9\u0644\u06cc\u0641 \u0686\u06cc\u0633\u062a\u061f \u0686\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u062a\u0635\u0627\u0648\u06cc\u0631\u06cc \u0627\u0646\u06cc\u0645\u06cc\u0634\u0646\u06cc \u0648 \u0645\u062a\u062d\u0631\u06a9 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645\u061f \u06a9\u0644\u06cc\u062f \u062f\u0633\u062a\u06cc\u0627\u0628\u06cc \u0628\u0647 \u067e\u0627\u0633\u062e \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646 \u0633\u0648\u0627\u0644\u0627\u062a\u060c \u00ab\u0627\u0633\u067e\u0631\u0627\u06cc\u062a\u200c\u0647\u0627\u00bb (Sprites) \u0647\u0633\u062a\u0646\u062f. <\/p>\n\n\n\n<p>\u062f\u0631 \u0632\u0628\u0627\u0646 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc\u060c \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0628\u0647 \u0646\u0645\u0627\u06cc\u0647 \u062f\u0648\u0628\u0639\u062f\u06cc \u0627\u0632 \u0647\u0631\u0686\u06cc\u0632\u06cc \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u06af\u0641\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u062a\u0641\u0627\u0648\u062a \u0622\u0646\u200c\u0686\u0646\u0627\u0646\u06cc \u0628\u0627 \u06cc\u06a9 \u062a\u0635\u0648\u06cc\u0631 \u0646\u062f\u0627\u0631\u062f. PyGame \u0627\u0632 \u06a9\u0644\u0627\u0633\u06cc \u0628\u0647 \u0646\u0627\u0645 Sprite \u0628\u0647\u0631\u0647\u200c\u0645\u0646\u062f \u0634\u062f\u0647 \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc\u200c\u062f\u0647\u062f \u06cc\u06a9 \u06cc\u0627 \u0686\u0646\u062f \u0646\u0645\u0627\u06cc\u0647 \u06af\u0631\u0627\u0641\u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0631 \u0622\u0628\u062c\u06a9\u062a \u0631\u0648\u06cc \u0635\u0641\u062d\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0642\u0627\u0628\u0644\u06cc\u062a\u060c \u0628\u0627\u06cc\u062f \u06a9\u0644\u0627\u0633\u06cc \u062c\u062f\u06cc\u062f \u0628\u0633\u0627\u0632\u06cc\u062f \u06a9\u0647 Sprite \u0631\u0627 \u06af\u0633\u062a\u0631\u0634 (Extend) \u0645\u06cc\u200c\u062f\u0647\u062f. \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0645\u062a\u062f\u0647\u0627\u06cc \u062f\u0627\u062e\u0644\u06cc PyGame \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u0628\u0627\u0632\u06cc\u06a9\u0646<\/h3>\n\n\n\n<p>\u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0645\u06cc\u200c\u0628\u06cc\u0646\u06cc\u062f \u06a9\u0647 \u0686\u0637\u0648\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f \u0627\u0632 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0646 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u06a9\u0645\u06a9 \u06af\u0631\u0641\u062a. \u06a9\u062f\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0639\u062f \u0627\u0632 <strong>\u062e\u0637 \u06f1\u06f8<\/strong> \u0648 \u067e\u0633 \u0627\u0632 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Define a Player object by extending pygame.sprite.Sprite\n# The surface drawn on the screen is now an attribute of 'player'\nclass Player(pygame.sprite.Sprite):\n    def __init__(self):\n        super(Player, self).__init__()\n        self.surf = pygame.Surface((75, 25))\n        self.surf.fill((255, 255, 255))\n        self.rect = self.surf.get_rect()<\/code><\/pre>\n\n\n\n<p>\u067e\u06cc\u0634 \u0627\u0632 \u0647\u0631 \u0686\u06cc\u0632\u060c \u0628\u0627 \u06af\u0633\u062a\u0631\u0634 \u062f\u0627\u062f\u0646 <code>pygame.sprite.Sprite<\/code> \u062f\u0631 \u062e\u0637 \u0633\u0648\u0645 \u0627\u0632 \u06a9\u062f\u0647\u0627\u06cc \u0628\u0627\u0644\u0627\u060c \u0628\u0627\u0632\u06cc\u06a9\u0646 \u06cc\u0627 Player \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0633\u067e\u0633 \u062a\u0627\u0628\u0639 <code>()__init__.<\/code> \u0627\u0632 <code>()super<\/code> \u0628\u0631\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u062a\u062f \u0627\u0633\u067e\u0631\u0627\u06cc\u062a <code>()__init__.<\/code> \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f. <\/p>\n\n\n\n<p>\u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u0645\u060c \u0628\u062f \u0646\u06cc\u0633\u062a \u06a9\u0647 \u062a\u0641\u0627\u0648\u062a \u062a\u0627\u0628\u0639 \u0648 \u0645\u062a\u062f init \u0631\u0627 \u062f\u0631\u06a9 \u06a9\u0646\u06cc\u0645. \u062a\u0645\u0627\u0645 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627 \u062a\u0627\u0628\u0639\u06cc \u0628\u0647 \u0646\u0627\u0645 <code>()__init__<\/code> \u062f\u0627\u0631\u0646\u062f \u06a9\u0647 \u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0644\u0627\u0633\u200c\u0647\u0627 \u0628\u0647 \u0627\u062c\u0631\u0627 \u062f\u0631 \u0645\u06cc\u200c\u0622\u06cc\u062f. \u0627\u0632 \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0646 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0622\u0628\u062c\u06a9\u062a \u06cc\u0627 \u0647\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a \u0636\u0631\u0648\u0631\u06cc \u062f\u06cc\u06af\u0631\u06cc \u0628\u0647 \u0647\u0646\u06af\u0627\u0645 \u0633\u0627\u062e\u062a \u0622\u0628\u062c\u06a9\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0632 \u0637\u0631\u0641 \u062f\u06cc\u06af\u0631\u060c <code>__init__<\/code> \u0647\u0645 \u0645\u062a\u062f\u06cc \u062e\u0627\u0635 \u062f\u0631 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u0633\u0627\u062e\u062a \u0647\u0631 \u0646\u0645\u0648\u0646\u0647 \u06cc\u0627 Instance \u062c\u062f\u06cc\u062f \u0627\u0632 \u0647\u0631 \u06a9\u0644\u0627\u0633\u060c \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646 \u0645\u062a\u062f \u0628\u0631\u0627\u06cc \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0646\u0645\u0648\u0646\u0647 \u0628\u0647 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u0631\u0648\u062f \u0648 \u0628\u0627 \u0622\u0646\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0647\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a\u06cc \u0631\u0627 \u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 Instance \u0627\u0639\u0645\u0627\u0644 \u0634\u0648\u062f\u060c \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u0645. <\/p>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f <code>surf.<\/code> \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0648 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u062a\u0635\u0648\u06cc\u0631\u06cc \u06a9\u0647 \u0627\u06a9\u0646\u0648\u0646 \u0645\u0631\u0628\u0639\u06cc \u0633\u0641\u06cc\u062f\u0631\u0646\u06af \u0627\u0633\u062a \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u0646\u06af\u0647 \u062f\u0627\u0631\u062f. \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u0634\u0627\u0628\u0647\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u062a\u0639\u0631\u06cc\u0641 \u0648 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc <code>rect.<\/code> \u0646\u06cc\u0632 \u067e\u0631\u062f\u0627\u062e\u062a \u06a9\u0647 \u0628\u0639\u062f\u0627 \u0627\u0632 \u0622\u0646 \u0628\u0631\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0628\u0631\u0627\u06cc \u0628\u0647\u0631\u0647\u200c\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u06a9\u0644\u0627\u0633 \u062c\u062f\u06cc\u062f\u060c \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0633\u0627\u062e\u062a \u0622\u0628\u062c\u06a9\u062a\u06cc \u062a\u0627\u0632\u0647 \u0648 \u0647\u0645\u06cc\u0646\u0637\u0648\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0627\u062f\u0646 \u06a9\u062f \u0637\u0631\u0627\u062d\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u0634\u062a. \u062f\u0631 \u067e\u0627\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0645\u0627\u0645 \u062e\u0637\u0648\u0637 \u06a9\u062f \u0631\u0627 \u06a9\u0646\u0627\u0631 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Import the pygame module\nimport pygame\n\n# Import pygame.locals for easier access to key coordinates\n# Updated to conform to flake8 and black standards\nfrom pygame.locals import (\n    K_UP,\n    K_DOWN,\n    K_LEFT,\n    K_RIGHT,\n    K_ESCAPE,\n    KEYDOWN,\n    QUIT,\n)\n\n# Define constants for the screen width and height\nSCREEN_WIDTH = 800\nSCREEN_HEIGHT = 600\n\n# Define a player object by extending pygame.sprite.Sprite\n# The surface drawn on the screen is now an attribute of 'player'\nclass Player(pygame.sprite.Sprite):\n    def __init__(self):\n        super(Player, self).__init__()\n        self.surf = pygame.Surface((75, 25))\n        self.surf.fill((255, 255, 255))\n        self.rect = self.surf.get_rect()\n\n# Initialize pygame\npygame.init()\n\n# Create the screen object\n# The size is determined by the constant SCREEN_WIDTH and SCREEN_HEIGHT\nscreen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))\n\n# Instantiate player. Right now, this is just a rectangle.\nplayer = Player()\n\n# Variable to keep the main loop running\nrunning = True\n\n# Main loop\nwhile running:\n    # for loop through the event queue\n    for event in pygame.event.get():\n        # Check for KEYDOWN event\n        if event.type == KEYDOWN:\n            # If the Esc key is pressed, then exit the main loop\n            if event.key == K_ESCAPE:\n                running = False\n        # Check for QUIT event. If QUIT, then set running to false.\n        elif event.type == QUIT:\n            running = False\n\n    # Fill the screen with black\n    screen.fill((0, 0, 0))\n\n    # Draw the player on the screen\n    screen.blit(player.surf, (SCREEN_WIDTH\/2, SCREEN_HEIGHT\/2))\n\n    # Update the display\n    pygame.display.flip()<\/code><\/pre>\n\n\n\n<p>\u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u06a9\u062f\u060c \u0634\u0627\u0647\u062f \u0645\u0633\u062a\u0637\u06cc\u0644\u06cc \u0633\u0641\u06cc\u062f\u200c\u0631\u0646\u06af \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0648\u062f \u06a9\u0647 \u062a\u0642\u0631\u06cc\u0628\u0627 \u062f\u0631 \u0645\u0631\u06a9\u0632 \u0635\u0641\u062d\u0647 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"581\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-player-sprite.jpg\" alt=\"\u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\" class=\"wp-image-44619\" srcset=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-player-sprite.jpg 700w, https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-player-sprite-300x249.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>\u0686\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0627\u06af\u0631 <strong>\u062e\u0637 \u06f5\u06f9<\/strong> \u0631\u0627 \u0628\u0647 <code>screen.blit(player.surf, player.rect)<\/code> \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645\u061f \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062e\u0648\u062f\u062a\u0627\u0646 \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0628\u06cc\u0646\u06cc\u062f. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\"># Fill the screen with black\nscreen.fill((0, 0, 0))\n\n# Draw the player on the screen\nscreen.blit(player.surf, player.rect)\n\n# Update the display\npygame.display.flip()<\/code><\/pre>\n\n\n\n<p>\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06cc\u06a9 \u0622\u0628\u062c\u06a9\u062a <code>Rect<\/code> \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u062a\u0627\u0628\u0639 <code>()blit.<\/code> \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u06cc\u0645\u060c \u0627\u0632 \u0645\u062e\u062a\u0635\u0627\u062a \u06af\u0648\u0634\u0647 \u0628\u0627\u0644\u0627 \u0633\u0645\u062a \u0686\u067e \u0622\u0646 \u0628\u0631\u0627\u06cc \u062a\u0631\u0633\u06cc\u0645 \u0633\u0637\u062d \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0648\u06cc\u0698\u06af\u06cc\u200c \u0628\u0631\u0627\u06cc \u0628\u0647 \u062d\u0631\u06a9\u062a \u062f\u0631\u0622\u0648\u0631\u062f\u0646 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u0648\u0631\u0648\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631<\/h3>\n\n\n\n<p>\u062a\u0627 \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0627\u0632 \u0645\u0642\u0627\u0644\u0647 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u0645 \u06a9\u0647 \u0686\u0637\u0648\u0631 \u0628\u0627\u06cc\u062f PyGame \u0631\u0627 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0631\u0627 \u0631\u0648\u06cc \u062a\u0635\u0648\u06cc\u0631 \u062a\u0631\u0633\u06cc\u0645 \u06a9\u0631\u062f. \u062e\u0628\u0631 \u062e\u0648\u0628 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u0644\u062d\u0638\u0647 \u0628\u0647 \u0628\u0639\u062f \u0647\u0645\u0647\u200c\u0686\u06cc\u0632 \u0634\u06a9\u0644\u06cc \u062c\u0630\u0627\u0628\u200c\u062a\u0631 \u0648 \u0633\u0631\u06af\u0631\u0645\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u062a\u0631 \u0628\u0647 \u062e\u0648\u062f \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f. \u062f\u0631 \u06af\u0627\u0645 \u0627\u0648\u0644\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u0645 \u0634\u062e\u0635\u06cc\u062a \u062e\u0648\u062f \u0631\u0627 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06a9\u06cc\u0628\u0648\u0631\u062f \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u062f. <\/p>\n\n\n\n<p>\u067e\u06cc\u0634\u200c\u062a\u0631 \u062f\u06cc\u062f\u06cc\u0645 \u06a9\u0647 <code>()pygame.event.get<\/code> \u0641\u0647\u0631\u0633\u062a\u06cc \u0627\u0632 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u062d\u0627\u0636\u0631 \u062f\u0631 \u0635\u0641 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0631\u0627 \u0628\u0627\u0632\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0646\u0648\u0639 KEYDOWN \u0627\u0633\u06a9\u0646 \u06a9\u0646\u06cc\u062f. \u0627\u0645\u0627 \u0627\u06cc\u0646 \u062a\u0646\u0647\u0627 \u0631\u0648\u0634 \u0628\u0631\u0627\u06cc \u0634\u0646\u0627\u0633\u0627\u06cc\u06cc \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u0641\u0634\u0631\u062f\u0647 \u0634\u062f\u0647 \u0646\u06cc\u0633\u062a. PyGame \u062a\u0627\u0628\u0639\u06cc \u062f\u06cc\u06af\u0631 \u0628\u0647 \u0646\u0627\u0645 <code>()pygame.event.get_pressed<\/code> \u0646\u06cc\u0632 \u062f\u0627\u0631\u062f \u06a9\u0647 \u06cc\u06a9 \u062f\u06cc\u06a9\u0634\u0646\u0631\u06cc \u062d\u0627\u0648\u06cc \u062a\u0645\u0627\u0645 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc KEYDOWN \u06a9\u0646\u0648\u0646\u06cc \u062f\u0631 \u0635\u0641 \u0631\u0627 \u0628\u0627\u0632\u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f. <\/p>\n\n\n\n<p>\u0627\u06cc\u0646 \u062a\u0627\u0628\u0639 \u0631\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631\u0633\u062a \u0628\u0639\u062f \u0627\u0632 \u0644\u0648\u067e Event Handling \u062f\u0631 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f. \u062f\u0631 \u0646\u062a\u06cc\u062c\u0647 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0646\u06cc\u0632 \u06cc\u06a9 \u062f\u06cc\u06a9\u0634\u0646\u0631\u06cc \u062d\u0627\u0648\u06cc \u062a\u0645\u0627\u0645 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc \u0641\u0634\u0631\u062f\u0647\u200c\u0634\u062f\u0647 \u062f\u0631 \u0627\u0628\u062a\u062f\u0627\u06cc \u0647\u0631 \u0641\u0631\u06cc\u0645 \u0628\u0647 \u062f\u0633\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0648\u0631\u062f: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Get the set of keys pressed and check for user input\npressed_keys = pygame.key.get_pressed()<\/code><\/pre>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0628\u0647 \u0646\u0648\u0634\u062a\u0646 \u0645\u062a\u062f\u06cc \u062f\u0631 <code>Player<\/code> \u0645\u0634\u063a\u0648\u0644 \u0645\u06cc\u200c\u0634\u0648\u06cc\u0645 \u06a9\u0647 \u0645\u0646\u062c\u0631 \u0628\u0647 \u067e\u0630\u06cc\u0631\u0641\u062a\u0646 \u0647\u0645\u06cc\u0646 \u062f\u06cc\u06a9\u0634\u0646\u0631\u06cc \u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628\u060c \u0631\u0641\u062a\u0627\u0631 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0628\u0631\u0627\u0633\u0627\u0633 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0641\u0634\u0631\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u060c \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u06af\u0631\u062f\u062f. \u0634\u0645\u0627\u06cc\u0644 \u06a9\u0644\u06cc \u06a9\u062f \u0628\u062f\u06cc\u0646 \u0634\u06a9\u0644 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Move the sprite based on user keypresses\ndef update(self, pressed_keys):\n    if pressed_keys[K_UP]:\n        self.rect.move_ip(0, -5)\n    if pressed_keys[K_DOWN]:\n        self.rect.move_ip(0, 5)\n    if pressed_keys[K_LEFT]:\n        self.rect.move_ip(-5, 0)\n    if pressed_keys[K_RIGHT]:\n        self.rect.move_ip(5, 0)<\/code><\/pre>\n\n\n\n<p><code>K_UP<\/code> \u0648 <code>K_DOWN<\/code> \u0648 <code>K_LEFT<\/code> \u0648 <code>K_RIGHT<\/code> \u062f\u0631 \u06a9\u062f \u0628\u0627\u0644\u0627\u060c \u0646\u0634\u0627\u0646\u200c\u062f\u0647\u0646\u062f\u0647 \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u0686\u0647\u0627\u0631 \u062c\u0647\u062a \u0631\u0648\u06cc \u06a9\u06cc\u0628\u0648\u0631\u062f \u0647\u0633\u062a\u0646\u062f. \u0627\u06af\u0631 \u0648\u0631\u0648\u062f\u06cc \u062f\u06cc\u06a9\u0634\u0646\u0631\u06cc \u0628\u0631\u0627\u06cc \u0647\u0631 \u062f\u06a9\u0645\u0647 <code>True<\/code> \u0628\u0627\u0634\u062f\u060c \u06cc\u0639\u0646\u06cc \u0622\u0646 \u06a9\u0644\u06cc\u062f \u0641\u0634\u0631\u062f\u0647 \u0634\u062f\u0647 \u0648 \u0622\u0628\u06a9\u062c\u062a <code>rect.<\/code> \u0628\u0627\u0632\u06cc\u06a9\u0646 \u062f\u0631 \u062c\u0647\u062a \u0635\u062d\u06cc\u062d \u062d\u0631\u06a9\u062a \u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u062a\u0627\u0628\u0639 <code>()move_ip.<\/code> &#8211; \u0645\u062e\u0641\u0641 Move in Place &#8211; \u0628\u0631\u0627\u06cc \u062d\u0631\u06a9\u062a \u062f\u0627\u062f\u0646 \u0645\u0633\u062a\u0637\u06cc\u0644\u06cc \u06a9\u0647 \u0634\u062e\u0635\u06cc\u062a \u0627\u0635\u0644\u06cc \u0628\u0627\u0632\u06cc \u0627\u0633\u062a\u060c \u06a9\u0645\u06a9 \u0628\u06af\u06cc\u0631\u06cc\u0645. <\/p>\n\n\n\n<p>\u0633\u067e\u0633 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0627\u0628\u0639 <code>()update.<\/code>\u0631\u0627 \u062f\u0631 \u0647\u0631 \u0641\u0631\u06cc\u0645 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0628\u0627\u0632\u06cc\u06a9\u0646 \u062f\u0631 \u067e\u0627\u0633\u062e \u0628\u0647 \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u0641\u0634\u0631\u062f\u0647\u200c\u0634\u062f\u0647 \u0628\u0647 \u062d\u0631\u06a9\u062a \u062f\u0631\u0622\u06cc\u062f. \u0627\u06cc\u0646 \u0641\u0631\u0627\u062e\u0648\u0627\u0646 \u0628\u0627\u06cc\u062f \u062f\u0631\u0633\u062a \u0628\u0639\u062f \u0627\u0632 \u0641\u0631\u0627\u062e\u0648\u0627\u0646 <code>()get_pressed.<\/code> \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Main loop\nwhile running:\n    # for loop through the event queue\n    for event in pygame.event.get():\n        # Check for KEYDOWN event\n        if event.type == KEYDOWN:\n            # If the Esc key is pressed, then exit the main loop\n            if event.key == K_ESCAPE:\n                running = False\n        # Check for QUIT event. If QUIT, then set running to false.\n        elif event.type == QUIT:\n            running = False\n\n    # Get all the keys currently pressed\n    pressed_keys = pygame.key.get_pressed()\n\n    # Update the player sprite based on user keypresses\n    player.update(pressed_keys)\n\n    # Fill the screen with black\n    screen.fill((0, 0, 0))<\/code><\/pre>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0633\u062a\u0637\u06cc\u0644 Player \u0631\u0627 \u0628\u0627 \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u0686\u0647\u0627\u0631 \u062c\u0647\u062a \u0631\u0648\u06cc \u06a9\u06cc\u0628\u0648\u0631\u062f\u060c \u062f\u0631 \u0633\u0631\u0627\u0633\u0631 \u0635\u0641\u062d\u0647 \u0628\u0647 \u062d\u0631\u06a9\u062a \u062f\u0631 \u0622\u0648\u0631\u06cc\u062f:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"423\" height=\"346\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-keypress-fast.gif\" alt=\"\u062d\u0631\u06a9\u062a \u062f\u0627\u062f\u0646 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0627 \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u062c\u0647\u062a\" class=\"wp-image-44625\"\/><\/figure>\n<\/div>\n\n\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0645\u062a\u0648\u062c\u0647 \u0628\u0631\u0648\u0632 \u062f\u0648 \u0645\u0634\u06a9\u0644 \u0634\u0648\u06cc\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u062f\u06a9\u0645\u0647 \u0631\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u0641\u0634\u0631\u062f\u0647 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u0645\u060c \u0645\u0633\u062a\u0637\u06cc\u0644 Player \u0628\u0627 \u0633\u0631\u0639\u062a \u0628\u0633\u06cc\u0627\u0631 \u0632\u06cc\u0627\u062f \u062d\u0631\u06a9\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062f\u0631 \u0627\u062f\u0627\u0645\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u0631\u0633\u06cc\u062f\u06af\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/li>\n\n\n\n<li>\u0627\u0632 \u0637\u0631\u0641 \u062f\u06cc\u06af\u0631\u060c \u0645\u0633\u062a\u0637\u06cc\u0644 Player \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0627\u0632 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u062f. \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0627\u06cc\u0646 \u0627\u06cc\u0631\u0627\u062f \u0631\u0627 \u0647\u0645\u06cc\u0646 \u062d\u0627\u0644\u0627 \u0628\u0631\u0637\u0631\u0641 \u06a9\u0646\u06cc\u0645.<\/li>\n<\/ul>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0646\u06af\u0647 \u062f\u0627\u0634\u062a\u0646 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u062f\u0631 \u0686\u0627\u0631\u0686\u0648\u0628 \u0635\u0641\u062d\u0647\u060c \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0628\u0647 \u0627\u0641\u0632\u0648\u062f\u0646 \u0645\u0646\u0637\u0642\u06cc \u0645\u0634\u063a\u0648\u0644 \u0634\u0648\u06cc\u062f \u06a9\u0647 \u062e\u0631\u0648\u062c <code>rect<\/code> \u0631\u0627 \u0627\u0632 \u0635\u0641\u062d\u0647 \u062a\u0634\u062e\u06cc\u0635 \u0645\u06cc\u200c\u062f\u0647\u062f. \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u0645\u062e\u062a\u0635\u0627\u062a <code>rect<\/code> \u0641\u0631\u0627\u062a\u0631 \u0627\u0632 \u0645\u0631\u0632\u0647\u0627\u06cc \u0635\u0641\u062d\u0647 \u0631\u0641\u062a\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631. \u0627\u06af\u0631 \u0686\u0646\u06cc\u0646 \u0628\u0648\u062f\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0641\u0647\u0645\u0627\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0644\u0628\u0647 \u0635\u0641\u062d\u0647 \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u062f: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Move the sprite based on user keypresses\ndef update(self, pressed_keys):\n    if pressed_keys[K_UP]:\n        self.rect.move_ip(0, -5)\n    if pressed_keys[K_DOWN]:\n        self.rect.move_ip(0, 5)\n    if pressed_keys[K_LEFT]:\n        self.rect.move_ip(-5, 0)\n    if pressed_keys[K_RIGHT]:\n        self.rect.move_ip(5, 0)\n\n    # Keep player on the screen\n    if self.rect.left &lt; 0:\n        self.rect.left = 0\n    if self.rect.right &gt; SCREEN_WIDTH:\n        self.rect.right = SCREEN_WIDTH\n    if self.rect.top &lt;= 0:\n        self.rect.top = 0\n    if self.rect.bottom &gt;= SCREEN_HEIGHT:\n        self.rect.bottom = SCREEN_HEIGHT<\/code><\/pre>\n\n\n\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0628\u0647 \u062c\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0627\u0628\u0639 <code>()mov.<\/code>\u060c \u0645\u062e\u062a\u0635\u0627\u062a \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 <code>top.<\/code> \u0648 <code>bottom.<\/code> \u0648 <code>left.<\/code> \u0648 <code>right.<\/code> \u0631\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645. \u0628\u062f\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628 \u0645\u0633\u062a\u0637\u06cc\u0644 <code>Player <\/code>\u062f\u06cc\u06af\u0631 \u0627\u0632 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0646\u0645\u06cc\u200c\u0634\u0648\u062f. <\/p>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0647 \u0633\u0631\u0627\u063a \u062f\u0634\u0645\u0646\u0627\u0646 \u0628\u0627\u0632\u06cc (\u06cc\u0627 \u0647\u0645\u0627\u0646 \u0645\u0648\u0627\u0646\u0639) \u0628\u0631\u0648\u06cc\u0645. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u062f\u0634\u0645\u0646\u0627\u0646<\/h3>\n\n\n\n<p>\u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0628\u0627\u0632\u06cc\u200c\u0647\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0633\u0631\u06af\u0631\u0645\u200c\u06a9\u0646\u0646\u062f\u0647 \u0634\u0648\u0646\u062f \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0646\u0648\u0639\u06cc \u062f\u0634\u0645\u0646 \u06cc\u0627 \u0686\u0627\u0644\u0634 \u062f\u0627\u0631\u0646\u062f \u0648 \u0645\u0648\u0627\u0646\u0639 \u0628\u0627\u0632\u06cc\u200c \u0645\u0627 \u0647\u0645 \u0647\u0645\u06cc\u0646 \u0646\u0642\u0634 \u0631\u0627 \u0627\u06cc\u0641\u0627 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u062f\u0634\u0645\u0646 \u0633\u0627\u062f\u0647 \u0627\u0632 \u0647\u0645\u0627\u0646 \u062a\u06a9\u0646\u06cc\u06a9\u200c\u0647\u0627\u06cc\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u067e\u06cc\u0634\u200c\u062a\u0631 \u0622\u0645\u0648\u0632\u0634 \u062f\u06cc\u062f\u06cc\u0645 \u0648 \u0633\u067e\u0633 \u0627\u0628\u0639\u0627\u062f \u06a9\u0627\u0631 \u0631\u0627 \u06af\u0633\u062a\u0631\u0634 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645. \u0627\u0648\u0644\u06cc\u0646 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645\u060c \u0627\u06cc\u0645\u067e\u0648\u0631\u062a \u06a9\u0631\u062f\u0646 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 <code>random<\/code> \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Import random for random numbers\nimport random<\/code><\/pre>\n\n\n\n<p>\u0633\u067e\u0633 \u06a9\u0644\u0627\u0633 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a\u06cc \u062c\u062f\u06cc\u062f\u06cc \u0628\u0647 \u0646\u0627\u0645 <code>Enemy<\/code> \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645 \u0648 \u0647\u0645\u0627\u0646 \u0627\u0644\u06af\u0648\u06cc\u06cc \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u067e\u06cc\u0634\u200c\u062a\u0631 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a <code>Player<\/code> \u062f\u0631 \u067e\u06cc\u0634 \u06af\u0631\u0641\u062a\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Define the enemy object by extending pygame.sprite.Sprite\n# The surface you draw on the screen is now an attribute of 'enemy'\nclass Enemy(pygame.sprite.Sprite):\n    def __init__(self):\n        super(Enemy, self).__init__()\n        self.surf = pygame.Surface((20, 10))\n        self.surf.fill((255, 255, 255))\n        self.rect = self.surf.get_rect(\n            center=(\n                random.randint(SCREEN_WIDTH + 20, SCREEN_WIDTH + 100),\n                random.randint(0, SCREEN_HEIGHT),\n            )\n        )\n        self.speed = random.randint(5, 20)\n\n    # Move the sprite based on speed\n    # Remove the sprite when it passes the left edge of the screen\n    def update(self):\n        self.rect.move_ip(-self.speed, 0)\n        if self.rect.right &lt; 0:\n            self.kill()<\/code><\/pre>\n\n\n\n<p>\u0686\u0647\u0627\u0631 \u062a\u0641\u0627\u0648\u062a \u0642\u0627\u0628\u0644 \u062a\u0648\u062c\u0647 \u0645\u06cc\u0627\u0646 <code>Enemy<\/code> \u0648 <code>Player<\/code> \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u062f\u0631 \u062e\u0637\u0648\u0637 \u06f8 \u062a\u0627 \u06f1\u06f3<\/strong> \u06a9\u062f \u0628\u0627\u0644\u0627\u060c <code>rect<\/code> \u0631\u0627 \u0628\u0647\u200c\u06af\u0648\u0646\u0647\u200c\u0627\u06cc \u0622\u067e\u062f\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u062f\u0631 \u0645\u062d\u0644\u06cc \u0627\u062a\u0641\u0627\u0642\u06cc \u0627\u0632 \u0644\u0628\u0647 \u0633\u0645\u062a \u0631\u0627\u0633\u062a \u0635\u0641\u062d\u0647 \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u062f. \u0646\u0642\u0637\u0647 \u0645\u0631\u06a9\u0632\u06cc \u0627\u06cc\u0646 \u0622\u0628\u062c\u06a9\u062a \u0645\u0633\u062a\u0637\u06cc\u0644\u06cc\u060c \u0628\u06cc\u0631\u0648\u0646 \u0627\u0632 \u0635\u0641\u062d\u0647 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f\u060c \u0622\u0646 \u0647\u0645 \u0628\u0627 \u0641\u0627\u0635\u0644\u0647\u200c\u0627\u06cc \u0628\u06cc\u0646 \u06f2\u06f0 \u062a\u0627 \u06f1\u06f0\u06f0 \u067e\u06cc\u06a9\u0633\u0644 \u0627\u0632 \u0644\u0628\u0647 \u0633\u0645\u062a \u0631\u0627\u0633\u062a \u0648 \u0647\u0631\u062c\u0627\u06cc\u06cc \u062f\u0631 \u0645\u06cc\u0627\u0646 \u0644\u0628\u0647\u200c\u0647\u0627\u06cc \u067e\u0627\u06cc\u06cc\u0646\u06cc \u0648 \u0628\u0627\u0644\u0627\u06cc\u06cc. <\/li>\n\n\n\n<li><strong>\u062f\u0631 \u062e\u0637 \u06f1\u06f4<\/strong>\u060c <code>speed.<\/code>\u0631\u0627 \u0628\u0627 \u0639\u062f\u062f\u06cc \u0627\u062a\u0641\u0627\u0642\u06cc \u0628\u06cc\u0646 \u06f5 \u0648 \u06f2\u06f0 \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645. \u0627\u06cc\u0646 \u0639\u062f\u062f \u0646\u0634\u0627\u0646\u200c\u062f\u0647\u0646\u062f\u0647 \u0633\u0631\u0639\u062a \u062d\u0631\u06a9\u062a \u0645\u0648\u0627\u0646\u0639 \u0628\u0647 \u0633\u0645\u062a \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0627\u0633\u062a.<\/li>\n\n\n\n<li><strong>\u062f\u0631 \u062e\u0637\u0648\u0637 \u06f1\u06f9 \u062a\u0627 \u06f2\u06f2<\/strong> \u0628\u0647 \u062a\u0639\u0631\u06cc\u0641 <code>()update.<\/code> \u0645\u0634\u063a\u0648\u0644 \u0634\u062f\u0647\u200c\u0627\u06cc\u0645. \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u0648\u0627\u0646\u0639 \u0628\u0647 \u0635\u0648\u0631\u062a \u062e\u0648\u062f\u06a9\u0627\u0631 \u0628\u0647 \u062d\u0631\u06a9\u062a \u062f\u0631\u0645\u06cc\u200c\u0622\u06cc\u0646\u062f\u060c \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0647\u06cc\u0686 \u0622\u0631\u06af\u0648\u0645\u0627\u0646\u06cc \u0646\u06cc\u0633\u062a. \u062f\u0631 \u0639\u0648\u0636\u060c <code>()update.<\/code> \u0645\u0648\u0627\u0646\u0639 \u0631\u0627 \u0628\u0627 \u0633\u0631\u0639\u062a\u06cc \u06a9\u0647 \u067e\u06cc\u0634\u200c\u062a\u0631 \u062a\u0639\u06cc\u06cc\u0646 \u06a9\u0631\u062f\u06cc\u0645 \u0628\u0647 \u0633\u0645\u062a \u0686\u067e \u0635\u0641\u062d\u0647 \u062d\u0631\u06a9\u062a \u0645\u06cc\u200c\u062f\u0647\u062f.<\/li>\n\n\n\n<li><strong>\u062f\u0631 \u062e\u0637 \u06f2\u06f0<\/strong>\u060c \u0628\u0647 \u0628\u0631\u0631\u0633\u06cc \u0627\u06cc\u0646 \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u0645\u0627\u0646\u0639 \u0627\u0632 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631. \u0628\u0631\u0627\u06cc \u062d\u0635\u0648\u0644 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 <code>Enemy<\/code> \u06a9\u0627\u0645\u0644\u0627 \u0627\u0632 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0642\u0631\u0627\u0631 \u0646\u06cc\u0633\u062a \u0628\u0647 \u0634\u06a9\u0644\u06cc \u0646\u0627\u06af\u0647\u0627\u0646\u06cc \u0646\u0627\u067e\u062f\u06cc\u062f \u0634\u0648\u062f\u060c \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u0633\u0645\u062a \u0631\u0627\u0633\u062a <code>rect.<\/code> \u0627\u0632 \u0644\u0628\u0647 \u0633\u0645\u062a \u0686\u067e \u0635\u0641\u062d\u0647 \u0639\u0628\u0648\u0631 \u06a9\u0631\u062f\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631. \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0645\u0627\u0646\u0639 \u0627\u0632 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u062a\u0627\u0628\u0639 <code>()kill.<\/code> \u0631\u0627 \u0641\u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u0645 \u062a\u0627 \u067e\u0631\u062f\u0627\u0632\u0634 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0628\u0631\u0633\u062f. <\/li>\n<\/ul>\n\n\n\n<p>\u0627\u0645\u0627 <code>()kill.<\/code> \u062f\u0642\u06cc\u0642\u0627 \u0686\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f\u061f \u0628\u0631\u0627\u06cc \u067e\u0627\u0633\u062e \u0628\u0647 \u0627\u06cc\u0646 \u067e\u0631\u0633\u0634 \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0631\u0627 \u0628\u0627 \u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 Sprite Groups \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u0645. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7_Sprite_Groups\"><\/span>\u06a9\u0627\u0631 \u0628\u0627 Sprite Groups<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u06cc\u06a9\u06cc \u062f\u06cc\u06af\u0631 \u0627\u0632 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc PyGame \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0633\u06cc\u0627\u0631 \u06a9\u0627\u0631\u0622\u0645\u062f \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u06af\u0631\u0648\u0647 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u06cc\u0627 Sprite Group \u0646\u0627\u0645 \u062f\u0627\u0631\u062f. \u06af\u0631\u0648\u0647 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u062f\u0631 \u0648\u0627\u0642\u0639 \u0622\u0628\u062c\u06a9\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>Sprite<\/code> \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u0646\u06af\u0647 \u0645\u06cc\u200c\u062f\u0627\u0631\u062f. \u0627\u0645\u0627 \u0686\u0631\u0627 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u06a9\u0644\u0627\u0633 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f \u0622\u06cc\u0627 \u0646\u0645\u06cc\u200c\u0634\u0648\u062f \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>Sprite<\/code> \u0631\u0627 \u062e\u06cc\u0644\u06cc \u0633\u0627\u062f\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u06cc\u06a9 \u0644\u06cc\u0633\u062a \u067e\u0627\u06cc\u0634 \u06a9\u0631\u062f\u061f \u062f\u0631 \u067e\u0627\u0633\u062e \u0628\u0627\u06cc\u062f \u06af\u0641\u062a \u0627\u0645\u06a9\u0627\u0646 \u0686\u0646\u06cc\u0646 \u06a9\u0627\u0631\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f\u060c \u0627\u0645\u0627 \u0628\u0632\u0631\u06af\u200c\u062a\u0631\u06cc\u0646 \u0645\u0632\u06cc\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u06cc\u06a9 <code>Group<\/code> \u0628\u0647 \u0645\u062a\u062f\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u06cc\u200c\u0622\u0648\u0631\u062f \u0645\u0631\u0628\u0648\u0637 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06cc\u0646 \u0645\u062a\u062f\u0647\u0627 \u0628\u0647 \u062a\u0634\u062e\u06cc\u0635 \u0628\u0631\u062e\u0648\u0631\u062f <code>Enemy<\/code> \u0648 <code>Player<\/code> \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0622\u067e\u062f\u06cc\u062a\u200c\u0647\u0627 \u0622\u0633\u0627\u0646\u200c\u062a\u0631 \u062e\u0648\u0627\u0647\u0646\u062f \u0628\u0648\u062f.<\/p>\n\n\n\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a \u06af\u0631\u0648\u0647\u200c\u0647\u0627\u06cc \u0627\u0633\u067e\u0631\u0627\u06cc\u067e \u0686\u06af\u0648\u0646\u0647 \u0627\u0633\u062a. \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0644\u06cc \u0642\u0631\u0627\u0631 \u0627\u0633\u062a \u062f\u0648 \u0622\u0628\u062c\u06a9\u062a <code>Group<\/code> \u0645\u062a\u0641\u0627\u0648\u062a \u0628\u0633\u0627\u0632\u06cc\u0645:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u06af\u0631\u0648\u0647 \u0627\u0648\u0644 \u062a\u0645\u0627\u0645 <code>Sprite<\/code> \u0647\u0627\u06cc \u0628\u0627\u0632\u06cc \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u0646\u06af\u0647 \u0645\u06cc\u200c\u062f\u0627\u0631\u062f.<\/li>\n\n\n\n<li>\u06af\u0631\u0648\u0647 \u062f\u0648\u0645 \u0635\u0631\u0641\u0627 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>Enemy<\/code> \u0631\u0627 \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. <\/li>\n<\/ul>\n\n\n\n<p>\u0634\u0645\u0627\u06cc\u0644 \u06a9\u062f\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u0646\u0648\u06cc\u0633\u06cc\u0645\u060c \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Create the 'player'\nplayer = Player()\n\n# Create groups to hold enemy sprites and all sprites\n# - enemies is used for collision detection and position updates\n# - all_sprites is used for rendering\nenemies = pygame.sprite.Group()\nall_sprites = pygame.sprite.Group()\nall_sprites.add(player)\n\n# Variable to keep the main loop running\nrunning = True<\/code><\/pre>\n\n\n\n<p>\u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062a\u0627\u0628\u0639 <code>()kill.<\/code> \u0631\u0627 \u0641\u0631\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u06cc\u0645\u060c <code>Sprite<\/code>  \u0627\u0632 \u0647\u0631 \u06af\u0631\u0648\u0647\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646 \u062a\u0639\u0644\u0642 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u062d\u0630\u0641 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628\u060c \u062a\u0645\u0627\u0645 \u0631\u0641\u0631\u0646\u0633\u200c\u0647\u0627\u06cc <code>Sprite<\/code> \u0646\u06cc\u0632 \u062d\u0630\u0641 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u0633\u06cc\u0633\u062a\u0645 \u062c\u0645\u0639\u200c\u0622\u0648\u0631\u06cc \u0632\u0628\u0627\u0644\u0647 (Garbage Collector) \u067e\u0627\u06cc\u062a\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0641\u0636\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631\u06cc \u0627\u0632 \u062d\u0627\u0641\u0638\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0646\u062f. <\/p>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u06a9\u0647 \u06af\u0631\u0648\u0647 <code>all_sprites<\/code> \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u062f\u0627\u0631\u06cc\u0645\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0646\u062d\u0648\u0647 \u062a\u0631\u0633\u06cc\u0645 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645. \u0627\u06cc\u0646 \u0628\u0627\u0631 \u0628\u0647 \u062c\u0627\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0635\u0631\u0641 <code>()blit.<\/code> \u0631\u0648\u06cc <code>Player<\/code> \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0622\u0646 \u0631\u0627 \u0631\u0648\u06cc \u062a\u0645\u0627\u0645 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a\u200c\u0647\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Fill the screen with black\nscreen.fill((0, 0, 0))\n\n# Draw all sprites\nfor entity in all_sprites:\n    screen.blit(entity.surf, entity.rect)\n\n# Flip everything to the display\npygame.display.flip()<\/code><\/pre>\n\n\n\n<p>\u0627\u0632 \u0627\u06cc\u0646 \u0628\u0647 \u0628\u0639\u062f \u0647\u0631\u0686\u06cc\u0632\u06cc \u06a9\u0647 \u062f\u0631\u0648\u0646 <code>all_sprites<\/code> \u0642\u0631\u0627\u0631 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u0628\u0627 \u0647\u0631 \u0641\u0631\u06cc\u0645 \u0627\u0632 \u0646\u0648 \u062a\u0631\u0633\u06cc\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0686\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0635\u062d\u0628\u062a \u0631\u0627\u062c\u0639 \u0628\u0647 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0627\u0634\u06cc\u0645 \u0648 \u0686\u0647 \u0645\u0648\u0627\u0646\u0639. <\/p>\n\n\n\n<p>\u0627\u0645\u0627 \u0645\u0634\u06a9\u0644\u06cc \u062f\u06cc\u06af\u0631 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f\u060c \u0627\u06cc\u0646\u06a9\u0647 \u0647\u0646\u0648\u0632 \u0647\u06cc\u0686 \u0645\u0627\u0646\u0639\u06cc \u062f\u0631 \u0628\u0627\u0632\u06cc \u0646\u062f\u0627\u0631\u06cc\u0645. \u062f\u0631 \u062a\u0626\u0648\u0631\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0686\u0646\u062f \u0645\u0627\u0646\u0639 \u0628\u0631\u0627\u06cc \u0627\u0628\u062a\u062f\u0627\u06cc \u0628\u0627\u0632\u06cc \u0637\u0631\u0627\u062d\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0627\u0645\u0627 \u062a\u0645\u0627\u0645\u06cc \u0622\u0646\u200c\u0647\u0627 \u0638\u0631\u0641 \u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647 \u0627\u0632 \u062e\u0627\u0631\u062c \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u0628\u0627\u0632\u06cc \u0647\u0645 \u0628\u0647 \u0633\u0631\u0639\u062a \u062e\u0633\u062a\u0647\u200c\u06a9\u0646\u0646\u062f\u0647 \u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u0628\u0631\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u0628\u0627\u06cc\u062f \u06a9\u0627\u0631\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0628\u0627 \u067e\u06cc\u0634\u0631\u0641\u062a \u062f\u0631 \u0628\u0627\u0632\u06cc\u060c \u062c\u0631\u06cc\u0627\u0646\u06cc \u067e\u06cc\u0648\u0633\u062a\u0647 \u0627\u0632 \u0645\u0648\u0627\u0646\u0639 \u0646\u06cc\u0632 \u0627\u0632 \u0631\u0627\u0647 \u0628\u0631\u0633\u0646\u062f. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%DA%A9%D8%A7%D8%B1_%D8%A8%D8%A7_%D8%B1%D9%88%DB%8C%D8%AF%D8%A7%D8%AF%D9%87%D8%A7%DB%8C_%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C_%D8%AF%D8%B1_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\"><\/span>\u06a9\u0627\u0631 \u0628\u0627 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0642\u0648\u0627\u0639\u062f \u0628\u0627\u0632\u06cc \u0645\u0627 \u0628\u0647\u200c\u06af\u0648\u0646\u0647\u200c\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u06a9\u0647 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0638\u0627\u0647\u0631 \u0634\u062f\u0646 \u062f\u0627\u0626\u0645\u06cc \u0645\u0648\u0627\u0646\u0639 \u062f\u0631 \u0641\u0648\u0627\u0635\u0644 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0648\u062a\u0627\u0647 \u062f\u0627\u0631\u062f. \u0627\u06cc\u0646 \u06cc\u0639\u0646\u06cc \u0628\u0627\u06cc\u062f \u062f\u0631 \u0641\u0648\u0627\u0635\u0644 \u0645\u0634\u062e\u0635\u060c \u062f\u0648 \u06a9\u0627\u0631 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u06cc\u06a9 <code>Enemy<\/code> \u062c\u062f\u06cc\u062f \u0628\u0633\u0627\u0632\u06cc\u0645.<\/li>\n\n\n\n<li>\u0648 \u0628\u0639\u062f \u0622\u0646 \u0631\u0627 \u0628\u0647 <code>all_sprites<\/code> \u0648 <code>enemies<\/code> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645. <\/li>\n<\/ul>\n\n\n\n<p>\u062e\u0628\u0631 \u062e\u0648\u0628 \u0627\u06cc\u0646\u06a9\u0647 \u06a9\u062f \u0645\u0627 \u0647\u0645\u06cc\u0646 \u062d\u0627\u0644\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0627\u062a\u0641\u0627\u0642\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u06a9\u0646\u062f. \u0644\u0648\u067e \u0631\u0648\u06cc\u062f\u0627\u062f \u0647\u0645 \u0628\u0647\u200c\u06af\u0648\u0646\u0647\u200c\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u06a9\u0647 \u062f\u0631 \u0647\u0631 \u0641\u0631\u06cc\u0645 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0627\u062a\u0641\u0627\u0642\u06cc \u0645\u06cc\u200c\u06af\u0631\u062f\u062f \u0648 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f. \u062e\u0648\u0634\u0628\u062e\u062a\u0627\u0646\u0647 PyGame \u062f\u0633\u062a \u0634\u0645\u0627 \u0631\u0627 \u0628\u0627\u0632 \u06af\u0630\u0627\u0634\u062a\u0647 \u0648 \u0635\u0631\u0641\u0627 \u0645\u062c\u0628\u0648\u0631 \u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u0648\u0639 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc\u06cc \u0646\u06cc\u0633\u062a\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u062f\u0631 \u0622\u0646 \u06cc\u0627\u0641\u062a \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0627\u06cc\u0646 \u06cc\u0639\u0646\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc (Custom Events) \u0628\u0633\u0627\u0632\u06cc\u062f \u0648 \u0642\u0648\u0627\u0639\u062f \u0631\u0627 \u062e\u0648\u062f\u062a\u0627\u0646 \u0637\u0631\u0627\u062d\u06cc \u06a9\u0646\u06cc\u062f. <\/p>\n\n\n\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0686\u0637\u0648\u0631 \u0628\u0627\u06cc\u062f \u0631\u0648\u06cc\u062f\u0627\u062f\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0633\u0627\u062e\u062a \u06a9\u0647 \u0647\u0631 \u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647 \u06cc\u06a9\u200c\u0628\u0627\u0631 \u0645\u062c\u062f\u062f\u0627 \u0628\u0627\u0632\u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0631\u0648\u06cc\u062f\u0627\u062f \u0633\u0641\u0627\u0631\u0634\u06cc\u060c \u0627\u0648\u0644 \u0628\u0627\u06cc\u062f \u06cc\u06a9 \u0646\u0627\u0645 \u0628\u0631\u0627\u06cc \u0622\u0646 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Create the screen object\n# The size is determined by the constant SCREEN_WIDTH and SCREEN_HEIGHT\nscreen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))\n\n# Create a custom event for adding a new enemy\nADDENEMY = pygame.USEREVENT + 1\npygame.time.set_timer(ADDENEMY, 250)\n\n# Instantiate player. Right now, this is just a rectangle.\nplayer = Player()<\/code><\/pre>\n\n\n\n<p>\u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u062a\u0645\u0627\u0645 \u0631\u0648\u06cc\u062f\u0627\u062f\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0639\u062f\u062f \u0635\u062d\u06cc\u062d (Integer) \u062a\u0639\u0631\u06cc\u0641 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0633\u0627\u062e\u062a \u0631\u0648\u06cc\u062f\u0627\u062f\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627 \u06cc\u06a9 \u0639\u062f\u062f \u0635\u062d\u06cc\u062d \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u0646\u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a. \u0622\u062e\u0631\u06cc\u0646 \u0631\u0648\u06cc\u062f\u0627\u062f \u0631\u0632\u0631\u0648 \u062f\u0631 PyGame \u062a\u062d\u062a \u0639\u0646\u0648\u0627\u0646 <code>USEREVENT<\/code> \u0634\u0646\u0627\u062e\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0627 \u062a\u0639\u0631\u06cc\u0641 \u0622\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a <code>ADDENEMY = pygame.USEREVENT + 1<\/code> \u062f\u0631 <strong>\u062e\u0637 \u06f6<\/strong>\u060c \u0627\u0632 \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f \u0628\u0648\u062f\u0646 \u0622\u0646 \u0645\u0637\u0645\u0626\u0646 \u0645\u06cc\u200c\u0634\u0648\u06cc\u0645. <\/p>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0631\u0648\u06cc\u062f\u0627\u062f \u062c\u062f\u06cc\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0627 \u0641\u0648\u0627\u0635\u0644 \u0632\u0645\u0627\u0646\u06cc \u0645\u0634\u062e\u0635 \u062f\u0631 \u0635\u0641 \u0631\u0648\u06cc\u062f\u0627\u062f \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f \u0648 \u0627\u06cc\u0646\u062c\u0627\u0633\u062a \u06a9\u0647 \u0645\u0627\u0698\u0648\u0644 <code>time<\/code> \u0648\u0627\u0631\u062f \u0645\u06cc\u062f\u0627\u0646 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 <strong>\u062e\u0637 \u06f7<\/strong>\u060c \u0647\u0631 \u06f2\u06f5\u06f0 \u062b\u0627\u0646\u06cc\u0647 \u06cc\u06a9\u200c\u0628\u0627\u0631 (\u06cc\u0627 \u0686\u0647\u0627\u0631 \u0628\u0627\u0631 \u062f\u0631 \u062b\u0627\u0646\u06cc\u0647) \u06cc\u06a9 \u0631\u0648\u06cc\u062f\u0627\u062f <code>ADDENEMY<\/code> \u062c\u062f\u06cc\u062f \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0646\u0647\u0627 \u0628\u0647 \u06cc\u06a9 \u062a\u0627\u06cc\u0645\u0631 \u0628\u0631\u0627\u06cc \u062a\u0645\u0627\u0645 \u0628\u0627\u0632\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u062a\u0627\u0628\u0639 <code>()set_timer.<\/code> \u0631\u0627 \u0628\u06cc\u0631\u0648\u0646 \u0627\u0632 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u06a9\u0631\u062f \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u0645\u0637\u0645\u0626\u0646 \u0628\u0648\u062f \u062f\u0631 \u0633\u0631\u0627\u0633\u0631 \u0628\u0627\u0632\u06cc \u0628\u0647 \u062e\u0648\u0628\u06cc \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f. <\/p>\n\n\n\n<p>\u06a9\u062f \u0632\u06cc\u0631 \u0628\u0647 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0631\u0648\u06cc\u062f\u0627\u062f \u062c\u062f\u06cc\u062f \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Main loop\nwhile running:\n    # Look at every event in the queue\n    for event in pygame.event.get():\n        # Did the user hit a key?\n        if event.type == KEYDOWN:\n            # Was it the Escape key? If so, stop the loop.\n            if event.key == K_ESCAPE:\n                running = False\n\n        # Did the user click the window close button? If so, stop the loop.\n        elif event.type == QUIT:\n            running = False\n\n        # Add a new enemy?\n        elif event.type == ADDENEMY:\n            # Create the new enemy and add it to sprite groups\n            new_enemy = Enemy()\n            enemies.add(new_enemy)\n            all_sprites.add(new_enemy)\n\n    # Get the set of keys pressed and check for user input\n    pressed_keys = pygame.key.get_pressed()\n    player.update(pressed_keys)\n\n    # Update enemy position\n    enemies.update()<\/code><\/pre>\n\n\n\n<p>\u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 Event Handler \u0634\u0627\u0647\u062f \u06cc\u06a9 \u0631\u0648\u06cc\u062f\u0627\u062f <code>ADDENEMY<\/code> \u062c\u062f\u06cc\u062f \u062f\u0631 <strong>\u062e\u0637 \u06f1\u06f6<\/strong> \u0628\u0627\u0634\u062f\u060c \u06cc\u06a9 <code>Enemy<\/code> \u062c\u062f\u06cc\u062f \u0633\u0627\u062e\u062a\u0647 \u0648 \u0622\u0646 \u0631\u0627 <code>enemies<\/code> \u0648 \u0647\u0645\u06cc\u0646\u0637\u0648\u0631 <code>all_sprites<\/code> \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 <code>Enemy<\/code> \u062f\u0631\u0648\u0646 <code>all_sprites<\/code> \u0627\u0633\u062a\u060c \u062f\u0631 \u062a\u0645\u0627\u0645 \u0641\u0631\u06cc\u0645\u200c\u0647\u0627 \u062a\u0631\u0633\u06cc\u0645 \u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646 \u0644\u0627\u0632\u0645 \u0627\u0633\u062a <code>()enemies.update<\/code>\u0631\u0627 \u062f\u0631 \u062e\u0637 \u0622\u062e\u0631 \u0641\u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f \u062a\u0627 \u0647\u0645\u0647\u200c\u0686\u06cc\u0632 \u062f\u0631 <code>enemies<\/code> \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0648 \u0627\u0632 \u062d\u0631\u06a9\u062a \u0635\u062d\u06cc\u062d \u0645\u0648\u0627\u0646\u0639 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0634\u0648\u062f:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"424\" height=\"346\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-enemies.gif\" alt=\"\u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\" class=\"wp-image-44624\"\/><\/figure>\n<\/div>\n\n\n<p>\u0627\u0645\u0627 \u062a\u0646\u0647\u0627 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u0646\u06cc\u0633\u062a \u06a9\u0647 \u06cc\u06a9 \u06af\u0631\u0648\u0647 \u062c\u062f\u0627\u06af\u0627\u0646\u0647 \u0628\u0631\u0627\u06cc <code>enemies<\/code> \u0633\u0627\u062e\u062a\u0647\u200c\u0627\u06cc\u0645. \u062f\u0644\u06cc\u0644 \u062f\u06cc\u06af\u0631\u060c \u062a\u0634\u062e\u06cc\u0635 \u0628\u0631\u062e\u0648\u0631\u062f \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0628\u062e\u0634 \u0628\u0639\u062f\u06cc \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0628\u0647 \u0633\u0631\u0627\u063a \u0622\u0646 \u0645\u06cc\u200c\u0631\u0648\u06cc\u0645. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5_%D8%A8%D8%B1%D8%AE%D9%88%D8%B1%D8%AF\"><\/span>\u062a\u0634\u062e\u06cc\u0635 \u0628\u0631\u062e\u0648\u0631\u062f <span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0642\u0648\u0627\u0639\u062f \u0628\u0627\u0632\u06cc \u0645\u0627 \u0627\u06cc\u0646\u200c\u06af\u0648\u0646\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0647\u0631 \u0632\u0645\u0627\u0646 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0647 \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0648\u0627\u0646\u0639 \u0628\u0631\u0645\u06cc\u200c\u062e\u0648\u0631\u062f\u060c \u0628\u0627\u0632\u06cc \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0645\u06cc\u200c\u0631\u0633\u062f. \u0628\u0631\u0631\u0633\u06cc \u0628\u0631\u062e\u0648\u0631\u062f\u0647\u0627 (Collisions) \u062a\u06a9\u0646\u06cc\u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc\u0646 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u06af\u06cc\u0645 \u0628\u0647 \u062d\u0633\u0627\u0628 \u0645\u06cc\u200c\u0622\u06cc\u062f \u0648 \u0645\u0639\u0645\u0648\u0644\u0627 \u0628\u0631\u0627\u06cc \u062a\u0634\u062e\u06cc\u0635 \u0627\u06cc\u0646\u06a9\u0647 \u0622\u06cc\u0627 \u062f\u0648 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u062a\u062f\u0627\u062e\u0644 \u062f\u0627\u0631\u0646\u062f \u06cc\u0627 \u062e\u06cc\u0631\u060c \u0646\u06cc\u0627\u0632\u0645\u0646\u062f \u0645\u062d\u0627\u0633\u0628\u0627\u062a \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0648\u062f.<\/p>\n\n\n\n<p>\u0627\u06cc\u0646\u062c\u0627\u0633\u062a \u06a9\u0647 \u0641\u0631\u06cc\u0645\u200c\u0648\u0631\u06a9\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f PyGame \u062d\u0633\u0627\u0628\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0638\u0627\u0647\u0631 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0646\u0648\u0634\u062a\u0646 \u06a9\u062f\u0647\u0627\u06cc \u062a\u0634\u062e\u06cc\u0635 \u0628\u0631\u062e\u0648\u0631\u062f \u0645\u0639\u0645\u0648\u0644\u0627 \u0638\u0631\u0627\u0641\u062a \u0632\u06cc\u0627\u062f\u06cc \u0645\u06cc\u200c\u0637\u0644\u0628\u062f\u060c \u0627\u0645\u0627 PyGame \u0627\u0646\u0628\u0648\u0647\u06cc \u0645\u062a\u062f \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0627\u06cc \u062a\u0634\u062e\u06cc\u0635 \u0628\u0631\u062e\u0648\u0631\u062f \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631\u062a\u0627\u0646 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u062f. <\/p>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634 \u0628\u0647 \u0633\u0631\u0627\u063a \u0645\u062a\u062f\u06cc \u0628\u0647 \u0646\u0627\u0645 <code>()spritecollideany.<\/code> \u0645\u06cc\u200c\u0631\u0648\u06cc\u0645 \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u00abSprite Collide Any\u00bb \u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u0646\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062a\u062f\u060c \u06cc\u06a9 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0648 \u06cc\u06a9 \u06af\u0631\u0648\u0647 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u067e\u0627\u0631\u0627\u0645\u062a\u0631 \u067e\u0630\u06cc\u0631\u0641\u062a\u0647 \u0648 \u062a\u0645\u0627\u0645 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>Group<\/code> \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u062a\u0627 \u0645\u0634\u062e\u0635 \u06af\u0631\u062f\u062f \u0622\u06cc\u0627 <code>rect.<\/code> \u0622\u0646 \u0628\u0627 <code>rect.<\/code> \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0628\u0631\u062e\u0648\u0631\u062f \u062f\u0627\u0631\u062f \u06cc\u0627 \u062e\u06cc\u0631. \u0627\u06af\u0631 \u0686\u0646\u06cc\u0646 \u0628\u0627\u0634\u062f\u060c True \u0631\u0627 \u0628\u0627\u0632 \u0645\u06cc\u200c\u06af\u0631\u062f\u0627\u0646\u062f \u0648 \u0627\u06af\u0631 \u0646\u0647\u060c False \u0631\u0627. \u0627\u06cc\u0646 \u0645\u062a\u062f\u06cc \u0628\u06cc\u200c\u0646\u0642\u0635 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06cc \u0645\u062b\u0627\u0644 \u0645\u0627 \u0628\u0647 \u062d\u0633\u0627\u0628 \u0645\u06cc\u200c\u0622\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0628\u0631\u062e\u0648\u0631\u062f\u0647\u0627\u06cc \u062a\u0646\u0647\u0627 \u06cc\u06a9 <code>player<\/code> \u0631\u0627 \u0628\u0627 \u06af\u0631\u0648\u0647\u06cc \u0627\u0632 \u0645\u0648\u0627\u0646\u0639 \u062a\u0634\u062e\u06cc\u0635 \u062f\u0647\u06cc\u0645. <\/p>\n\n\n\n<p>\u0634\u0645\u0627\u06cc\u0644 \u06a9\u0644\u06cc \u06a9\u0627\u0631 \u062f\u0631 \u0642\u0627\u0644\u0628 \u06a9\u062f \u0628\u0647 \u0634\u06a9\u0644 \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Draw all sprites\nfor entity in all_sprites:\n    screen.blit(entity.surf, entity.rect)\n\n# Check if any enemies have collided with the player\nif pygame.sprite.spritecollideany(player, enemies):\n    # If so, then remove the player and stop the loop\n    player.kill()\n    running = False<\/code><\/pre>\n\n\n\n<p><strong>\u062e\u0637 \u06f6<\/strong> \u0628\u0631\u0631\u0633\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0622\u06cc\u0627 <code>player<\/code> \u0628\u0627 \u0647\u0631\u06cc\u06a9 \u0627\u0632 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>enemies<\/code> \u0628\u0631\u062e\u0648\u0631\u062f \u062f\u0627\u0634\u062a\u0647 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631. \u0627\u06af\u0631 \u0628\u0631\u062e\u0648\u0631\u062f \u0635\u0648\u0631\u062a \u06af\u0631\u0641\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u062a\u0627\u0628\u0639 <code>()player.kil<\/code> \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u062a\u0627 <code>player<\/code> \u0631\u0627 \u0627\u0632 \u062a\u0645\u0627\u0645 \u06af\u0631\u0648\u0647\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u0622\u0646\u200c\u0647\u0627 \u062a\u0639\u0644\u0642 \u062f\u0627\u0631\u062f \u062d\u0630\u0641 \u06a9\u0646\u062f. \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0645\u0627\u0645 \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc \u062f\u0631 \u062d\u0627\u0644 \u0631\u0646\u062f\u0631 \u062f\u0631\u0648\u0646 <code>all_sprites<\/code> \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647\u200c\u0627\u0646\u062f\u060c <code>player<\/code> \u062f\u06cc\u06af\u0631 \u0631\u0646\u062f\u0631 \u0646\u062e\u0648\u0627\u0647\u062f \u0634\u062f. \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u06a9\u0634\u062a\u0647 \u0634\u0648\u062f\u060c \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0628\u0627\u0632\u06cc \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0628\u0646\u062f\u06cc\u0645. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u0632 \u0639\u0628\u0627\u0631\u062a <code>running = False<\/code> \u062f\u0631 \u062e\u0637 \u0622\u062e\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0628\u0633\u062a\u0647 \u0634\u0648\u062f. <\/p>\n\n\n\n<p>\u062a\u0627 \u0627\u06cc\u0646\u062c\u0627\u06cc \u06a9\u0627\u0631 \u0627\u0632 \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\u060c \u062a\u0645\u0627\u0645 \u0639\u0646\u0627\u0635\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc\u0646 \u0628\u0627\u0632\u06cc \u062e\u0648\u062f \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0631\u062f\u0647\u200c\u0627\u06cc\u0645:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"543\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-part2.jpg\" alt=\"\u0646\u0645\u0627\u06cc\u0647\u200c\u0627\u06cc \u0627\u0632 \u062a\u0645\u0627\u0645 \u0639\u0646\u0627\u0635\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc\u0646 \u06cc\u06a9 \u0628\u0627\u0632\u06cc \u062f\u0631 PyGame\" class=\"wp-image-44618\" srcset=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-part2.jpg 700w, https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-part2-300x233.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<p>\u062f\u0631 \u0645\u0631\u062d\u0644\u0647 \u0628\u0639\u062f\u06cc \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u0638\u0627\u0647\u0631 \u0628\u0627\u0632\u06cc \u0631\u0627 \u062f\u0633\u062a\u062e\u0648\u0634 \u062a\u063a\u06cc\u06cc\u0631 \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u062c\u0630\u0627\u0628\u06cc\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u0628\u0631\u0627\u06cc \u06af\u06cc\u0645\u0631\u0647\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u062f. \u0636\u0645\u0646\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0686\u0646\u062f \u0642\u0627\u0628\u0644\u06cc\u062a \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u0631\u0627 \u0646\u06cc\u0632 \u067e\u06cc\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0628\u0627\u0632\u06cc \u0645\u0646\u062d\u0635\u0631 \u0628\u0647 \u0641\u0631\u062f\u062a\u0631\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u062a\u0635\u0627\u0648\u06cc\u0631 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a<\/h3>\n\n\n\n<p>\u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u06a9\u0627\u0631 \u0628\u0647 \u062c\u0627\u06cc\u06cc \u0631\u0633\u06cc\u062f\u0647 \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0627\u0632\u06cc \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0627\u0645\u0644 \u062a\u062c\u0631\u0628\u0647 \u06a9\u0646\u06cc\u0645\u060c \u0627\u0645\u0627 \u0628\u0627\u06cc\u062f \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0642\u06cc\u0642\u062a \u06a9\u0646\u0627\u0631 \u0628\u06cc\u0627\u06cc\u06cc\u0645 \u06a9\u0647 \u0647\u0646\u0648\u0632 \u0638\u0627\u0647\u0631\u06cc \u0632\u0634\u062a \u062f\u0627\u0631\u062f \u0648 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0648 \u0645\u0648\u0627\u0646\u0639 \u0635\u0631\u0641\u0627 \u0628\u0644\u0648\u06a9\u200c\u0647\u0627\u06cc\u06cc \u0633\u0641\u06cc\u062f\u0631\u0646\u06af \u0631\u0648\u06cc \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647\u200c\u0627\u06cc \u0645\u0634\u06a9\u06cc \u0647\u0633\u062a\u0646\u062f. \u0686\u0646\u06cc\u0646 \u0634\u0645\u0627\u06cc\u0644\u06cc \u062f\u0631 \u062f\u0648\u0631\u0627\u0646 \u0628\u0627\u0632\u06cc Pong \u0645\u0639\u0631\u06a9\u0647 \u0628\u0647 \u062d\u0633\u0627\u0628 \u0645\u06cc\u200c\u0622\u0645\u062f\u060c \u0627\u0645\u0627 \u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u0628\u06cc\u0634 \u0627\u0632 \u06f4\u06f0 \u0633\u0627\u0644 \u0627\u0632 \u0638\u0647\u0648\u0631 \u0635\u0646\u0639\u062a \u06af\u06cc\u0645 \u0645\u06cc\u200c\u06af\u0630\u0631\u062f\u060c \u062f\u06cc\u06af\u0631 \u0646\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647 \u0647\u0645\u06cc\u0646 \u0638\u0627\u0647\u0631 \u0633\u0627\u062f\u0647 \u0628\u0633\u0646\u062f\u0647 \u06a9\u0646\u06cc\u0645. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0632\u0645\u0627\u0646 \u0622\u0646 \u0631\u0633\u06cc\u062f\u0647 \u06a9\u0647 \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646 \u0645\u0633\u062a\u0637\u06cc\u0644\u200c\u0647\u0627\u06cc \u0633\u0627\u062f\u0647 \u0648 \u0628\u06cc\u200c\u0631\u0648\u062d \u0631\u0627 \u0628\u0647 \u062a\u0635\u0627\u0648\u06cc\u0631\u06cc \u062c\u0630\u0627\u0628\u200c\u062a\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u0645.<\/p>\n\n\n\n<p>\u067e\u06cc\u0634\u200c\u062a\u0631 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u06cc\u0645 \u06a9\u0647 \u0628\u0647 \u06a9\u0645\u06a9 \u0645\u0627\u0698\u0648\u0644 <code>image<\/code> \u0645\u06cc\u200c\u062a\u0648\u0627\u0646 \u062a\u0635\u0627\u0648\u06cc\u0631 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u062d\u0627\u0641\u0638\u0647 \u062f\u0633\u062a\u06af\u0627\u0647 \u0631\u0627 \u0631\u0648\u06cc <code>Surface<\/code> \u0642\u0631\u0627\u0631 \u062f\u0627\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0631\u0627 \u0628\u0647 \u0634\u06a9\u0644 \u06cc\u06a9 \u0647\u0648\u0627\u067e\u06cc\u0645\u0627\u06cc \u062c\u062a \u062f\u0631 \u0628\u06cc\u0627\u0648\u0631\u06cc\u0645 \u0648 \u0645\u0648\u0627\u0646\u0639 \u0631\u0627 \u0646\u06cc\u0632 \u0628\u0647 \u0645\u0648\u0634\u06a9\u200c \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u0645. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u062a\u063a\u06cc\u06cc\u0631 \u062f\u0627\u062f\u0646 \u0633\u0627\u0632\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0622\u0628\u062c\u06a9\u062a<\/h3>\n\n\n\n<p>\u067e\u06cc\u0634 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u0647 \u0633\u0631\u0627\u063a \u062a\u0635\u0627\u0648\u06cc\u0631 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0648 \u0645\u0648\u0627\u0646\u0639 \u0628\u0631\u0648\u06cc\u0645\u060c \u0644\u0627\u0632\u0645 \u0627\u0633\u062a \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u06cc \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647\u200c\u0647\u0627\u06cc \u0622\u0628\u062c\u06a9\u062a (Object Constructors) \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645. \u06a9\u062f \u067e\u0627\u06cc\u06cc\u0646\u060c \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u062f\u06cc \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u067e\u06cc\u0634\u200c\u062a\u0631 \u0628\u0647 \u06a9\u0627\u0631 \u0628\u0633\u062a\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Import pygame.locals for easier access to key coordinates\n# Updated to conform to flake8 and black standards\n# from pygame.locals import *\nfrom pygame.locals import (\n    RLEACCEL,\n    K_UP,\n    K_DOWN,\n    K_LEFT,\n    K_RIGHT,\n    K_ESCAPE,\n    KEYDOWN,\n    QUIT,\n)\n\n# Define constants for the screen width and height\nSCREEN_WIDTH = 800\nSCREEN_HEIGHT = 600\n\n\n# Define the Player object by extending pygame.sprite.Sprite\n# Instead of a surface, use an image for a better-looking sprite\nclass Player(pygame.sprite.Sprite):\n    def __init__(self):\n        super(Player, self).__init__()\n        self.surf = pygame.image.load(\"jet.png\").convert()\n        self.surf.set_colorkey((255, 255, 255), RLEACCEL)\n        self.rect = self.surf.get_rect()<\/code><\/pre>\n\n\n\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0647\u0631 \u0686\u06cc\u0632 \u0628\u0627\u06cc\u062f \u0627\u0646\u062f\u06a9\u06cc \u0628\u0647 <strong>\u062e\u0637 \u06f2\u06f5<\/strong> \u0628\u067e\u0631\u062f\u0627\u0632\u06cc\u0645. \u062a\u0627\u0628\u0639 <code>()pygame.image.load<\/code> \u062a\u0635\u0648\u06cc\u0631\u06cc \u0631\u0627 \u0627\u0632 \u062d\u0627\u0641\u0638\u0647 \u062f\u0633\u062a\u06af\u0627\u0647 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0628\u0631\u0627\u06cc \u062a\u062d\u0642\u0642 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639\u060c \u0645\u0633\u06cc\u0631 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0622\u0646 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u062f. \u0633\u067e\u0633 \u06cc\u06a9 <code>Surface<\/code> \u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0628\u0627 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0627\u0628\u0639 ()convert. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u0646\u062a\u0638\u0631 \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc <code>Surface<\/code> \u0628\u0627\u0634\u06cc\u0645 \u06a9\u0647 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u0633\u0631\u0639\u062a \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u062a\u0627\u0628\u0639 ()blit. \u062f\u0631 \u0622\u06cc\u0646\u062f\u0647 \u0628\u0627\u0644\u0627\u062a\u0631 \u0628\u0631\u0648\u062f.<\/p>\n\n\n\n<p>\u0645\u0627 \u062f\u0631 <strong>\u062e\u0637 \u06f2\u06f6<\/strong> \u0627\u0632 \u062a\u0627\u0628\u0639 <code>()set_colorkey.<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0646\u0634\u0627\u0646 \u062f\u0647\u06cc\u0645 \u0631\u0646\u06af\u06cc \u06a9\u0647 \u062f\u0631 PyGame \u0631\u0646\u062f\u0631 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0634\u0641\u0627\u0641 \u0627\u0633\u062a. \u062f\u0631 \u0627\u06cc\u0646 \u0645\u062b\u0627\u0644 \u0628\u0647 \u0633\u0631\u0627\u063a \u0631\u0646\u06af \u0633\u0641\u06cc\u062f \u0631\u0641\u062a\u0647\u200c\u0627\u06cc\u0645\u060c \u0686\u0631\u0627 \u06a9\u0647 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u062a\u0635\u0648\u06cc\u0631 \u0647\u0648\u0627\u067e\u06cc\u0645\u0627 \u0647\u0645 \u0633\u0641\u06cc\u062f \u0627\u0633\u062a. \u0645\u062a\u063a\u06cc\u0631 <code>RLEACCEL <\/code>\u0647\u0645 \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u06cc \u062f\u0644\u062e\u0648\u0627\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 PyGame \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0628\u0627\u0632\u06cc \u0628\u0627 \u0633\u0631\u0639\u062a \u0628\u06cc\u0634\u062a\u0631\u06cc \u0631\u0648\u06cc \u00ab\u0646\u0645\u0627\u06cc\u0634\u06af\u0631\u0647\u0627\u06cc \u063a\u06cc\u0631\u0634\u062a\u0627\u0628\u200c\u06cc\u0627\u0641\u062a\u0647\u00bb (Non-Accelerated Displays) \u0631\u0646\u062f\u0631 \u0634\u0648\u062f. \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u062f\u0631 <strong>\u062e\u0637 \u06f1\u06f1<\/strong> \u0627\u0632 \u06a9\u062f \u06a9\u0627\u0645\u0644 \u0628\u0627\u0632\u06cc \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n\n\n\n<p>\u0647\u06cc\u0686 \u0686\u06cc\u0632 \u062f\u06cc\u06af\u0631\u06cc \u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u062f\u0627\u0631\u062f. \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0645\u0627\u06a9\u0627\u0646 \u06cc\u06a9 <code>Surface<\/code> \u0627\u0633\u062a\u060c \u0627\u0645\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u0641\u0631\u0642 \u06a9\u0647 \u0634\u0645\u0627\u06cc\u0644\u06cc \u0645\u062a\u0641\u0627\u0648\u062a \u0631\u0627 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u062f. \u063a\u06cc\u0631 \u0627\u0632 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u062b\u0644 \u0642\u0628\u0644 \u0628\u0627 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0627\u0631 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p>\u0627\u0632 \u0637\u0631\u06cc\u0642 \u06a9\u062f \u067e\u0627\u06cc\u06cc\u0646\u060c \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a\u06cc \u0645\u0634\u0627\u0628\u0647 \u0631\u0648\u06cc \u0638\u0627\u0647\u0631 <code>Enemy<\/code> \u0627\u0639\u0645\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Define the enemy object by extending pygame.sprite.Sprite\n# Instead of a surface, use an image for a better-looking sprite\nclass Enemy(pygame.sprite.Sprite):\n    def __init__(self):\n        super(Enemy, self).__init__()\n        self.surf = pygame.image.load(\"missile.png\").convert()\n        self.surf.set_colorkey((255, 255, 255), RLEACCEL)\n        # The starting position is randomly generated, as is the speed\n        self.rect = self.surf.get_rect(\n            center=(\n                random.randint(SCREEN_WIDTH + 20, SCREEN_WIDTH + 100),\n                random.randint(0, SCREEN_HEIGHT),\n            )\n        )\n        self.speed = random.randint(5, 20)<\/code><\/pre>\n\n\n\n<p>\u062d\u0627\u0644\u0627 \u0628\u0627 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u062a\u0648\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u06cc\u0645 \u06a9\u0647 \u0633\u0627\u0632 \u0648 \u06a9\u0627\u0631 \u06a9\u0644\u06cc \u0628\u0627\u0632\u06cc \u062a\u0641\u0627\u0648\u062a\u06cc \u0628\u0627 \u0642\u0628\u0644 \u0646\u062f\u0627\u0631\u062f\u060c \u0627\u0645\u0627 \u067e\u0648\u0633\u062a\u0647\u200c\u0627\u06cc \u0627\u0632 \u062a\u0635\u0627\u0648\u06cc\u0631 \u062c\u0630\u0627\u0628 \u0631\u0648\u06cc \u0622\u0646 \u0642\u0631\u0627\u0631 \u06af\u0631\u0641\u062a\u0647 \u0627\u0633\u062a. \u062d\u06cc\u0641 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u0627\u06af\u0631 \u06a9\u0627\u0631 \u0631\u0627 \u0647\u0645\u06cc\u0646\u200c\u062c\u0627 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0628\u0631\u0633\u0627\u0646\u06cc\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u062f\u0631 \u0628\u062e\u0634 \u0628\u0639\u062f\u06cc \u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0686\u0646\u062f \u0627\u0628\u0631 \u0647\u0645 \u0628\u0647 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u062a\u0627 \u067e\u0631\u0648\u0627\u0632 \u0647\u0648\u0627\u067e\u06cc\u0645\u0627 \u062f\u0631 \u0622\u0633\u0645\u0627\u0646\u060c \u0637\u0628\u06cc\u0639\u06cc\u200c\u062a\u0631 \u062c\u0644\u0648\u0647 \u06a9\u0646\u062f. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:18px\">\u0627\u0641\u0632\u0648\u062f\u0646 \u062a\u0635\u0627\u0648\u06cc\u0631 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647<\/h3>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u062a\u0631\u0633\u06cc\u0645 \u0627\u0628\u0631\u0647\u0627 \u062f\u0631 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647\u060c \u0628\u0627\u06cc\u062f \u0647\u0645\u0627\u0646 \u0642\u0648\u0627\u0639\u062f\u06cc \u0631\u0627 \u062f\u0631 \u067e\u06cc\u0634 \u0628\u06af\u06cc\u0631\u06cc\u0645 \u06a9\u0647 \u067e\u06cc\u0634\u200c\u062a\u0631 \u0628\u0627 \u062a\u0631\u0633\u06cc\u0645 <code>Player<\/code> \u0648 <code>Enemy<\/code> \u062f\u0646\u0628\u0627\u0644 \u06a9\u0631\u062f\u06cc\u0645:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u06a9\u0644\u0627\u0633\u06cc \u0628\u0647 \u0646\u0627\u0645 <code>Cloud<\/code> \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645.<\/li>\n\n\n\n<li>\u062a\u0635\u0648\u06cc\u0631\u06cc \u0627\u0632 \u06cc\u06a9 \u0627\u0628\u0631 \u0628\u0647 \u0622\u0646 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/li>\n\n\n\n<li>\u06cc\u06a9 \u0645\u062a\u062f <code>()update.<\/code> \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0627\u0628\u0631\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0633\u0645\u062a \u0686\u067e \u0635\u0641\u062d\u0647 \u062d\u0631\u06a9\u062a \u0645\u06cc\u200c\u062f\u0647\u062f.<\/li>\n\n\n\n<li>\u0631\u0648\u06cc\u062f\u0627\u062f\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0648 \u0647\u0646\u062f\u0644\u0631\u06cc \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645 \u06a9\u0647 \u0648\u0638\u06cc\u0641\u0647\u200c\u0634\u0627\u0646\u060c \u0633\u0627\u062e\u062a \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>cloud<\/code> \u062c\u062f\u06cc\u062f \u062f\u0631 \u0641\u0648\u0627\u0635\u0644 \u0632\u0645\u0627\u0646\u06cc \u0645\u0634\u062e\u0635 \u0627\u0633\u062a.<\/li>\n\n\n\n<li>\u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627\u06cc <code>cloud<\/code> \u0631\u0627 \u0628\u0647 \u06af\u0631\u0648\u0647\u06cc \u062c\u062f\u06cc\u062f \u0628\u0647 \u0646\u0627\u0645 <code>clouds<\/code> \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/li>\n\n\n\n<li>\u062a\u0631\u0633\u06cc\u0645 \u0648 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc <code>clouds<\/code> \u062f\u0631 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0631\u0627 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0645\u06cc\u200c\u0631\u0633\u0627\u0646\u06cc\u0645. <\/li>\n<\/ul>\n\n\n\n<p>\u062f\u0631 \u0645\u062b\u0627\u0644 \u0645\u0627\u060c \u06a9\u062f <code>Cloud<\/code> \u0686\u0646\u06cc\u0646 \u0634\u0645\u0627\u06cc\u0644\u06cc \u062f\u0627\u0631\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Define the cloud object by extending pygame.sprite.Sprite\n# Use an image for a better-looking sprite\nclass Cloud(pygame.sprite.Sprite):\n    def __init__(self):\n        super(Cloud, self).__init__()\n        self.surf = pygame.image.load(\"cloud.png\").convert()\n        self.surf.set_colorkey((0, 0, 0), RLEACCEL)\n        # The starting position is randomly generated\n        self.rect = self.surf.get_rect(\n            center=(\n                random.randint(SCREEN_WIDTH + 20, SCREEN_WIDTH + 100),\n                random.randint(0, SCREEN_HEIGHT),\n            )\n        )\n\n    # Move the cloud based on a constant speed\n    # Remove the cloud when it passes the left edge of the screen\n    def update(self):\n        self.rect.move_ip(-5, 0)\n        if self.rect.right &lt; 0:\n            self.kill()<\/code><\/pre>\n\n\n\n<p>\u06a9\u062f \u0628\u0627\u0644\u0627 \u0628\u0627\u06cc\u062f \u06a9\u0627\u0645\u0644\u0627 \u0628\u0647 \u0686\u0634\u0645\u200c\u062a\u0627\u0646 \u0622\u0634\u0646\u0627 \u0628\u0627\u0634\u062f\u060c \u0632\u06cc\u0631\u0627 \u0627\u0633\u0627\u0633\u0627 \u062a\u0641\u0627\u0648\u062a\u06cc \u0628\u0627 <code>Enemy<\/code> \u0646\u062f\u0627\u0631\u062f. <\/p>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0628\u0631\u0647\u0627 \u062f\u0631 \u0641\u0648\u0627\u0635\u0644 \u0632\u0645\u0627\u0646\u06cc \u0645\u0634\u062e\u0635 \u0638\u0627\u0647\u0631 \u0634\u0648\u0646\u062f\u060c \u0628\u0627\u06cc\u062f \u0645\u0634\u0627\u0628\u0647 \u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0628\u0627 \u0645\u0648\u0627\u0646\u0639 \u06a9\u0631\u062f\u06cc\u0645\u060c \u06a9\u062f\u06cc \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0631\u0648\u06cc\u062f\u0627\u062f \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631\u0633\u062a \u0632\u06cc\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f \u0633\u0627\u062e\u062a \u0645\u0648\u0627\u0646\u0639 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Create custom events for adding a new enemy and a cloud\nADDENEMY = pygame.USEREVENT + 1\npygame.time.set_timer(ADDENEMY, 250)\nADDCLOUD = pygame.USEREVENT + 2\npygame.time.set_timer(ADDCLOUD, 1000)<\/code><\/pre>\n\n\n\n<p>\u0628\u0646\u0627\u0628\u0631 \u06a9\u062f \u0628\u0627\u0644\u0627\u060c \u0627\u0628\u0631\u0647\u0627\u06cc \u062c\u062f\u06cc\u062f \u0628\u0627 \u06af\u0630\u0634\u062a \u0647\u0631 \u06f1\u06f0\u06f0\u06f0 \u0645\u06cc\u0644\u06cc\u200c\u062b\u0627\u0646\u06cc\u0647 (\u06cc\u0627 \u06f1 \u062b\u0627\u0646\u06cc\u0647) \u0633\u0627\u062e\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f.<\/p>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f \u06af\u0631\u0648\u0647\u06cc \u062c\u062f\u06cc\u062f \u0628\u0633\u0627\u0632\u06cc\u0645 \u06a9\u0647 \u062a\u0645\u0627\u0645 \u0627\u0628\u0631\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u0646\u06af\u0647 \u0645\u06cc\u200c\u062f\u0627\u0631\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Create groups to hold enemy sprites, cloud sprites, and all sprites\n# - enemies is used for collision detection and position updates\n# - clouds is used for position updates\n# - all_sprites is used for rendering\nenemies = pygame.sprite.Group()\nclouds = pygame.sprite.Group()\nall_sprites = pygame.sprite.Group()\nall_sprites.add(player)<\/code><\/pre>\n\n\n\n<p>\u0633\u067e\u0633 \u062f\u0631 Event Handler\u060c \u06cc\u06a9 \u0647\u0646\u062f\u0644\u0631 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0631\u0648\u06cc\u062f\u0627\u062f \u062c\u062f\u06cc\u062f <code>ADDCLOUD<\/code> \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Main loop\nwhile running:\n    # Look at every event in the queue\n    for event in pygame.event.get():\n        # Did the user hit a key?\n        if event.type == KEYDOWN:\n            # Was it the Escape key? If so, then stop the loop.\n            if event.key == K_ESCAPE:\n                running = False\n\n        # Did the user click the window close button? If so, stop the loop.\n        elif event.type == QUIT:\n            running = False\n\n        # Add a new enemy?\n        elif event.type == ADDENEMY:\n            # Create the new enemy and add it to sprite groups\n            new_enemy = Enemy()\n            enemies.add(new_enemy)\n            all_sprites.add(new_enemy)\n\n        # Add a new cloud?\n        elif event.type == ADDCLOUD:\n            # Create the new cloud and add it to sprite groups\n            new_cloud = Cloud()\n            clouds.add(new_cloud)\n            all_sprites.add(new_cloud)<\/code><\/pre>\n\n\n\n<p>\u0633\u067e\u0633 \u0627\u0632 \u0622\u067e\u062f\u06cc\u062a \u0634\u062f\u0646 <code>clouds<\/code> \u062f\u0631 \u0647\u0631 \u0641\u0631\u06cc\u0645 \u0627\u0637\u0645\u06cc\u0646\u0627\u0646 \u062d\u0627\u0635\u0644 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Update the position of enemies and clouds\nenemies.update()\nclouds.update()\n\n# Fill the screen with sky blue\nscreen.fill((135, 206, 250))<\/code><\/pre>\n\n\n\n<p><strong>\u062e\u0637 \u06f6<\/strong> \u0627\u0632 \u06a9\u062f \u0628\u0627\u0644\u0627\u060c <code>()screen.fill<\/code> \u0631\u0627 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u0635\u0641\u062d\u0647 \u0628\u0627 \u0631\u0646\u06af \u0622\u0628\u06cc \u0622\u0633\u0645\u0627\u0646\u06cc \u067e\u0631 \u0634\u0648\u062f. \u0627\u0644\u0628\u062a\u0647 \u06a9\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0627\u06cc\u0646 \u0631\u0646\u06af \u0631\u0627 \u0628\u0647 \u0647\u0631\u0686\u06cc\u0632 \u062f\u06cc\u06af\u0631\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0627\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u0634\u0627\u06cc\u062f \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u062c\u0647\u0627\u0646\u06cc \u0628\u06cc\u06af\u0627\u0646\u0647 \u0628\u0627 \u0622\u0633\u0645\u0627\u0646\u06cc \u0628\u0646\u0641\u0634 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06cc\u0627 \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0633\u0637\u062d \u06a9\u0631\u0647 \u0645\u0631\u06cc\u062e \u0631\u0627 \u0628\u0627 \u0631\u0646\u06af \u0642\u0631\u0645\u0632 \u0646\u0634\u0627\u0646 \u062f\u0647\u06cc\u062f.<\/p>\n\n\n\n<p>\u062f\u0631 \u0646\u0638\u0631 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0647\u0631 <code>Cloud<\/code> \u0648 <code>Enemy<\/code> \u062c\u062f\u06cc\u062f\u060c \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u06af\u0631\u0648\u0647\u200c\u0647\u0627\u06cc <code>clouds<\/code> \u0648 <code>enemies<\/code>\u060c \u0628\u0647 <code>all_sprites<\/code> \u0646\u06cc\u0632 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0639\u0644\u062a \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0647\u0631 \u06af\u0631\u0648\u0647 \u0647\u062f\u0641\u06cc \u0645\u062a\u0641\u0627\u0648\u062a \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0631\u0646\u062f\u0631 <\/strong>\u0628\u0627 <code>all_sprites<\/code> \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f. <\/li>\n\n\n\n<li><strong>\u0628\u0647\u200c\u0631\u0632\u0648\u0631\u0633\u0627\u0646\u06cc \u0645\u062d\u0644 \u0642\u0631\u0627\u0631\u06af\u06cc\u0631\u06cc<\/strong> \u0622\u0628\u062c\u06a9\u062a\u200c\u0647\u0627 \u062a\u0648\u0633\u0637 <code>clouds<\/code> \u0648 <code>enemies<\/code> \u0635\u0648\u0631\u062a \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f.<\/li>\n\n\n\n<li>\u0628\u0631\u0627\u06cc <strong>\u062a\u0634\u062e\u06cc\u0635 \u0628\u0631\u062e\u0648\u0631\u062f<\/strong> \u0647\u0645 \u0627\u0632 <code>enemies<\/code> \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06af\u06cc\u0631\u06cc\u0645. <\/li>\n<\/ul>\n\n\n\n<p>\u062f\u0631 \u0648\u0627\u0642\u0639 \u0628\u0647 \u0627\u06cc\u0646 \u062e\u0627\u0637\u0631 \u0686\u0646\u062f\u06cc\u0646 \u06af\u0631\u0648\u0647 \u0645\u062e\u062a\u0644\u0641 \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645 \u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u062f\u0648\u0646 \u0627\u06cc\u062c\u0627\u062f \u0627\u062e\u062a\u0644\u0627\u0644 \u062f\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f \u0648 \u0631\u0641\u062a\u0627\u0631 \u0633\u0627\u06cc\u0631 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a\u200c\u0647\u0627\u060c \u0646\u062d\u0648\u0647 \u062d\u0631\u06a9\u062a \u06cc\u0627 \u0631\u0641\u062a\u0627\u0631 \u0647\u0631 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%D8%B3%D8%B1%D8%B9%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C\"><\/span>\u0633\u0631\u0639\u062a \u0628\u0627\u0632\u06cc<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0627\u06af\u0631 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0627\u06cc \u06a9\u0647 \u062a\u0627 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647 \u0627\u0632 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0637\u0631\u0627\u062d\u06cc \u06a9\u0631\u062f\u06cc\u0645 \u0631\u0627 \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f\u060c \u0645\u062a\u0648\u062c\u0647 \u0645\u06cc\u200c\u0634\u0648\u06cc\u062f \u0633\u0631\u0639\u062a \u062d\u0631\u06a9\u062a \u0645\u0648\u0627\u0646\u0639 \u0627\u0646\u062f\u06a9\u06cc \u0632\u06cc\u0627\u062f \u0627\u0633\u062a. \u0627\u0644\u0628\u062a\u0647 \u0627\u06af\u0631 \u0686\u0646\u06cc\u0646 \u0686\u06cc\u0632\u06cc \u0631\u0627 \u0634\u0627\u0647\u062f \u0646\u0628\u0648\u062f\u06cc\u062f \u0647\u0645 \u0645\u0634\u06a9\u0644\u06cc \u0646\u06cc\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0631\u062d\u0644\u0647\u060c \u062f\u0633\u062a\u06af\u0627\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u060c \u0646\u062a\u0627\u06cc\u062c\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u0645\u06cc\u200c\u06af\u0630\u0627\u0631\u0646\u062f. <\/p>\n\n\n\n<p>\u0639\u0644\u062a \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc\u060c \u0641\u0631\u06cc\u0645\u200c\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0647\u0631 \u0633\u0631\u0639\u062a\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u067e\u0631\u062f\u0627\u0632\u0646\u062f\u0647 \u0648 \u0645\u062d\u06cc\u0637 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0627\u0645\u06a9\u0627\u0646\u200c\u067e\u0630\u06cc\u0631 \u0628\u0627\u0634\u062f\u060c \u067e\u0631\u062f\u0627\u0632\u0634 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u0632 \u0622\u0646\u200c\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0645\u0627\u0645 \u0627\u0633\u067e\u0631\u0627\u06cc\u062a\u200c\u0647\u0627 \u06cc\u06a9\u200c\u0628\u0627\u0631 \u0628\u0647 \u0627\u0632\u0627\u06cc \u0647\u0631 \u0641\u0631\u06cc\u0645 \u062d\u0631\u06a9\u062a \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u062f\u0631 \u0647\u0631 \u062b\u0627\u0646\u06cc\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0635\u062f\u0647\u0627 \u062d\u0631\u06a9\u062a \u0645\u062e\u062a\u0644\u0641 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. \u0628\u0647 \u062a\u0639\u062f\u0627\u062f \u0641\u0631\u06cc\u0645\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062f\u0631 \u0647\u0631 \u062b\u0627\u0646\u06cc\u0647 \u0628\u0647 \u0646\u0645\u0627\u06cc\u0634 \u062f\u0631\u0645\u06cc\u200c\u0622\u06cc\u0646\u062f \u00ab\u0646\u0631\u062e \u0641\u0631\u06cc\u0645\u00bb (Frame Rate) \u06af\u0641\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0627\u06cc\u0646 \u0646\u0631\u062e \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062a\u0641\u0627\u0648\u062a \u0628\u06cc\u0646 \u06cc\u06a9 \u0628\u0627\u0632\u06cc \u0647\u06cc\u062c\u0627\u0646\u200c\u0627\u0646\u06af\u06cc\u0632 \u0648 \u06cc\u06a9 \u0628\u0627\u0632\u06cc \u0641\u0631\u0627\u0645\u0648\u0634\u200c\u0634\u062f\u0646\u06cc \u0628\u0627\u0634\u062f. <\/p>\n\n\n\n<p>\u062f\u0631 \u062d\u0627\u0644\u062a \u0646\u0631\u0645\u0627\u0644 \u0628\u0627\u06cc\u062f \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0628\u06cc\u0634\u062a\u0631\u06cc\u0646 \u0646\u0631\u062e \u0641\u0631\u06cc\u0645 \u0645\u0645\u06a9\u0646 \u0628\u0627\u0634\u06cc\u0645\u060c \u0627\u0645\u0627 \u062f\u0631 \u0627\u06cc\u0646 \u0628\u0627\u0632\u06cc \u0628\u0627\u06cc\u062f \u0645\u0642\u062f\u0627\u0631\u06cc \u0646\u0631\u062e \u0641\u0631\u06cc\u0645 \u0631\u0627 \u06a9\u0627\u0647\u0634 \u062f\u0647\u06cc\u0645 \u062a\u0627 \u0628\u0634\u0648\u062f \u0627\u0632 \u062a\u062c\u0631\u0628\u0647 \u0622\u0646 \u0644\u0630\u062a \u0628\u0628\u0631\u062f. \u062e\u0648\u0634\u0628\u062e\u062a\u0627\u0646\u0647 \u0645\u0627\u0698\u0648\u0644 <code>time<\/code> \u062d\u0627\u0648\u06cc \u0622\u0628\u062c\u06a9\u062a\u06cc \u0628\u0647 \u0646\u0627\u0645 <code>Clock<\/code> \u0627\u0633\u062a \u06a9\u0647 \u062f\u0642\u06cc\u0642\u0627 \u0628\u0631\u0627\u06cc \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0647\u0645\u06cc\u0646 \u0646\u06cc\u0627\u0632 \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647. <\/p>\n\n\n\n<p>\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>Clock<\/code> \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u06cc\u0627\u0628\u06cc \u0628\u0647 \u0646\u0631\u062e \u0641\u0631\u06cc\u0645 \u0642\u0627\u0628\u0644 \u0628\u0627\u0632\u06cc\u060c \u062a\u0646\u0647\u0627 \u0628\u0647 \u062f\u0648 \u062e\u0637 \u06a9\u062f \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f. \u062e\u0637 \u0646\u062e\u0633\u062a\u060c \u06cc\u06a9 <code>Clock<\/code> \u062c\u062f\u06cc\u062f \u0631\u0627 \u062f\u0631\u0633\u062a \u067e\u06cc\u0634 \u0627\u0632 \u0622\u063a\u0627\u0632 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u062f\u0647\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Setup the clock for a decent framerate\nclock = pygame.time.Clock()<\/code><\/pre>\n\n\n\n<p>\u062f\u0631 \u062e\u0637 \u0628\u0639\u062f\u06cc \u0647\u0645 \u062a\u0627\u0628\u0639 <code>()tick.<\/code> \u0631\u0627 \u0641\u0631\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u06cc\u0645 \u062a\u0627 \u0628\u0647 PyGame \u0627\u0637\u0644\u0627\u0639 \u062f\u0647\u06cc\u0645 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0647\u0631 \u0641\u0631\u06cc\u0645 \u0631\u0633\u06cc\u062f\u0647 \u0627\u0633\u062a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Flip everything to the display\npygame.display.flip()\n\n# Ensure program maintains a rate of 30 frames per second\nclock.tick(30)<\/code><\/pre>\n\n\n\n<p>\u0622\u0631\u06af\u0648\u0645\u0627\u0646\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 <code>()tick.<\/code> \u06af\u0630\u0627\u0634\u062a\u06cc\u0645\u060c \u0646\u0631\u062e \u0641\u0631\u06cc\u0645 \u0645\u0637\u0644\u0648\u0628 \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0631\u0648\u0634 \u06a9\u0627\u0631 \u0628\u062f\u06cc\u0646 \u0634\u06a9\u0644 \u0627\u0633\u062a \u06a9\u0647 \u062a\u0627\u0628\u0639 <code>()tick.<\/code> \u0628\u0631\u0627\u0633\u0627\u0633 \u0646\u0631\u062e \u0641\u0631\u06cc\u0645 \u0645\u0648\u0631\u062f \u0646\u0638\u0631\u060c \u0628\u0647 \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u062f\u062a\u200c\u0632\u0645\u0627\u0646 \u0647\u0631 \u0641\u0631\u06cc\u0645 (\u0628\u0631 \u0645\u0628\u0646\u0627\u06cc \u0645\u06cc\u0644\u06cc\u200c\u062b\u0627\u0646\u06cc\u0647) \u0645\u06cc\u200c\u067e\u0631\u062f\u0627\u0632\u062f. \u0633\u067e\u0633 \u0631\u0642\u0645 \u0628\u0647 \u062f\u0633\u062a \u0622\u0645\u062f\u0647 \u0628\u0627 \u0645\u062f\u062a\u200c\u0632\u0645\u0627\u0646 \u06af\u0630\u0634\u062a\u0647 \u0627\u0632 \u0622\u062e\u0631\u06cc\u0646 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc <code>()tick.<\/code> \u0645\u0642\u0627\u06cc\u0633\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u06af\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0627\u0641\u06cc \u0646\u06af\u0630\u0634\u062a\u0647 \u0628\u0627\u0634\u062f\u060c \u062a\u0627\u0628\u0639 <code>()tick.<\/code> \u0641\u0631\u0627\u06cc\u0646\u062f \u067e\u0631\u062f\u0627\u0632\u0634 \u0631\u0627 \u0628\u0647 \u062a\u0639\u0648\u06cc\u0642 \u0645\u06cc\u200c\u0627\u0646\u062f\u0627\u0632\u062f \u062a\u0627 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u062f \u0646\u0631\u062e \u0641\u0631\u06cc\u0645 \u0647\u06cc\u0686\u06af\u0627\u0647 \u0627\u0632 \u0645\u0642\u062f\u0627\u0631 \u0645\u0634\u062e\u0635\u200c\u0634\u062f\u0647 \u0628\u0627\u0644\u0627\u062a\u0631 \u0646\u0645\u06cc\u200c\u0631\u0648\u062f. <\/p>\n\n\n\n<p>\u0646\u0631\u062e \u0641\u0631\u06cc\u0645 \u06a9\u0645\u062a\u0631 \u0645\u0646\u062c\u0631 \u0628\u0647 \u0628\u0631\u0647\u0647\u200c\u0647\u0627\u06cc \u0632\u0645\u0627\u0646\u06cc \u0637\u0648\u0644\u0627\u0646\u06cc\u200c\u062a\u0631 \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0633\u0628\u0627\u062a \u0647\u0631 \u0641\u0631\u06cc\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0646\u0631\u062e \u0628\u0627\u0644\u0627\u062a\u0631 \u0647\u0645 \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u06af\u06cc\u0645\u200c\u067e\u0644\u06cc \u0631\u0648\u0627\u0646\u200c\u062a\u0631 (\u0648 \u0627\u062d\u062a\u0645\u0627\u0644\u0627 \u0633\u0631\u06cc\u0639\u200c\u062a\u0631) \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"422\" height=\"346\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-playable.gif\" alt=\"\u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\" class=\"wp-image-44623\"\/><\/figure>\n<\/div>\n\n\n<p>\u0646\u06a9\u062a\u0647 \u067e\u0627\u06cc\u0627\u0646\u06cc \u0627\u06cc\u0646\u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0627\u06cc\u0646 \u0627\u0639\u062f\u0627\u062f \u0622\u0632\u0645\u0648\u0646 \u0648 \u062e\u0637\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 \u0627\u0632 \u0646\u0638\u0631 \u062e\u0648\u062f\u062a\u0627\u0646 \u0631\u0627 \u0628\u06cc\u0627\u0628\u06cc\u062f. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%D8%A7%D9%81%DA%A9%D8%AA%E2%80%8C%D9%87%D8%A7%DB%8C_%D8%B5%D9%88%D8%AA%DB%8C_%D8%AF%D8%B1_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\"><\/span>\u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u062f\u0631 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u062a\u0627 \u0627\u06cc\u0646 \u0644\u062d\u0638\u0647 \u062a\u0645\u0627\u0645\u0627 \u0628\u0631 \u06af\u06cc\u0645\u200c\u067e\u0644\u06cc \u0648 \u0627\u0628\u0639\u0627\u062f \u0628\u0635\u0631\u06cc \u0628\u0627\u0632\u06cc \u0645\u062a\u0645\u0631\u06a9\u0632 \u0628\u0648\u062f\u06cc\u0645 \u0648 \u062d\u0627\u0644\u0627 \u0648\u0642\u062a \u0622\u0646 \u0631\u0633\u06cc\u062f\u0647 \u06a9\u0647 \u0646\u06cc\u0645\u200c\u0646\u06af\u0627\u0647\u06cc \u0628\u0647 \u06cc\u06a9 \u0628\u0639\u062f \u062f\u06cc\u06af\u0631 \u0627\u0632 \u0622\u0646\u060c \u06cc\u0639\u0646\u06cc \u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645. pygame \u0645\u0627\u0698\u0648\u0644\u06cc \u0628\u0647 \u0646\u0627\u0645 <code>mixer<\/code> \u062f\u0627\u0631\u062f \u06a9\u0647 \u062a\u0645\u0627\u0645 \u0648\u0638\u0627\u06cc\u0641 \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0635\u062f\u0627\u06af\u0630\u0627\u0631\u06cc \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0627\u0641\u0632\u0648\u062f\u0646 \u0645\u0648\u0633\u0642\u06cc \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0648 \u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u0645\u0631\u0628\u0648\u0637 \u0628\u0647 \u0648\u0642\u0627\u06cc\u0639 \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u0628\u0627\u06cc\u062f \u0627\u0632 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627 \u0648 \u0645\u062a\u062f\u0647\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u06a9\u0645\u06a9 \u0628\u06af\u06cc\u0631\u06cc\u062f. <\/p>\n\n\n\n<p>\u0646\u0627\u0645 <code>mixer<\/code> \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0648\u0636\u0648\u0639 \u0627\u0634\u0627\u0631\u0647 \u062f\u0627\u0631\u062f \u06a9\u0647 \u0628\u0647 \u06a9\u0645\u06a9 \u0627\u06cc\u0646 \u0645\u0627\u0698\u0648\u0644 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0635\u0648\u0627\u062a \u0645\u062e\u062a\u0644\u0641 \u0631\u0627 \u00ab\u0645\u06cc\u06a9\u0633\u00bb \u06cc\u0627 \u0627\u062f\u063a\u0627\u0645 \u06a9\u0646\u06cc\u062f. \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 \u0641\u0631\u0639\u06cc <code>music<\/code> \u0647\u0645 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0647 \u0627\u0633\u062a\u0631\u06cc\u0645 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0627 \u0641\u0631\u0645\u062a\u200c\u0647\u0627\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u0645\u0627\u0646\u0646\u062f MP3 \u0648 OGG \u0648 Mod \u0645\u0634\u063a\u0648\u0644 \u0634\u0648\u06cc\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0645\u06cc\u200c\u0634\u0648\u062f \u0627\u0632 \u0645\u0627\u0698\u0648\u0644 <code>Sound<\/code> \u0628\u0631\u0627\u06cc \u0646\u06af\u0647\u062f\u0627\u0634\u062a \u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u0648\u0627\u062d\u062f &#8211; \u062f\u0631 \u0641\u0631\u0645\u062a\u200c\u0647\u0627\u06cc OGG \u06cc\u0627 WAV \u063a\u06cc\u0631 \u0641\u0634\u0631\u062f\u0647 &#8211; \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f. \u062a\u0645\u0627\u0645 \u0641\u0631\u0627\u06cc\u0646\u062f \u067e\u062e\u0634 \u0627\u0635\u0648\u0627\u062a \u062f\u0631 \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0631\u062e \u0645\u06cc\u200c\u062f\u0647\u062f \u0648 \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0648\u0642\u062a\u06cc \u06cc\u06a9 <code>Sound<\/code> \u0631\u0627 \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0635\u062f\u0627\u06cc \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0641\u0648\u0631\u0627 \u067e\u062e\u0634 \u0645\u06cc\u200c\u0634\u0648\u062f. <\/p>\n\n\n\n<p>\u0646\u06a9\u062a\u0647: \u062f\u0631 <a href=\"https:\/\/www.pygame.org\/docs\/ref\/music.html\" target=\"_blank\" rel=\"noreferrer noopener\">\u0645\u0633\u062a\u0646\u062f\u0627\u062a pygame<\/a> \u0622\u0645\u062f\u0647 \u06a9\u0647 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 \u0641\u0631\u0645\u062a MP3 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a\u200c\u0647\u0627\u06cc \u062e\u0627\u0635\u06cc \u062f\u0627\u0631\u062f \u0648 \u0627\u06af\u0631 \u0627\u0632 \u0641\u0631\u0645\u062a\u200c\u0647\u0627\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc\u200c\u0646\u0634\u062f\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f \u0646\u06cc\u0632 \u0634\u0627\u0647\u062f \u06a9\u0631\u0634 \u06a9\u0631\u062f\u0646 \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0648\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u067e\u06cc\u0634 \u0627\u0632 \u0627\u0646\u062a\u0634\u0627\u0631 \u0628\u0627\u0632\u06cc \u062e\u0648\u062f\u060c \u062a\u0645\u0627\u0645 \u0627\u0635\u0648\u0627\u062a \u0631\u0627 \u0628\u0647 \u062e\u0648\u0628\u06cc \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f. <\/p>\n\n\n\n<p>\u0645\u062b\u0644 \u0647\u0631\u0686\u06cc\u0632 \u062f\u06cc\u06af\u0631\u06cc \u062f\u0631 PyGame \u060c \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>mixer<\/code> \u0628\u0627\u06cc\u062f \u06af\u0627\u0645 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0631\u0627 \u067e\u0634\u062a \u0633\u0631 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f. \u062e\u0648\u0634\u0628\u062e\u062a\u0627\u0646\u0647 \u062a\u0627\u0628\u0639 <code>()pygame.init<\/code> \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0622\u0633\u0627\u0646 \u06a9\u0631\u062f\u0647 \u0648 \u0635\u0631\u0641\u0627 \u0628\u0627\u06cc\u062f \u062a\u0627\u0628\u0639 <code>()pygame.mixer.init<\/code> \u0631\u0627 \u0641\u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f \u062a\u0627 \u0642\u0627\u062f\u0631 \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0628\u0627\u0634\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Setup for sounds. Defaults are good.\npygame.mixer.init()\n\n# Initialize pygame\npygame.init()\n\n# Set up the clock for a decent framerate\nclock = pygame.time.Clock()<\/code><\/pre>\n\n\n\n<p>\u062a\u0627\u0628\u0639 <code>()pygame.mixer.init<\/code> \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u067e\u0630\u06cc\u0631\u0627\u06cc \u0622\u0631\u06af\u0648\u0645\u0627\u0646\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0628\u0627\u0634\u062f\u060c \u0627\u0645\u0627 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u062f\u0631 \u0627\u06a9\u062b\u0631 \u0645\u0648\u0627\u0642\u0639 \u067e\u0627\u0633\u062e\u06af\u0648\u06cc \u0646\u06cc\u0627\u0632\u0647\u0627\u06cc \u0634\u0645\u0627 \u062e\u0648\u0627\u0647\u0646\u062f \u0628\u0648\u062f. \u062f\u0631 \u0646\u0638\u0631 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0627\u06af\u0631 \u0645\u0627\u06cc\u0644 \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u0628\u0648\u062f\u06cc\u062f\u060c \u067e\u06cc\u0634 \u0627\u0632 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc <code>()pygame.init<\/code>. \u0628\u0627\u06cc\u062f \u0628\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc <code>()pygame.mixer.init<\/code> \u0645\u0634\u063a\u0648\u0644 \u0634\u0648\u06cc\u062f. \u062f\u0631 \u063a\u06cc\u0631 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a\u060c \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u0639\u0645\u0627\u0644 \u0646\u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u0647\u0645\u0686\u0646\u0627\u0646 \u0634\u0627\u0647\u062f \u0647\u0645\u0627\u0646 \u06af\u0632\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u067e\u06cc\u0634\u200c\u0641\u0631\u0636 \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0648\u062f. <\/p>\n\n\n\n<p>\u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0648 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0631\u0633\u06cc\u062f\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062a\u0646\u0638\u06cc\u0645 \u0627\u0635\u0648\u0627\u062a \u0648 \u0645\u0648\u0633\u06cc\u0642\u06cc \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0631\u0627 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Load and play background music\n# Sound source: http:\/\/ccmixter.org\/files\/Apoxode\/59262\n# License: https:\/\/creativecommons.org\/licenses\/by\/3.0\/\npygame.mixer.music.load(\"Apoxode_-_Electric_1.mp3\")\npygame.mixer.music.play(loops=-1)\n\n# Load all sound files\n# Sound sources: Jon Fincher\nmove_up_sound = pygame.mixer.Sound(\"Rising_putter.ogg\")\nmove_down_sound = pygame.mixer.Sound(\"Falling_putter.ogg\")\ncollision_sound = pygame.mixer.Sound(\"Collision.ogg\")<\/code><\/pre>\n\n\n\n<p><strong>\u062e\u0637\u0648\u0637 \u06f4 \u0648 \u06f5<\/strong> \u062f\u0631 \u06a9\u062f \u0628\u0627\u0644\u0627\u060c \u06a9\u0644\u06cc\u067e \u0635\u0648\u062a\u06cc \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u0631\u0627 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0648 \u067e\u062e\u0634 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u0627\u06af\u0631 \u0645\u0627\u06cc\u0644 \u0628\u0648\u062f\u06cc\u062f \u06a9\u0647 \u06a9\u0644\u06cc\u067e \u0635\u0648\u062a\u06cc \u0645\u062a\u0648\u0642\u0641 \u0646\u0634\u062f\u0647 \u0648 \u062f\u0627\u0626\u0645\u0627 \u0627\u0632 \u0646\u0648 \u067e\u062e\u0634 \u0634\u0648\u062f\u060c \u0628\u0647 \u0633\u0631\u0627\u063a \u067e\u0627\u0631\u0627\u0645\u062a\u0631 <code>loops=-1<\/code> \u0628\u0631\u0648\u06cc\u062f. <\/p>\n\n\n\n<p><strong>\u062e\u0637\u0648\u0637 \u06f9 \u062a\u0627 \u06f1\u06f1<\/strong> \u0633\u0647 \u0635\u0648\u062a \u0645\u062e\u062a\u0644\u0641 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u06af\u0648\u0646\u0627\u06af\u0648\u0646 \u0628\u0627\u0632\u06cc \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f. \u062f\u0648 \u062e\u0637 \u0627\u0648\u0644 \u0628\u0647 \u0635\u062f\u0627\u06cc \u0628\u0627\u0644\u0627 \u0648 \u067e\u0627\u06cc\u06cc\u0646 \u0631\u0641\u062a\u0646 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u062f\u0631 \u0633\u0637\u062d \u0628\u0627\u0632\u06cc \u0645\u0631\u0628\u0648\u0637 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u062e\u0637 \u0633\u0648\u0645 \u0647\u0645 \u0635\u062f\u0627\u06cc\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627 \u0647\u0631 \u0628\u0631\u062e\u0648\u0631\u062f \u067e\u062e\u0634 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0627\u0644\u0628\u062a\u0647 \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0635\u0648\u0627\u062a \u062f\u06cc\u06af\u0631\u06cc \u0647\u0645 \u0628\u0647 \u0628\u0627\u0632\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0645\u062b\u0644\u0627 \u0635\u062f\u0627\u06cc \u062d\u0631\u06a9\u062a \u0645\u0648\u0627\u0646\u0639 \u06cc\u0627 \u0635\u062f\u0627\u06cc\u06cc \u06a9\u0647 \u067e\u0627\u06cc\u0627\u0646 \u06cc\u0627\u0641\u062a\u0646 \u0628\u0627\u0632\u06cc \u0631\u0627 \u0627\u0639\u0644\u0627\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f. <\/p>\n\n\n\n<p>\u0627\u0645\u0627 \u0686\u0637\u0648\u0631 \u0628\u0627\u06cc\u062f \u0627\u0632 \u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645\u061f \u0627\u06cc\u0646 \u0627\u0635\u0648\u0627\u062a \u0628\u0627\u06cc\u062f \u0632\u0645\u0627\u0646\u06cc \u067e\u062e\u0634 \u0634\u0648\u0646\u062f \u06a9\u0647 \u0631\u0648\u06cc\u062f\u0627\u062f\u06cc \u0628\u0647\u200c\u062e\u0635\u0648\u0635 \u0631\u062e \u0645\u06cc\u200c\u062f\u0647\u062f. \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0647\u0648\u0627\u067e\u06cc\u0645\u0627 \u0628\u0647 \u0633\u0645\u062a \u0628\u0627\u0644\u0627 \u062d\u0631\u06a9\u062a \u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0628\u0627\u06cc\u062f <code>move_up_sound<\/code> \u067e\u062e\u0634 \u0634\u0648\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0631\u0633\u06cc\u062f\u06af\u06cc \u0628\u0647 \u0627\u06cc\u0646 \u0648\u0638\u06cc\u0641\u0647 \u0628\u0647\u200c\u062e\u0635\u0648\u0635 \u0647\u0633\u062a\u06cc\u0645\u060c <code>()play.<\/code> \u0631\u0627 \u0641\u0631\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0646\u06cc\u0645. \u0627\u06cc\u0646 \u06cc\u0639\u0646\u06cc \u0628\u0627\u06cc\u062f \u0628\u0647 \u0633\u0631\u0627\u063a \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u200c\u0647\u0627\u06cc \u0632\u06cc\u0631 \u0628\u0631\u0648\u06cc\u0645 \u0648 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u062a\u0627\u0628\u0639 <code>()update.<\/code> \u0628\u0631\u0627\u06cc <code>Player<\/code> \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Define the Player object by extending pygame.sprite.Sprite\n# Instead of a surface, use an image for a better-looking sprite\nclass Player(pygame.sprite.Sprite):\n    def __init__(self):\n        super(Player, self).__init__()\n        self.surf = pygame.image.load(\"jet.png\").convert()\n        self.surf.set_colorkey((255, 255, 255), RLEACCEL)\n        self.rect = self.surf.get_rect()\n\n    # Move the sprite based on keypresses\n    def update(self, pressed_keys):\n        if pressed_keys[K_UP]:\n            self.rect.move_ip(0, -5)\n            move_up_sound.play()\n        if pressed_keys[K_DOWN]:\n            self.rect.move_ip(0, 5)\n            move_down_sound.play()<\/code><\/pre>\n\n\n\n<p>\u0628\u0631\u0627\u06cc \u0627\u0641\u06a9\u062a \u0635\u0648\u062a\u06cc \u0628\u0631\u062e\u0648\u0631\u062f \u0646\u06cc\u0632\u060c \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u0628\u0631\u062e\u0648\u0631\u062f\u06cc \u0645\u06cc\u0627\u0646 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0648 \u0645\u0648\u0627\u0646\u0639 \u062a\u0634\u062e\u06cc\u0635 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f\u060c \u0635\u0648\u062a \u067e\u062e\u0634 \u0645\u06cc\u200c\u0634\u0648\u062f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python line-numbers\"># Check if any enemies have collided with the player\nif pygame.sprite.spritecollideany(player, enemies):\n    # If so, then remove the player\n    player.kill()\n\n    # Stop any moving sounds and play the collision sound\n    move_up_sound.stop()\n    move_down_sound.stop()\n    collision_sound.play()\n\n    # Stop the loop\n    running = False<\/code><\/pre>\n\n\n\n<p>\u062f\u0631 \u06a9\u062f \u0628\u0627\u0644\u0627\u060c \u0627\u0628\u062a\u062f\u0627 \u0633\u0627\u06cc\u0631 \u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u0645\u062a\u0648\u0642\u0641 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f\u060c \u0632\u06cc\u0631\u0627 \u0648\u0642\u062a\u06cc \u0628\u0631\u062e\u0648\u0631\u062f \u0635\u0648\u0631\u062a \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f\u060c \u0628\u0627\u0632\u06cc\u06a9\u0646 \u062f\u06cc\u06af\u0631 \u062f\u0631 \u062d\u0627\u0644 \u062d\u0631\u06a9\u062a \u0646\u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f. \u0628\u0639\u062f \u0635\u062f\u0627\u06cc \u0628\u0631\u062e\u0648\u0631\u062f \u067e\u062e\u0634 \u0645\u06cc\u200c\u0634\u0648\u062f \u0648 \u0628\u0627\u0642\u06cc \u06a9\u062f \u0628\u0647 \u0627\u062c\u0631\u0627 \u062f\u0631\u0645\u06cc\u200c\u0622\u06cc\u062f. <\/p>\n\n\n\n<p>\u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0648\u0642\u062a\u06cc \u0628\u0627\u0632\u06cc \u062a\u0645\u0627\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u0647\u0645\u0647 \u0627\u0635\u0648\u0627\u062a \u0646\u06cc\u0632 \u0628\u0627\u06cc\u062f \u0645\u062a\u0648\u0642\u0641 \u0634\u0648\u0646\u062f\u060c \u0641\u0631\u0642\u06cc \u0647\u0645 \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0628\u0627\u0632\u06cc\u06a9\u0646 \u0628\u0627 \u06cc\u06a9\u06cc \u0627\u0632 \u0645\u0648\u0627\u0646\u0639 \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0631\u062f\u0647 \u06cc\u0627 \u0628\u0627\u0632\u06cc \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0633\u062a\u06cc \u0628\u0633\u062a\u0647 \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0627\u06cc\u0646 \u06a9\u0627\u0631\u060c \u062e\u0637\u0648\u0637 \u0632\u06cc\u0631 \u0631\u0627 \u0628\u0647 \u0627\u0646\u062a\u0647\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0648 \u0628\u0639\u062f \u0627\u0632 \u0644\u0648\u067e \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\"># All done! Stop and quit the mixer.\npygame.mixer.music.stop()\npygame.mixer.quit()<\/code><\/pre>\n\n\n\n<p>\u0627\u0644\u0628\u062a\u0647 \u06a9\u0647 \u0627\u0641\u0632\u0648\u062f\u0646 \u0627\u06cc\u0646 \u0686\u0646\u062f \u062e\u0637 \u067e\u0627\u06cc\u0627\u0646\u06cc \u0636\u0631\u0648\u0631\u06cc \u0646\u06cc\u0633\u062a\u060c \u0632\u06cc\u0631\u0627 \u0628\u0631\u0646\u0627\u0645\u0647 \u0641\u0648\u0631\u0627 \u0628\u0639\u062f \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u0628\u0633\u062a\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644 \u0627\u06af\u0631 \u0628\u0639\u062f\u0627 \u062a\u0635\u0645\u06cc\u0645 \u0628\u06af\u06cc\u0631\u06cc\u062f \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u0645\u0642\u062f\u0645\u0647 \u06cc\u0627 \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u062e\u0631\u0648\u062c \u0628\u0647 \u0628\u0627\u0632\u06cc \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0646\u06cc\u0627\u0632 \u0628\u0647 \u06a9\u062f\u0647\u0627\u06cc\u06cc \u0627\u0636\u0627\u0641\u0647 \u062f\u0627\u0631\u06cc\u062f \u06a9\u0647 \u0628\u0639\u062f \u0627\u0632 \u0627\u062a\u0645\u0627\u0645 \u0644\u0648\u067e \u0628\u0627\u0632\u06cc \u0628\u0647 \u0627\u062c\u0631\u0627 \u062f\u0631\u0622\u06cc\u0646\u062f.<\/p>\n\n\n\n<p>\u0648 \u0628\u0647 \u0647\u0645\u06cc\u0646 \u0633\u0627\u062f\u06af\u06cc \u06a9\u0627\u0631 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0645\u06cc\u200c\u0631\u0633\u062f. \u06cc\u06a9\u200c\u0628\u0627\u0631 \u062f\u06cc\u06af\u0631 \u0628\u0627\u0632\u06cc \u0631\u0627 \u062a\u0633\u062a \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0634\u0627\u0647\u062f \u0686\u0646\u06cc\u0646 \u0635\u0641\u062d\u0647\u200c\u0627\u06cc \u0628\u0627\u0634\u06cc\u062f:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"542\" src=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-part3.jpg\" alt=\"\u0646\u0645\u0627\u06cc\u0647\u200c\u0627\u06cc \u0627\u0632 \u06cc\u06a9 \u0628\u0627\u0632\u06cc \u06a9\u0627\u0645\u0644 \u062f\u0631 PyGame\" class=\"wp-image-44617\" srcset=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-part3.jpg 700w, https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/pygame-part3-300x232.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:21px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\" style=\"font-size:20px\"><span class=\"ez-toc-section\" id=\"%D8%AC%D9%85%D8%B9%E2%80%8C%D8%A8%D9%86%D8%AF%DB%8C_%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A8%D8%A7%D8%B2%DB%8C_%D8%A8%D8%A7_%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86\"><\/span>\u062c\u0645\u0639\u200c\u0628\u0646\u062f\u06cc \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u06a9\u0627\u0645\u0644 \u062e\u0648\u0627\u0646\u062f\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u062f\u0631 \u062d\u0627\u0644 \u062d\u0627\u0636\u0631 \u0645\u06cc\u200c\u062f\u0627\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0628\u0627\u0632\u06cc \u0628\u0627 PyGame \u0686\u0647 \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627\u06cc\u06cc \u0628\u0627 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u0631\u0648\u06cc\u0647\u200c\u0627\u06cc \u062f\u0627\u0631\u062f. \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646 \u0628\u0627 \u0645\u0648\u0627\u0631\u062f \u06af\u0648\u0646\u0627\u06af\u0648\u0646\u06cc \u0646\u0638\u06cc\u0631 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0644\u0648\u067e\u200c\u0647\u0627\u06cc \u0631\u0648\u06cc\u062f\u0627\u062f\u060c \u0646\u062d\u0648\u0647 \u062a\u0631\u0633\u06cc\u0645 \u0631\u0648\u06cc \u0635\u0641\u062d\u0647\u060c \u067e\u062e\u0634 \u0627\u0641\u06a9\u062a\u200c\u0647\u0627\u06cc \u0635\u0648\u062a\u06cc \u0648 \u0645\u0648\u0633\u06cc\u0642\u06cc \u0648 \u0647\u0645\u06cc\u0646\u0637\u0648\u0631 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0648\u0631\u0648\u062f\u06cc \u06a9\u0627\u0631\u0628\u0631 \u0622\u0634\u0646\u0627 \u0634\u062f\u0647\u200c\u0627\u06cc\u062f. <\/p>\n\n\n\n<p>\u0627\u0645\u0627 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0647\u0645\u06cc\u0646\u200c\u062c\u0627 \u0628\u0647 \u067e\u0627\u06cc\u0627\u0646 \u0646\u0645\u06cc\u200c\u0631\u0633\u062f \u0648 \u0628\u0627 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0631\u062f\u0646 \u0622\u0645\u0648\u062e\u062a\u0647\u200c\u0647\u0627\u06cc \u062e\u0648\u062f \u0628\u0627 \u0627\u06cc\u062f\u0647\u200c\u0647\u0627\u06cc \u062e\u0644\u0627\u0642\u0627\u0646\u0647\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06af\u0633\u062a\u0631\u0647 \u0648\u0633\u06cc\u0639\u06cc \u0627\u0632 \u0628\u0627\u0632\u06cc\u200c\u0647\u0627\u06cc \u0633\u0631\u06af\u0631\u0645\u200c\u06a9\u0646\u0646\u062f\u0647\u200c\u0627\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f \u06a9\u0647 \u062d\u062a\u06cc \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0634\u0627\u0631 \u0648 \u0641\u0631\u0648\u0634 \u062f\u0631 \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u0645\u0637\u0631\u062d (\u0645\u0627\u0646\u0646\u062f Steam) \u0645\u0646\u0627\u0633\u0628 \u062a\u0644\u0642\u06cc \u0634\u0648\u0646\u062f. \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u067e\u06cc\u0634\u0646\u0647\u0627\u062f \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 <a href=\"https:\/\/www.pygame.org\/docs\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u0627\u0633\u0646\u0627\u062f \u0631\u0633\u0645\u06cc PyGame<\/a> \u0631\u0627 \u0645\u0637\u0627\u0644\u0639\u0647 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0628\u0627 \u062a\u0645\u0627\u0645 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627 \u0648 \u06a9\u0644\u0627\u0633\u200c\u0647\u0627\u06cc \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0622\u0634\u0646\u0627 \u0634\u0648\u06cc\u062f. <\/p>\n\n\n\n<p>\u0645\u0646\u0628\u0639: <a href=\"https:\/\/realpython.com\/pygame-a-primer\/\" target=\"_blank\" rel=\"noreferrer noopener\">RealPython<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0628\u0633\u06cc\u0627\u0631\u06cc \u0627\u0632 \u0627\u0641\u0631\u0627\u062f\u06cc \u06a9\u0647 \u062a\u0635\u0645\u06cc\u0645 \u0628\u0647 \u067e\u0634\u062a \u0633\u0631 \u06af\u0630\u0627\u0634\u062a\u0646 \u0622\u0645\u0648\u0632\u0634 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f\u060c \u062a\u0645\u0627\u06cc\u0644 \u0632\u06cc\u0627\u062f\u06cc \u0628\u0647 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u0627\u06cc\u0646 \u0632\u0628\u0627\u0646&#8230;<\/p>\n","protected":false},"author":49,"featured_media":44866,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,64,46],"tags":[],"class_list":["post-44573","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","category-python","category-developer"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame - \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 - \u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af<\/title>\n<meta name=\"description\" content=\"\u0627\u06af\u0631 \u0628\u0647 \u0628\u0627\u0632\u06cc\u200c\u0633\u0627\u0632\u06cc \u0628\u0647 \u0632\u0628\u0627\u0646 Python \u0639\u0644\u0627\u0642\u0647\u200c\u0645\u0646\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0631\u0627 \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0645\u0648\u062e\u062a.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/\" \/>\n<meta property=\"og:locale\" content=\"fa_IR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame - \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 - \u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af\" \/>\n<meta property=\"og:description\" content=\"\u0627\u06af\u0631 \u0628\u0647 \u0628\u0627\u0632\u06cc\u200c\u0633\u0627\u0632\u06cc \u0628\u0647 \u0632\u0628\u0627\u0646 Python \u0639\u0644\u0627\u0642\u0647\u200c\u0645\u0646\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0631\u0627 \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0645\u0648\u062e\u062a.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/\" \/>\n<meta property=\"og:site_name\" content=\"\u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-24T13:50:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-21T13:24:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428-1024x585.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"585\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u062f\u0642\u06cc\u0642\u0647\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/\"},\"author\":{\"name\":\"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc\",\"@id\":\"https:\/\/quera.org\/blog\/#\/schema\/person\/0ee1df957de3ec63182bf55abc00a0c0\"},\"headline\":\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame &#8211; \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627\",\"datePublished\":\"2023-12-24T13:50:00+00:00\",\"dateModified\":\"2025-04-21T13:24:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/\"},\"wordCount\":214,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\/\/quera.org\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428.png\",\"articleSection\":[\"\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc\",\"\u067e\u0627\u06cc\u062a\u0648\u0646\",\"\u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647\"],\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/\",\"url\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/\",\"name\":\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame - \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 - \u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af\",\"isPartOf\":{\"@id\":\"https:\/\/quera.org\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428.png\",\"datePublished\":\"2023-12-24T13:50:00+00:00\",\"dateModified\":\"2025-04-21T13:24:27+00:00\",\"description\":\"\u0627\u06af\u0631 \u0628\u0647 \u0628\u0627\u0632\u06cc\u200c\u0633\u0627\u0632\u06cc \u0628\u0647 \u0632\u0628\u0627\u0646 Python \u0639\u0644\u0627\u0642\u0647\u200c\u0645\u0646\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0631\u0627 \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0645\u0648\u062e\u062a.\",\"breadcrumb\":{\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#breadcrumb\"},\"inLanguage\":\"fa-IR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#primaryimage\",\"url\":\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428.png\",\"contentUrl\":\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428.png\",\"width\":1792,\"height\":1024,\"caption\":\"\u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u062e\u0627\u0646\u0647\",\"item\":\"https:\/\/quera.org\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647\",\"item\":\"https:\/\/quera.org\/blog\/category\/developer\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc\",\"item\":\"https:\/\/quera.org\/blog\/category\/developer\/technology\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u0628\u06a9\u200c\u0627\u0646\u062f\",\"item\":\"https:\/\/quera.org\/blog\/category\/developer\/technology\/backend\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"\u067e\u0627\u06cc\u062a\u0648\u0646\",\"item\":\"https:\/\/quera.org\/blog\/category\/developer\/technology\/backend\/python\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame &#8211; \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/quera.org\/blog\/#website\",\"url\":\"https:\/\/quera.org\/blog\/\",\"name\":\"\u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af\",\"description\":\"\u0647\u0645\u0647\u200c\u0686\u06cc\u0632 \u062f\u0631\u0628\u0627\u0631\u0647 \u062f\u0646\u06cc\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc\",\"publisher\":{\"@id\":\"https:\/\/quera.org\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/quera.org\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fa-IR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/quera.org\/blog\/#organization\",\"name\":\"\u06a9\u0648\u0626\u0631\u0627\",\"url\":\"https:\/\/quera.org\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\/\/quera.org\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2022\/09\/logo-quera22-e1574766184574.png\",\"contentUrl\":\"https:\/\/quera.org\/blog\/wp-content\/uploads\/2022\/09\/logo-quera22-e1574766184574.png\",\"width\":300,\"height\":300,\"caption\":\"\u06a9\u0648\u0626\u0631\u0627\"},\"image\":{\"@id\":\"https:\/\/quera.org\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.instagram.com\/quera.ir\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/quera.org\/blog\/#\/schema\/person\/0ee1df957de3ec63182bf55abc00a0c0\",\"name\":\"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fa-IR\",\"@id\":\"https:\/\/quera.org\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9156a1f93c9de0075e3001702ee1364102238404f7a27f194ec65dabca2a6a66?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9156a1f93c9de0075e3001702ee1364102238404f7a27f194ec65dabca2a6a66?s=96&d=mm&r=g\",\"caption\":\"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame - \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 - \u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af","description":"\u0627\u06af\u0631 \u0628\u0647 \u0628\u0627\u0632\u06cc\u200c\u0633\u0627\u0632\u06cc \u0628\u0647 \u0632\u0628\u0627\u0646 Python \u0639\u0644\u0627\u0642\u0647\u200c\u0645\u0646\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0631\u0627 \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0645\u0648\u062e\u062a.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/","og_locale":"fa_IR","og_type":"article","og_title":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame - \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 - \u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af","og_description":"\u0627\u06af\u0631 \u0628\u0647 \u0628\u0627\u0632\u06cc\u200c\u0633\u0627\u0632\u06cc \u0628\u0647 \u0632\u0628\u0627\u0646 Python \u0639\u0644\u0627\u0642\u0647\u200c\u0645\u0646\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0631\u0627 \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0645\u0648\u062e\u062a.","og_url":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/","og_site_name":"\u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af","article_published_time":"2023-12-24T13:50:00+00:00","article_modified_time":"2025-04-21T13:24:27+00:00","og_image":[{"width":1024,"height":585,"url":"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428-1024x585.png","type":"image\/png"}],"author":"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc","twitter_card":"summary_large_image","twitter_misc":{"\u0646\u0648\u0634\u062a\u0647\u200c\u0634\u062f\u0647 \u0628\u062f\u0633\u062a":"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc","\u0632\u0645\u0627\u0646 \u062a\u0642\u0631\u06cc\u0628\u06cc \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646":"1 \u062f\u0642\u06cc\u0642\u0647"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#article","isPartOf":{"@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/"},"author":{"name":"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc","@id":"https:\/\/quera.org\/blog\/#\/schema\/person\/0ee1df957de3ec63182bf55abc00a0c0"},"headline":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame &#8211; \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627","datePublished":"2023-12-24T13:50:00+00:00","dateModified":"2025-04-21T13:24:27+00:00","mainEntityOfPage":{"@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/"},"wordCount":214,"commentCount":7,"publisher":{"@id":"https:\/\/quera.org\/blog\/#organization"},"image":{"@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#primaryimage"},"thumbnailUrl":"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428.png","articleSection":["\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc","\u067e\u0627\u06cc\u062a\u0648\u0646","\u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647"],"inLanguage":"fa-IR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/","url":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/","name":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame - \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 - \u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af","isPartOf":{"@id":"https:\/\/quera.org\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#primaryimage"},"image":{"@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#primaryimage"},"thumbnailUrl":"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428.png","datePublished":"2023-12-24T13:50:00+00:00","dateModified":"2025-04-21T13:24:27+00:00","description":"\u0627\u06af\u0631 \u0628\u0647 \u0628\u0627\u0632\u06cc\u200c\u0633\u0627\u0632\u06cc \u0628\u0647 \u0632\u0628\u0627\u0646 Python \u0639\u0644\u0627\u0642\u0647\u200c\u0645\u0646\u062f \u0647\u0633\u062a\u06cc\u062f\u060c \u062f\u0631 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame \u0631\u0627 \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u0622\u0645\u0648\u062e\u062a.","breadcrumb":{"@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#breadcrumb"},"inLanguage":"fa-IR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/"]}]},{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#primaryimage","url":"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428.png","contentUrl":"https:\/\/quera.org\/blog\/wp-content\/uploads\/2023\/12\/creating-games-with-python-fotor-2023122414428.png","width":1792,"height":1024,"caption":"\u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646"},{"@type":"BreadcrumbList","@id":"https:\/\/quera.org\/blog\/game-development-with-python-and-pygame\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u062e\u0627\u0646\u0647","item":"https:\/\/quera.org\/blog\/"},{"@type":"ListItem","position":2,"name":"\u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647","item":"https:\/\/quera.org\/blog\/category\/developer\/"},{"@type":"ListItem","position":3,"name":"\u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc","item":"https:\/\/quera.org\/blog\/category\/developer\/technology\/"},{"@type":"ListItem","position":4,"name":"\u0628\u06a9\u200c\u0627\u0646\u062f","item":"https:\/\/quera.org\/blog\/category\/developer\/technology\/backend\/"},{"@type":"ListItem","position":5,"name":"\u067e\u0627\u06cc\u062a\u0648\u0646","item":"https:\/\/quera.org\/blog\/category\/developer\/technology\/backend\/python\/"},{"@type":"ListItem","position":6,"name":"\u0622\u0645\u0648\u0632\u0634 \u0633\u0627\u062e\u062a \u0628\u0627\u0632\u06cc \u0628\u0627 \u067e\u0627\u06cc\u062a\u0648\u0646 \u0648 \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 PyGame &#8211; \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062a\u0627 \u0627\u0646\u062a\u0647\u0627"}]},{"@type":"WebSite","@id":"https:\/\/quera.org\/blog\/#website","url":"https:\/\/quera.org\/blog\/","name":"\u06a9\u0648\u0626\u0631\u0627\u200c\u0628\u0644\u0627\u06af","description":"\u0647\u0645\u0647\u200c\u0686\u06cc\u0632 \u062f\u0631\u0628\u0627\u0631\u0647 \u062f\u0646\u06cc\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc","publisher":{"@id":"https:\/\/quera.org\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/quera.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fa-IR"},{"@type":"Organization","@id":"https:\/\/quera.org\/blog\/#organization","name":"\u06a9\u0648\u0626\u0631\u0627","url":"https:\/\/quera.org\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/quera.org\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/quera.org\/blog\/wp-content\/uploads\/2022\/09\/logo-quera22-e1574766184574.png","contentUrl":"https:\/\/quera.org\/blog\/wp-content\/uploads\/2022\/09\/logo-quera22-e1574766184574.png","width":300,"height":300,"caption":"\u06a9\u0648\u0626\u0631\u0627"},"image":{"@id":"https:\/\/quera.org\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/quera.ir\/"]},{"@type":"Person","@id":"https:\/\/quera.org\/blog\/#\/schema\/person\/0ee1df957de3ec63182bf55abc00a0c0","name":"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc","image":{"@type":"ImageObject","inLanguage":"fa-IR","@id":"https:\/\/quera.org\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9156a1f93c9de0075e3001702ee1364102238404f7a27f194ec65dabca2a6a66?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9156a1f93c9de0075e3001702ee1364102238404f7a27f194ec65dabca2a6a66?s=96&d=mm&r=g","caption":"\u0634\u0627\u06cc\u0627\u0646 \u0636\u06cc\u0627\u06cc\u06cc"}}]}},"_links":{"self":[{"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/posts\/44573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/comments?post=44573"}],"version-history":[{"count":52,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/posts\/44573\/revisions"}],"predecessor-version":[{"id":48439,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/posts\/44573\/revisions\/48439"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/media\/44866"}],"wp:attachment":[{"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/media?parent=44573"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/categories?post=44573"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quera.org\/blog\/wp-json\/wp\/v2\/tags?post=44573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}