{"id":395,"date":"2023-05-02T11:25:15","date_gmt":"2023-05-02T09:25:15","guid":{"rendered":"http:\/\/yb-isn.fr\/2022\/nsi\/garthur\/?p=395"},"modified":"2023-05-23T11:16:06","modified_gmt":"2023-05-23T09:16:06","slug":"projet-microbit-n2-footsound","status":"publish","type":"post","link":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/2023\/05\/02\/projet-microbit-n2-footsound\/","title":{"rendered":"Projet Microbit N\u00b02 : FootSound"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\" style=\"font-size:25px\"><strong>Description du projet :<\/strong> <\/p>\n\n\n<p><\/p>\n\n\n<p><strong><span style=\"text-decoration: underline\">Mat\u00e9riel utilis\u00e9<\/span> :<\/strong>&nbsp;Sonom\u00e8tre, Carte Micro:bit, Interface Pygame<\/p>\n\n\n\n<p>Le but de notre projet est d\u2019utiliser le sonom\u00e8tre principalement. On va l\u2019utiliser avec une carte micro:bit pour rendre graphiquement un jeu gr\u00e2ce \u00e0 l\u2019interface Pygame. Le principe du jeu est de marquer un but avec une balle contre un personnage (le gardien de but) qui sera en mouvement, et pour tirer dans la balle, il faudra faire du bruit dans le sonom\u00e8tre. Plus le son est fort, plus la balle ira vite. Et il faut marquer le plus de buts possible. Le gardien de but bougera de plus en plus vite au fil des buts.<\/p>\n\n\n<p><\/p>\n\n\n<figure class=\"wp-container-2 wp-block-gallery-1 wp-block-gallery has-nested-images columns-default is-cropped\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"578\" data-id=\"400\"  src=\"http:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/terrain-1024x578.png\" alt=\"\" class=\"wp-image-400\" srcset=\"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/terrain-1024x578.png 1024w, https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/terrain-300x169.png 300w, https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/terrain-768x434.png 768w, https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/terrain-1536x867.png 1536w, https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/terrain.png 1599w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<figcaption class=\"blocks-gallery-caption\">Voici notre fond de jeu.<\/figcaption><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" src=\"http:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/ballon.png\" alt=\"\" class=\"wp-image-406\" width=\"184\" height=\"184\" srcset=\"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/ballon.png 700w, https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/ballon-300x300.png 300w, https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/ballon-150x150.png 150w\" sizes=\"(max-width: 184px) 100vw, 184px\" \/><figcaption>Voici notre ballon.<\/figcaption><\/figure><\/div>\n\n\n<figure class=\"wp-block-image\"><img alt=\"\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-white-color has-black-background-color has-text-color has-background\" style=\"font-size:25px\"><strong>Interface pygame :<\/strong><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<p>Voici l&rsquo;interface pygame :&nbsp;<\/p>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"atomic\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import pygame\nimport serial\nimport random\nserial_port = serial.Serial( port=\"COM4\",baudrate =115200)\necran = pygame.display.set_mode((1600, 900))\npygame.init()\nblanc=(0,0,0)\nfont = pygame.font.Font(None, 35)\nmess=font.render((\"Bouton A puis parler et Souris pour tirer\"),1,(blanc))\nimage = pygame.image.load(\"terrain.jpg\")\nimage=pygame.transform.scale(image,(1600,900))\nimage2 = pygame.image.load(\"ballon.png\")\ngardien=pygame.image.load(\"gardien.png\")\ngardien=pygame.transform.scale(gardien,(500,350))\necran.blit(mess, (80*0.96 + 40, 80*7.96 + 40)) \nx=720\ny=730\nz=1\ndx=0\ndy=-5\nposition=550\ns=5\ndef terrain(x,y,z):\n    ecran.blit(image, (0,0))\n    image1=pygame.transform.scale(image2,(100\/\/z,100\/\/z)) \ndef ga(position,s):\n        for event in pygame.event.get():\n            if event.type == pygame.KEYDOWN:\n                u = False\n        else:\n            if position&gt;820 and s&gt;0:\n                s=-s\n            if position&lt;300 and s&lt;0:\n                s=-s\n        position=position+s\n        clock.tick(60)\n        terrain(x,y,z)\n        ecran.blit(gardien,(position,270))\n        ecran.blit(mess, (80*0.96 + 40, 80*7.96 + 40)) \n        pygame.display.flip()\nclock = pygame.time.Clock()\nterrain(x,y,z)\nimage1=pygame.transform.scale(image2,(100\/\/z,100\/\/z))\necran.blit(image1, (x,y))\necran.blit(gardien,(position,270))\npygame.display.flip()\nfor event in pygame.event.get():\n        if event.type == pygame.KEYDOWN:\n            continuer = False\necran.blit(mess, (80*0.96 + 40, 80*7.96 + 40))\ns=5\ngame=True\nwhile game:\n    ecran.blit(mess, (80*0.96 + 40, 80*7.96 + 40))            \n    x=720\n    y=730\n    z=1\n    dx=0\n    dy=-5\n    position=550\n    image1=pygame.transform.scale(image2,(100\/\/z,100\/\/z))\n    val=serial_port.readline(15).decode()\n    print(val)\n    v=int(val)\/\/(-7)\n    print(v)\n    position=random.randint(250,820)\n    u=True\n    continuer=True\n    while continuer:\n        ga(position,s)\n        for event in pygame.event.get():\n            if event.type == pygame.KEYDOWN:\n                continuer = False\n            elif event.type == pygame.MOUSEBUTTONUP:\n                while u:\n                    ga(position,s)\n                    z=z+0.02\n                    x=x+dx\n                    y=y+v\n                    if (y&gt;400 and y&lt;450) and (position&gt;475 and position&lt;625):\n                        u=False\n                        continuer=False\n                        game=False\n                    elif (y&gt;400 and y&lt;450):\n                        u=False\n                        continuer=False\n                        \n                    else:\n                        if position&gt;820 and s&gt;0:\n                            s=-s\n                        if position&lt;300 and s&lt;0:\n                            s=-s\n                    position=position+s\n                    ecran.blit(image1, (x,y))\n                    pygame.display.flip()\n                    image1=pygame.transform.scale(image2,(100\/\/z,100\/\/z))\n            else:\n                ga(position,s)\n                position=position+s\n                ecran.blit(image1, (x,y))\n                pygame.display.flip()\n        else:\n            if position&gt;820 and s&gt;0:\n                    s=-s\n            if position&lt;300 and s&lt;0:\n                    s=-s\n        position=position+s\n        ecran.blit(image1, (x,y))\n        pygame.display.flip()\n    if s&lt;0:\n        s=(-s)+2\n    elif s&gt;0:\n        s=s+2\npygame.quit()<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"800\" height=\"492\" src=\"http:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/tire-de-foot.png\" alt=\"\" class=\"wp-image-414\" srcset=\"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/tire-de-foot.png 800w, https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/tire-de-foot-300x185.png 300w, https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-content\/uploads\/sites\/9\/2023\/05\/tire-de-foot-768x472.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Description du projet : Mat\u00e9riel utilis\u00e9 :&nbsp;Sonom\u00e8tre, Carte Micro:bit, Interface Pygame Le but de notre projet est d\u2019utiliser le sonom\u00e8tre principalement. On va l\u2019utiliser avec une carte micro:bit pour rendre graphiquement un jeu gr\u00e2ce \u00e0 l\u2019interface Pygame. Le principe du jeu est de marquer un but avec une balle contre [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/posts\/395"}],"collection":[{"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/comments?post=395"}],"version-history":[{"count":11,"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/posts\/395\/revisions"}],"predecessor-version":[{"id":420,"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/posts\/395\/revisions\/420"}],"wp:attachment":[{"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/media?parent=395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/categories?post=395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yb-isn.fr\/2022\/nsi\/garthur\/wp-json\/wp\/v2\/tags?post=395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}