{"id":816,"date":"2018-07-28T22:46:46","date_gmt":"2018-07-28T20:46:46","guid":{"rendered":"http:\/\/pythonprogramming.altervista.org\/?p=816"},"modified":"2018-08-27T07:54:42","modified_gmt":"2018-08-27T05:54:42","slug":"pygame-zero-4-catch-my-fall","status":"publish","type":"post","link":"https:\/\/pythonprogramming.altervista.org\/pygame-zero-4-catch-my-fall\/","title":{"rendered":"Pygame zero 4: Alien Fall"},"content":{"rendered":"<h2>Adding some lines of code to the game<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-819\" src=\"http:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2018\/07\/cover.png\" alt=\"\" width=\"433\" height=\"238\" srcset=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2018\/07\/cover.png 1026w, https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2018\/07\/cover-320x176.png 320w, https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2018\/07\/cover-768x423.png 768w, https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2018\/07\/cover-960x529.png 960w\" sizes=\"auto, (max-width: 433px) 100vw, 433px\" \/><\/p>\n<p>Let&#8217;s give a little of more code to our very simple game, making the alien want to catch the other aliens falling from the sky&#8230; instead of landing on the one o the ground.<\/p>\n<pre class=\"lang:default decode:true\"># python filename.py\r\n\r\nimport pgzrun\r\nfrom random import randint\r\n\r\nWIDTH = 800\r\nHEIGHT = 600\r\nalien_hurt = Actor('alien', midbottom=(WIDTH \/\/ 2, HEIGHT))\r\nalien = Actor('alien_hurt')\r\nalien.topright = 100, 10\r\nxpos = randint(0, 800)\r\nscore = 0\r\nlor = randint(0, 1)\r\nsomewhere = randint(0, 0)\r\n\r\n\r\ndef draw():\r\n    screen.fill('blue')\r\n    alien.draw()\r\n    alien_hurt.draw()\r\n\r\n\r\ndef update():\r\n    global score, somewhere\r\n    alien.y += 5 + somewhere\r\n    alien.x += somewhere\r\n    if alien_hurt.x &gt; 30:\r\n        if keyboard.left:\r\n            alien_hurt.x -= 5\r\n    if alien_hurt.x &lt; 770:\r\n        if keyboard.right:\r\n            alien_hurt.x += 5\r\n    if alien_hurt.colliderect(alien):\r\n        score += 1\r\n        respawn()\r\n    if alien.y &gt; 600:\r\n        score -= 1\r\n        respawn()\r\n    if alien.x &lt; 30 or alien.x &gt; 770:\r\n        somewhere = -somewhere\r\n\r\n\r\ndef respawn():\r\n    global somewhere\r\n    print(score)\r\n    alien.y = 0\r\n    xpos = randint(0, 800)\r\n    alien.x = xpos\r\n    somewhere = randint(-3, 3)\r\n\r\npgzrun.go()\r\n<\/pre>\n<p><iframe loading=\"lazy\" title=\"Alien Fall - Pygame zero\" width=\"747\" height=\"560\" src=\"https:\/\/www.youtube.com\/embed\/hOffuj9FRj0?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n\t<script>\r\nvar title = \"Pygame zero\";\r\n\t\tvar links = [\r\n[\"https:\/\/pythonprogramming.altervista.org\/pong-v-1-0-pygame-example\/\",\"Pong v.1.0 (mouse) - Arkanoid beta\"],\r\n['https:\/\/pythonprogramming.altervista.org\/python-making-a-video-game\/', 'Example 1: intro'],\r\n['https:\/\/pythonprogramming.altervista.org\/pygame-zero-another-example\/', 'Example 2: a simple interaction'],\r\n['https:\/\/pythonprogramming.altervista.org\/pygame-zero-3-some-more-funny-games\/', 'Example 3: a simple game'],\r\n['https:\/\/pythonprogramming.altervista.org\/pygame-zero-4-catch-my-fall\/', 'Example 4: Alien Fall'],\r\n['https:\/\/pythonprogramming.altervista.org\/pygame-zero-5-improving-graphic-and-adding-sounds\/', 'Example 5: Alien Fall (2) - graphic and sounds'],\r\n['https:\/\/pythonprogramming.altervista.org\/pygame-zero-lander-by-daniel-pope\/', 'Lander: game 1'],\r\n['https:\/\/pythonprogramming.altervista.org\/pygame-zero-games-examples\/', 'Repository pygame and examples']\r\n];\r\n<\/script>\r\n<script>\r\n\t\r\nif (typeof next2 != \"undefined\"){let next2 = 0;}\r\n\t\r\nnext2 = 0;\r\n\thtml = \"\";\/\/<b style='color:coral;font-size:1.2em'>Other posts about \" + title + \"<\/b><br>\";\r\nfor (address of links) \r\n{\r\n\r\n\tif (next2 == 1){\r\n\t\thtml += \"<div style='background:coral'>\";\r\n\t\thtml += \"Next link => <a href='\" + address[0] + \"'>\" + address[1] + \"<\/a>\";\r\n\t\thtml += \"<\/div><br>\";\r\n\t\tnext2 = 0;\r\n\t}\r\n\tif (address[0] == document.URL) {\r\n\t\tnext2 = 1;\r\n\t}\r\n}\r\n\r\nif (typeof next != \"undefined\") {let next = 0;}\r\nif (typeof addressStart != \"undefined\") {let addressStart = \"\";}\r\nnext = 0;\r\naddressStart = \"<a href='\";\r\nfor (address of links) {\r\n\tif (next == 1){\r\n\t\thtml += \">>>\" + addressStart + address[0] + \"'>\" + address[1] + \"<\/a><br>\";\r\n\t\tnext = 0;\r\n\t}\r\n\telse if (addressStart + address[0] != document.URL)\r\n\t{\r\n\t\thtml += addressStart + address[0] + \"'>\" + address[1] + \"<\/a><br>\";\r\n\t}\r\n\telse\r\n\t{\r\n\t\tnext = 1;\r\n\t\tnext_address = address[0]\r\n\t\tnext_title = address[1]\r\n\t\thtml += \"<span style='color:gray'>\" + address[1] + \"<\/span><br>\";\r\n\t}\r\n\r\n}\r\n\r\n\thtml += `<span style=\"font-size:8px\">Powered by <a href=\"https:\/\/pythonprogramming.altervista.org\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2673\" src=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2019\/06\/altervista2.png\" alt=\"\" width=\"70\" height=\"25\" srcset=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2019\/06\/altervista2.png 156w, https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2019\/06\/altervista2-150x56.png 150w\" sizes=\"auto, (max-width: 70px) 100vw, 70px\" \/>pythonprogramming.altervista.org<\/a><\/span>`\r\n\thtml = \"<div style='background:yellow'>\" + html + \"<\/div>\";\r\n\tdocument.write(html)\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"Pygame zero example of a game with code\n<a class=\"moretag\" href=\"https:\/\/pythonprogramming.altervista.org\/pygame-zero-4-catch-my-fall\/\"> [...]<\/a>","protected":false},"author":1,"featured_media":819,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[154,191,198,50],"tags":[194,192,4],"class_list":["post-816","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-games","category-pygame","category-pygame-zero","category-video","tag-pygame","tag-pygame-zero","tag-python"],"avopt_banners_inside_post":true,"avopt_banners_on_page":true,"av_copy_from":"","av_sharing_message":"","av_sharing_allowed":false,"av_sharing_on":{"fb":[],"tw":[]},"av_allow_affiliate_banner":false,"av_allow_affiliate_multi_banner":false,"av_show_affiliation_buy_button":false,"av_post_rating":true,"av_have_post_rating_value":false,"av_is_artificial_intelligence_content":false,"_links":{"self":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/816","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/comments?post=816"}],"version-history":[{"count":3,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/816\/revisions"}],"predecessor-version":[{"id":820,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/816\/revisions\/820"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/media\/819"}],"wp:attachment":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/media?parent=816"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/categories?post=816"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/tags?post=816"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}