{"id":756,"date":"2023-10-09T08:52:05","date_gmt":"2023-10-09T06:52:05","guid":{"rendered":"https:\/\/eva.louis-le-grand.net\/maths\/?p=756"},"modified":"2024-03-01T11:28:31","modified_gmt":"2024-03-01T10:28:31","slug":"1-2-gateau-1-2-gateau-1-gateau","status":"publish","type":"post","link":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/2023\/10\/09\/1-2-gateau-1-2-gateau-1-gateau\/","title":{"rendered":"1\/2 g\u00e2teau + 1\/2 g\u00e2teau > 1 g\u00e2teau"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-930d3512 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"147\" src=\"https:\/\/eva.louis-le-grand.net\/maths\/wp-content\/uploads\/2023\/10\/logo-icone.png\" alt=\"\" class=\"wp-image-779\"\/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Retrouver cette app sur l&rsquo;App Store Apple iOS. Cherchez l&rsquo;app: &lsquo;<strong>Partage de Gateaux<\/strong>&lsquo;. <a href=\"https:\/\/apps.apple.com\/fr\/app\/partage-de-gateaux\/id6469036688\">Lien direct<\/a>.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"920\" height=\"357\" src=\"https:\/\/eva.louis-le-grand.net\/maths\/wp-content\/uploads\/2023\/10\/png-transparent-itunes-app-store-apple-logo-apple-text-rectangle-logo.png\" alt=\"\" class=\"wp-image-978\" srcset=\"https:\/\/eva.louis-le-grand.net\/maths\/wp-content\/uploads\/2023\/10\/png-transparent-itunes-app-store-apple-logo-apple-text-rectangle-logo.png 920w, https:\/\/eva.louis-le-grand.net\/maths\/wp-content\/uploads\/2023\/10\/png-transparent-itunes-app-store-apple-logo-apple-text-rectangle-logo-300x116.png 300w, https:\/\/eva.louis-le-grand.net\/maths\/wp-content\/uploads\/2023\/10\/png-transparent-itunes-app-store-apple-logo-apple-text-rectangle-logo-768x298.png 768w\" sizes=\"auto, (max-width: 920px) 100vw, 920px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div><h3>Apprenez \u00e0 prendre la plus grande part du gateau dans un partage \u00e9quitable.<img decoding=\"async\" src=\"https:\/\/sergi5.com\/eva\/cake\/couteau.png\" style=\"width:30%;vertical-align: middle;\"><\/h3>\nAvec votre partenaire (ici l&rsquo;ordinateur), vous allez vous partager un g\u00e2teau. Le premier qui coupe prend la part en cours (c&rsquo;est la partie lumineuse sur le g\u00e2teau plus bas sur la page). Votre but: avoir la plus grosse part possible \u00e0 vos yeux. <br><br>\n<img src='https:\/\/sergi5.com\/eva\/cake\/gateau\/img-AtMsIQHkCk6jHk3zlWifpbGO.png' style='width:200px;'\/><br>\nLe g\u00e2teau a une valeur de 10\u20ac. Il y a <span id=\"nbfraises\"><\/span> fraises sur le dessus.<br>\nVous aller le partager en deux entre vous et votre partenaire. Mais chacun de vous n&rsquo;aime pas autant les fraises l&rsquo;un que l&rsquo;autre.<br>\n\n<br>[Tirage au sort des param\u00e8tres]<br>\nA vos yeux, le g\u00e2teau de base vaut <span id=\"youCake\" style=\"color:red;\"><\/span>\u20ac, et chaque fraise lui ajoute une valeur de <span id=\"youFruit\" style=\"color:red;\"><\/span>\u20ac. <br>\nPour votre partenaire, \u00e0 ses yeux, le g\u00e2teau de base vaut <span id=\"computerCake\" style=\"color:red;\"><\/span>\u20ac, et chaque fraise lui ajoute une valeur de <span id=\"computerFruit\" style=\"color:red;\"><\/span>\u20ac.<br>\n\n  <canvas id=\"myCanvas\" width=\"200\" height=\"200\" style=\"border:1px solid #d3d3d3; margin-right: 10px;\"><\/canvas><br>\n    <button id=\"startButton\">Commencer<\/button>\n    <button id=\"stopButton\">Couper<\/button>\n\nAfficher l&rsquo;aide en direct:<input type=\"checkbox\" id=\"toggleCheckbox\" onclick=\"toggleDivs()\" checked><br>\n\n\n<div id=\"percentageText\" style=\"display:none; opacity:0.5;\"><\/div>\n<div id=\"percentageYours\" style=\"display:none; opacity:0.5;\"><\/div>\n<div id=\"percentageComputers\" style=\"display:none; opacity:0.5;\"><\/div>\n\n<script>\nfunction toggleDivs() {\n  var checkbox = document.getElementById(\"toggleCheckbox\");\n  var div1 = document.getElementById(\"percentageText\");\n  var div2 = document.getElementById(\"percentageYours\");\n  var div3 = document.getElementById(\"percentageComputers\");\n  \n  if (checkbox.checked == true){\n    div1.style.display = \"block\";\n    div2.style.display = \"block\";\n    div3.style.display = \"block\";\n  } else {\n    div1.style.display = \"none\";\n    div2.style.display = \"none\";\n    div3.style.display = \"none\";\n  }\n}\ntoggleDivs();\n\n<\/script>\n\n    <div id=\"finalComment\" style=\"opacity:1.0;\"><\/div>\n    <div id=\"finalComment2\" style=\"opacity:1.0;\"><\/div>\n\n<script src=\"\/\/cdnjs.cloudflare.com\/ajax\/libs\/seedrandom\/3.0.5\/seedrandom.min.js\">\n<\/script>\n \n<script>\nvar canvas = document.getElementById(\"myCanvas\");\nvar ctx = canvas.getContext(\"2d\");\nvar cakeRadius = 80;\nvar cakeColor = \"#F5DEB3\";\nvar strawberryRadius = cakeRadius \/ 10;\nvar strawberryColor = \"#FF0000\";\nvar numberOfStrawberries = Math.floor(Math.random() * 7) + 1;\ndocument.getElementById(\"nbfraises\").innerHTML=numberOfStrawberries;\n\nvar youCake = Math.floor(Math.random() * 4) + 1;\ndocument.getElementById(\"youCake\").innerHTML=youCake;\nvar youFruit = Math.floor(Math.random() * (10-youCake)\/numberOfStrawberries) + 0;\ndocument.getElementById(\"youFruit\").innerHTML=youFruit;\nyouCake = 10-numberOfStrawberries*youFruit;\ndocument.getElementById(\"youCake\").innerHTML=youCake;\n\nvar timestamp = new Date().getTime();\nMath.seedrandom(10+timestamp);\n\nvar computerCake = Math.floor(Math.random() * 4) + 1;\ndocument.getElementById(\"computerCake\").innerHTML=computerCake;\nvar computerFruit = Math.floor(Math.random() * (10-computerCake)\/numberOfStrawberries) + 1;\ndocument.getElementById(\"computerFruit\").innerHTML=computerFruit;\ncomputerCake = 10-numberOfStrawberries*computerFruit;\ndocument.getElementById(\"computerCake\").innerHTML=computerCake;\n\n\nvar angle = 0;\nvar angleIncrement = Math.PI \/ 1800;\n\nvar img = new Image();\nimg.src = \"https:\/\/sergi5.com\/eva\/cake\/tarte.png\";\nif (img.complete) {\n  pattern = ctx.createPattern(img, \"no-repeat\");\n} else {\n  pattern = cakeColor; \/\/ couleur grise par d\u00e9faut\n}\n\nctx.beginPath();\nctx.arc(100, 100, cakeRadius, 0, Math.PI * 2);\n\nctx.fillStyle = pattern;\nctx.fill();\n\nvar strawberriesPositions = [];\n\nfor (i = 0; i < numberOfStrawberries; i++) { \n    var x = Math.floor(Math.random() * 200);\n    var y = Math.floor(Math.random() * 200);\n    while ((x - 100) ** 2 + (y - 100) ** 2 > (cakeRadius - strawberryRadius) ** 2 ) {\n        x = Math.floor(Math.random() * 200);\n        y = Math.floor(Math.random() * 200);\n    }\n\n    var a = (2*Math.PI-Math.atan2(-y + 100,x - 100))%(2*Math.PI);  \/\/ \/\/ EST CE L 4ANGLE DE FRAISE ?\n    \n    strawberriesPositions.push([x,y,a]);\n    ctx.beginPath();\n    ctx.arc(x , y , strawberryRadius, 0, Math.PI * 2);\n    ctx.fillStyle = strawberryColor;\n    ctx.fill();\n}\nvar animationId = null;\nvar x1=0;\nvar y1=0;\nvar percentageYours =0;\nvar percentageYoursMax =0;\nvar percentageComputers =0;\nfunction startAnimation() {\n animationId = setInterval(function() {\n    ctx.clearRect(0, 0, canvas.width, canvas.height);\n    ctx.beginPath();\n    ctx.arc(100, 100, cakeRadius, 0, Math.PI * 2);\n    \/\/ctx.fillStyle = cakeColor;\n\tctx.fillStyle = pattern;\n    ctx.fill();\n    \n    ctx.beginPath();\n    ctx.moveTo(100,100);\n    ctx.lineTo(100 + cakeRadius,100);\n    ctx.strokeStyle = \"white\";\n    ctx.lineWidth = \"5\";\n    ctx.stroke();\n\n\n\t\/\/zone en surimpression\nvar gradient = ctx.createRadialGradient(100, 100, cakeRadius - 10, 100, 100, cakeRadius + 10);\ngradient.addColorStop(0, \"rgba(0, 0, 0, 0.2)\");\ngradient.addColorStop(1, \"rgba(0, 0, 0, 0.2)\");\nctx.beginPath();\nctx.moveTo(100 + cakeRadius * Math.cos(angle), 100 + cakeRadius * Math.sin(angle));\nctx.arc(100, 100, cakeRadius, angle, 0);\nctx.lineTo(100,100 );\n\/\/ctx.arc(100, 100, cakeRadius - 10, 0, angle, true);\nctx.closePath();\nctx.fillStyle = gradient;\nctx.fill();\n\n\t\/\/ dessine les fraisses:\n    for (i = 0; i < numberOfStrawberries; i++) {\n        var x = strawberriesPositions[i][0];\n        var y = strawberriesPositions[i][1];\n        ctx.beginPath();\n        ctx.arc(x, y, strawberryRadius, 0, Math.PI * 2);\n        ctx.fillStyle = strawberryColor;\n        ctx.fill();\n    }\n\n\t\/\/ dessine le 2eme couteau:\n    x1 = Math.cos(angle) * cakeRadius + 100;\n    y1 = Math.sin(angle) * cakeRadius + 100;\n    angle += angleIncrement;\n    if (angle > Math.PI * 2) {\n        angle -= Math.PI * 2;\n    }\n    \n    ctx.beginPath();\n    \/\/ D\u00e9finir le mod\u00e8le de pointill\u00e9\n\tctx.setLineDash([15, 5]);\n    ctx.moveTo(100,100);\n    ctx.lineTo(x1,y1);\n    ctx.strokeStyle = \"black\";\n    ctx.lineWidth = \"3\";\n    ctx.stroke();\n    \/\/ R\u00e9initialiser le mod\u00e8le de pointill\u00e9\n    ctx.setLineDash([]);\n\n    var nbFraisePrises = 0;\n    for (i = 0; i < numberOfStrawberries; i++) {\n        var x = strawberriesPositions[i][0]; \/\/ coordonn\u00e9es d'une fraise.\n        var y = strawberriesPositions[i][1];\n        var a = strawberriesPositions[i][2];\n        \/\/ centre du gateau: (100,100)  , Rayon du gateau : 80. y pointe vers le bas.\n        \/\/ coord couteau variable: (x1,y1)\n        \/\/couteau mobile passe par: (100,100)(x1,y1) et fait un angle: angle entre 0 et 2PI (croissant positif)\n        \/\/ Calcul de l'angle entre le centre du cercle et la fraise en radians\n        if ( a+0.05 <= angle ) { \/\/ gestion de demi fraise dans le calcul\n        \tnbFraisePrises++;\n        }  else if ( a <= angle ) { \n        \tnbFraisePrises+=0.5;\n        }\n    }\n    \t\n    var percentageText = Math.floor(1*100*angle\/(2*Math.PI))\/1;\n    document.getElementById(\"percentageText\").innerHTML=\"La part repr\u00e9sente \"+percentageText+\"% du g\u00e2teau en surface.\";\n    \n     percentageYours = Math.floor(1* 10*((youCake)*angle\/(2*Math.PI)  +  nbFraisePrises*youFruit) )\/1;\n\tdocument.getElementById(\"percentageYours\").innerHTML=\"La part repr\u00e9sente \"+percentageYours+\"% du g\u00e2teau en valeur pour vous.\";\n    if (percentageYours>percentageYoursMax) {percentageYoursMax=percentageYours;}\n    percentageComputers = Math.floor(1* 10*((computerCake)*(angle)\/(2*Math.PI)  +  nbFraisePrises*computerFruit) )\/1;\n    document.getElementById(\"percentageComputers\").innerHTML=\"La part repr\u00e9sente \"+percentageComputers+\"% du g\u00e2teau en valeur pour votre partenaire.\";\n    if (mode!=0) {document.getElementById(\"finalComment2\").innerHTML=\"Votre premier score a \u00e9t\u00e9: \"+mode+\"%. \"}\n    if (percentageComputers>52 && percentageYours>47) { \/\/ L ORDI COUPE avec un retard de 1 seconde. A AJOUTER\n\n    \t\/\/ le partenaire coupe\n    \tdocument.getElementById(\"stopButton\").style.opacity = \"0.5\";\n\t  \tdocument.getElementById(\"stopButton\").disabled = true;\n    \tclearInterval(animationId);\n    \taudio1.play();\n    \tctx.beginPath();\n    \tctx.moveTo(100,100);\n\t    ctx.lineTo(x1,y1);\n    \tctx.strokeStyle = \"white\";\n\t    ctx.lineWidth = \"3\";\n    \tctx.stroke();\n    \tdocument.getElementById(\"finalComment\").innerHTML=\"Le partenaire a coup\u00e9. Il prend la part.<br>Il a gagn\u00e9 \"+percentageComputers+\"% du gateau en valeur.<br> Vous avez gagn\u00e9 \"+(100-percentageYours)+\"% du gateau en valeur.\";\n    \tif ((100-percentageYours)<50) { document.getElementById(\"finalComment\").innerHTML+=\"<br>Vous n'avez m\u00eame pas eu la moiti\u00e9 :-( Vous auriez peut-\u00eatre d\u00fb couper avant, vous auriez pu obtenir jusqu'\u00e0  \"+percentageYoursMax+\"%. \" ;}\n\t\tif ((100-percentageYours)>percentageYoursMax) { document.getElementById(\"finalComment\").innerHTML+=\"<br>Bien jou\u00e9 :-)\";}\n    \tif (!document.getElementById(\"toggleCheckbox\").checked) { document.getElementById(\"toggleCheckbox\").checked = true; toggleDivs();}\n    \tif (mode!=0) {\n    \t\tdocument.getElementById(\"finalComment2\").innerHTML+=\"Si vous aviez continu\u00e9, vous auriez pu avoir jusqu'\u00e0\"+percentageYoursMax+\"%\";\n    \t}\n\n\nfetch(\"https:\/\/sergi5.com\/eva\/cake\/voirstats.html\")\n  .then(response => {\n    if (!response.ok) {\n      throw new Error(\"La requ\u00eate a \u00e9chou\u00e9 avec le statut : \" + response.status);\n    }\n    return response.text();\n  })\n  .then(data => {\n    \/\/ data contient maintenant le contenu de la page web\n    document.getElementById(\"finalComment\").innerHTML = data;\n  })\n  .catch(error => {\n    console.error(\"Erreur : \" + error);\n  });\n\n\n\t\/\/ Envoi du score \u00e0 la page PHP en utilisant la m\u00e9thode POST\n\tfetch(\"https:\/\/sergi5.com\/eva\/cake\/index.html\", {\n\t  method: \"POST\",\n\t  body: new URLSearchParams({\n\t\tscore: (100-percentageYours),\n\t\tscorePartenaire: (percentageComputers)\n\t  })\n\t});\n    \t\n    \t\n    }\n    \n    \n},10);\n}\nvar mode=0;\ndocument.getElementById(\"stopButton\").addEventListener(\"click\", function() { \/\/ JOUEUR COUPE\n    clearInterval(animationId);\n    audio2.play();\n    ctx.beginPath();\n    ctx.moveTo(100,100);\n    ctx.lineTo(x1,y1);\n    ctx.strokeStyle = \"white\";\n    ctx.lineWidth = \"3\";\n    ctx.stroke();\n\tdocument.getElementById(\"finalComment\").innerHTML=\"Vous avez coup\u00e9. Vous prenez la part.<br>Il a gagn\u00e9 \"+(100-percentageComputers)+\"% du gateau en valeur.<br> Vous avez gagn\u00e9 \"+(percentageYours)+\"% du gateau en valeur.<br>\";\n\tdocument.getElementById(\"finalComment\").innerHTML+=\"Vous pouvez <a href=# onClick='startAnimation(); mode=percentageYours;'>continuer<\/a> pour voir si vous n'aviez pas coup\u00e9..\";\n\tif (!document.getElementById(\"toggleCheckbox\").checked) { document.getElementById(\"toggleCheckbox\").checked = true; toggleDivs();}\n\nfetch(\"https:\/\/sergi5.com\/eva\/cake\/voirstats.html\")\n  .then(response => {\n    if (!response.ok) {\n      throw new Error(\"La requ\u00eate a \u00e9chou\u00e9 avec le statut : \" + response.status);\n    }\n    return response.text();\n  })\n  .then(data => {\n    \/\/ data contient maintenant le contenu de la page web\n    document.getElementById(\"finalComment\").innerHTML = data;\n  })\n  .catch(error => {\n    console.error(\"Erreur : \" + error);\n  });\n\n\n\t\/\/ Envoi du score \u00e0 la page PHP en utilisant la m\u00e9thode POST\n\tfetch(\"index.html\", {\n\t  method: \"POST\",\n\t  body: new URLSearchParams({\n\t\tscore: percentageYours,\n\t\tscorePartenaire: (100-percentageComputers)\n\t  })\n\t});\n\n\n});\ndocument.getElementById(\"startButton\").addEventListener(\"click\", function() {\n    startAnimation();\n    audio1.play();\n    document.getElementById(\"startButton\").style.opacity = \"0.5\";\n  \tdocument.getElementById(\"startButton\").disabled = true;\n  \tdocument.getElementById(\"stopButton\").style.opacity = \"1\";\n  \tdocument.getElementById(\"stopButton\").disabled = false;\n});\n  \tdocument.getElementById(\"stopButton\").style.opacity = \"0.5\";\n  \tdocument.getElementById(\"stopButton\").disabled = true;\n\n\n\/\/ R\u00e9cup\u00e9rer les \u00e9l\u00e9ments bouton\nconst startButton = document.getElementById(\"startButton\");\nconst stopButton = document.getElementById(\"stopButton\");\n\n\/\/ Cr\u00e9er des instances Audio pour les fichiers audio\nconst audio1 = new Audio(\"pain1.mp3\");\nconst audio2 = new Audio(\"pain2.mp3\");\n\n<\/script>\n<img decoding=\"async\" src=\"https:\/\/sergi5.com\/eva\/cake\/rouge.png\" style=\"width:50%;\">\n<\/div>\n\n\n\n<div style='border: 2px solid #AA88AA; background: #FFDDFF; padding:8px;' ><img decoding=\"async\" src=\"https:\/\/eva.louis-le-grand.net\/maths\/wp-content\/uploads\/2023\/10\/musee.png\" alt=\"\" class=\"wp-image-1120\" width=30 \/> <b>Mus\u00e9e<\/b><br><table><tr><td>Exposition &lsquo;<i>Dans la cuisine<\/i>&lsquo; en 2023-2024 \u00e0 la MMI de Lyon (<a targe=new href='https:\/\/mmi-lyon.fr\/wp-content\/uploads\/Livret-exposition-cuisine-WEB.pdf'>livret bonus<\/a>). Des ateliers inspirants y sont aussi organis\u00e9s.<\/td><td><img loading=\"lazy\" decoding=\"async\" width=\"191\" height=\"80\" src=\"https:\/\/eva.louis-le-grand.net\/maths\/wp-content\/uploads\/2023\/10\/logo-mmi.jpg\" alt=\"\" class=\"wp-image-1146\"\/><\/td><\/tr><\/table><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Les g\u00e2teaux sont faits pour \u00eatre partag\u00e9s. Apprenez \u00e0 prendre la plus grande part du gateau dans un partage \u00e9quitable.<\/p>\n","protected":false},"author":1,"featured_media":784,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-756","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/posts\/756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/comments?post=756"}],"version-history":[{"count":29,"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/posts\/756\/revisions"}],"predecessor-version":[{"id":3859,"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/posts\/756\/revisions\/3859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/media\/784"}],"wp:attachment":[{"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/media?parent=756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/categories?post=756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eva.louis-le-grand.net\/maths\/index.php\/wp-json\/wp\/v2\/tags?post=756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}