{"id":820,"date":"2022-05-17T11:47:33","date_gmt":"2022-05-17T09:47:33","guid":{"rendered":"http:\/\/yb-isn.fr\/2021\/nsi\/?p=820"},"modified":"2022-05-24T08:44:15","modified_gmt":"2022-05-24T06:44:15","slug":"caval","status":"publish","type":"post","link":"http:\/\/yb-isn.fr\/2021\/nsi\/?p=820","title":{"rendered":"Le cavalier d&rsquo;Euler"},"content":{"rendered":"\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import pygame\nimport random\nn,p=8,8\ncoup=0\nblanc=(255,255,255)\nnoir=(0,0,0)\ncases=80\nechiquier=[[0]*n for i in range(p)]\nX1=random.randint(0,n-1)\nY1=random.randint(0,p-1)\nechiquier[X1][Y1]=1\ncoup=coup+1\npos = [[2,1],[1,2],[-1,2],[-2,1],[-2,-1],[-1,-2],[1,-2],[2,-1]]\n\ndef damier():\n    i=0\n    j=0  \n    for i in range (8):\n        for j in range(8):\n            labelx=int(cases*(i+0.5))\n            labely=int(cases*(j+0.5))\n            if (i+j)%2==1:\n                pygame.draw.rect(ecran,blanc, (cases*i,cases*j,cases,cases))\n            else:\n                pygame.draw.rect(ecran,noir, (cases*i,cases*j,cases,cases))\n\n            \ndef possible(X,Y) :\n    j=0\n    if ((X>=0) and (X&lt;8) and (Y>=0) and (Y&lt;8) and (echiquier[X][Y]==0)) :       \n        for k in range(8):\n            if (X ==X1 + pos[k][0] and Y==Y1 + pos[k][1]):\n                j=j+1\n    if j!=0:\n        return True\n    else:\n        return False\n \n    \npygame.init()\npygame.font.init()\nfont = pygame.font.Font(None, 48)\necran = pygame.display.set_mode((640, 640))\nimage = pygame.image.load(\"caval.gif\")\nimage1=pygame.transform.scale(image,(cases,cases)) \ndamier()\necran.blit(image1, (cases*X1, cases*Y1))\ncontinuer = True\npos_mouse=[]\n\nwhile continuer:\n\n    for event in pygame.event.get():\n        if event.type == pygame.MOUSEBUTTONDOWN:\n            pos_mouse = event.pos            \n            X=pos_mouse[0]\/\/80\n            Y=pos_mouse[1]\/\/80\n            \n            if possible(X,Y)==True:\n                coup=coup+1\n                X1=X\n                Y1=Y\n                echiquier[X][Y]=coup\n                ecran.blit(image1, (cases*X1, cases*Y1))\n                pygame.display.flip()\n    if event.type == pygame.KEYDOWN:\n        continuer = False\n    pygame.display.flip()\n    \npygame.quit()     <\/pre>\n\n\n\n<p>Prototypez les fonctions du jeu.On pourra s&rsquo;aider du lien ci-dessous<\/p>\n\n\n\n<p>h<a href=\"ttp:\/\/mathartung.xyz\/nsi\/cours_def_2_assert.html\">ttp:\/\/mathartung.xyz\/nsi\/cours_def_2_assert.html<\/a><\/p>\n\n\n\n<p>Ajouter une fonction prototyp\u00e9e qui annonce la fin du jeu(blocage ou r\u00e9ussite)<\/p>\n\n\n\n<p>Pour les plus courageux : exploitez l&rsquo;heuristique de Warnsdorff pour faire jouer l&rsquo;ordinateur \u00e0 votre place<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prototypez les fonctions du jeu.On pourra s&rsquo;aider du lien ci-dessous http:\/\/mathartung.xyz\/nsi\/cours_def_2_assert.html Ajouter une fonction prototyp\u00e9e qui annonce la fin du jeu(blocage ou r\u00e9ussite) Pour les plus courageux : exploitez l&rsquo;heuristique de Warnsdorff pour faire jouer l&rsquo;ordinateur \u00e0 votre place<\/p>\n","protected":false},"author":1,"featured_media":829,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/posts\/820"}],"collection":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=820"}],"version-history":[{"count":4,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/posts\/820\/revisions"}],"predecessor-version":[{"id":828,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/posts\/820\/revisions\/828"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=\/wp\/v2\/media\/829"}],"wp:attachment":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=820"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}