Ajout des URL pour la doc Python

This commit is contained in:
Philippe Roy 2022-10-05 18:52:03 +02:00
parent 2f9c122eaa
commit d7f447aa77
38 changed files with 2825 additions and 87 deletions

View File

@ -0,0 +1,15 @@
Icons by Game-icons.net
Icons :
- demolish.svg : Icon made by Lorc
- gears.svg : Icon made by Lorc
- stone-tower.svg : Icon made by Lorc
- trowel.svg : Icon made by Delapouite
Authors :
- Delapouite < delapouite@gmail.com > : https://delapouite.com
- Lorc : https://lorcblog.blogspot.com
Licence : Creative Commons BY 3.0
Website : www.game-icons.net
Source repository : www.github.com/game-icons

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M256 23c-16.076 0-32.375 3.73-48.178 10.24-2.126 6.525-3.877 14.76-4.877 23.754-1.31 11.79-1.73 24.706-1.87 36.819 33.864-3.704 75.986-3.704 109.85 0-.14-12.113-.56-25.03-1.87-36.82-1-8.992-2.75-17.228-4.877-23.753C288.375 26.73 272.076 23 256 23zm100.564 19.332c9.315 7.054 18.107 14.878 26.282 23.234 1.53-6.65 4.69-12.696 9.03-17.695zm-170.03 1.49c-34.675 20.22-65.047 52.714-82.552 86.334-33.08 63.536-39.69 156.956-.53 214.8C132.786 388.278 200.276 405 256 405c55.725 0 123.215-16.72 152.547-60.045 39.162-57.843 32.55-151.263-.53-214.8-17.504-33.62-47.876-66.112-82.55-86.333.578 3.65 1.057 7.388 1.478 11.184 1.522 13.694 1.912 28.197 2.014 41.267C347.664 99.427 362 104 368 110c32 32 75.537 134.695 16 224-37.654 56.48-218.346 56.48-256 0-59.537-89.305-16-192 16-224 6-6 20.335-10.573 39.04-13.727.103-13.07.493-27.573 2.015-41.267.42-3.796.9-7.534 1.478-11.184zM64 48c-8.837 0-16 7.163-16 16a16 16 0 0 0 7 13.227V145.5L73 132V77.21A16 16 0 0 0 80 64c0-8.837-7.163-16-16-16zm358.81 3.68c-12.81 0-23 10.19-23 23s10.19 23 23 23 23-10.19 23-23-10.19-23-23-23zm25.272 55.205c-6.98 5.497-15.758 8.795-25.27 8.795-.745 0-1.48-.027-2.214-.067a216.57 216.57 0 0 1 2.38 4.37l29.852 22.39zm-238.822 2.5c-17.257.09-37.256 3.757-53.233 16.12-26.634 20.608-43.034 114.763-33.49 146.763 16.584-61.767 31.993-124.02 107.92-161.274a133.445 133.445 0 0 0-21.197-1.61zm-135.055 44.21L40.15 179.138l-14.48 72.408 38.18 45.814c-10.947-46.523-5.776-98.723 10.355-143.764zm363.59 0c16.13 45.042 21.302 97.242 10.355 143.764l38.18-45.815-14.48-72.408zM106.645 375.93c-3.583 1.17-7.252 3.406-10.282 6.435-4.136 4.136-6.68 9.43-7.164 14.104.21.364.603 1.157 1.73 2.162 2.453 2.188 6.693 5.17 12.127 8.358 10.867 6.38 26.55 13.757 44.205 20.623 21.177 8.237 45.35 15.704 67.738 20.38v-27.61c-39.47-5.12-79.897-18.325-108.355-44.452zm298.71 0C376.897 402.055 336.47 415.26 297 420.38v27.61c22.387-4.676 46.56-12.143 67.738-20.38 17.655-6.865 33.338-14.243 44.205-20.622 5.434-3.19 9.674-6.17 12.127-8.36 1.127-1.004 1.52-1.797 1.73-2.16-.482-4.675-3.027-9.97-7.163-14.105-3.03-3.03-6.7-5.264-10.282-6.435zM77.322 410.602L18 450.15V494h37v-18h18v18h366v-18h18v18h37v-43.85l-59.322-39.548c-.537.488-1.08.97-1.623 1.457-3.922 3.497-8.932 6.89-14.998 10.452-12.133 7.12-28.45 14.743-46.795 21.877C334.572 458.656 290.25 471 256 471s-78.572-12.343-115.262-26.61c-18.345-7.135-34.662-14.757-46.795-21.878-6.066-3.56-11.076-6.955-14.998-10.453-.543-.487-1.086-.97-1.623-1.458zM233 422.184v28.992c8.236 1.162 16.012 1.824 23 1.824 6.988 0 14.764-.662 23-1.824v-28.992c-7.82.555-15.523.816-23 .816s-15.18-.26-23-.816z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M190.72 17.688c-1.236 0-2.475 0-3.72.03-1.184.03-2.37.096-3.563.157-.915.047-1.83.093-2.75.156-1.544.104-3.096.227-4.656.376-39.78 3.82-84.005 22.38-113.593 53.938-.914.975-1.807 1.97-2.687 2.97-.63.715-1.26 1.427-1.875 2.155-.353.418-.684.858-1.03 1.28-.54.653-1.07 1.307-1.595 1.97-.068.085-.15.162-.22.25-.772.98-1.536 1.967-2.28 2.968-.907 1.22-1.794 2.442-2.656 3.687-.18.26-.354.52-.532.78-.803 1.177-1.58 2.367-2.343 3.564-.067.1-.124.21-.19.31-.86 1.356-1.718 2.716-2.53 4.095-.004.008.004.024 0 .03-.78 1.325-1.547 2.657-2.28 4-.212.386-.42.77-.626 1.157-.398.744-.772 1.5-1.157 2.25-.35.685-.69 1.374-1.03 2.063-.048.097-.11.185-.157.28-.545 1.11-1.077 2.225-1.594 3.345-.58 1.26-1.143 2.51-1.687 3.78-.423.985-.82 1.98-1.22 2.97-.458 1.132-.913 2.266-1.344 3.406-.43 1.142-.846 2.29-1.25 3.438-.004.012-.027.018-.03.03-.4 1.137-.753 2.265-1.126 3.407-.38 1.165-.74 2.332-1.094 3.5-.31 1.032-.647 2.06-.937 3.095-.138.488-.244.98-.376 1.47-.43 1.59-.837 3.183-1.22 4.78-.136.572-.275 1.146-.405 1.72-.05.207-.11.415-.157.624-2.8 12.473-4.125 25.047-4.157 37.155-.03 11.863 1.123 23.42 3.532 34.094.023.103.038.207.062.31.107.47.232.94.344 1.407.19.794.388 1.593.593 2.375.35 1.33.736 2.642 1.125 3.938.023.073.04.146.063.22.38 1.254.768 2.494 1.188 3.718.384 1.12.8 2.22 1.218 3.312.1.26.182.524.282.78.38.972.78 1.93 1.188 2.876.248.575.492 1.154.75 1.72.297.65.596 1.3.906 1.936.087.18.194.354.282.532.545 1.1 1.102 2.19 1.687 3.25.615 1.114 1.246 2.183 1.906 3.25.514.828 1.055 1.64 1.595 2.437.152.225.284.467.438.69.224.322.458.65.687.968.486.675.993 1.35 1.5 2 .248.318.497.625.75.937.272.336.535.67.813 1 .2.238.42.454.624.688.44.504.89 1.012 1.344 1.5l.5.53c.486.51.97 1.013 1.47 1.5.542.53 1.095 1.028 1.656 1.532.066.06.12.128.188.188.29.257.58.498.875.75.218.186.433.38.655.562.402.332.807.65 1.22.97.466.362.926.714 1.405 1.06.193.14.4.27.594.408.468.33.927.685 1.406 1 .108.07.235.117.344.187.7.452 1.4.894 2.125 1.313l.124.093.125.063 99.53 53.06c-11.733-14.704-21.437-29.708-29.125-44.905L51.25 227.187c-6.087-12.578-9.955-29.526-9.906-48.25.02-8.307.757-16.89 2.25-25.468l63.718 44.624c-.48-5.756-.666-11.52-.593-17.28.623-49.355 21.55-97.852 60.593-142.408 3.543-.597 7.045-1.074 10.5-1.406 5.788-.556 11.42-.72 16.78-.53-45.482 45.9-68.563 95.274-69.187 144.56-.133 10.51.757 21.066 2.688 31.626l101.72 71.22c-.78-6.672-1.146-13.35-1.064-20.032.606-49.25 24.488-97.445 68.625-140.22l-34.25-64.25c-2.42-8.248-6.81-15.287-12.5-21.093-.698-.71-1.42-1.418-2.156-2.093-1.375-1.256-2.785-2.44-4.282-3.562-.125-.093-.25-.19-.375-.28-.71-.527-1.452-1.037-2.188-1.532-.106-.072-.206-.15-.313-.22-.762-.506-1.524-.994-2.312-1.468-.084-.05-.166-.106-.25-.156-.816-.487-1.66-.957-2.5-1.407-.06-.033-.126-.062-.188-.094-.87-.464-1.76-.89-2.656-1.314-.033-.016-.06-.046-.094-.062-.93-.44-1.858-.85-2.812-1.25-1.16-.486-2.337-.942-3.53-1.375-.252-.092-.5-.194-.75-.282-.072-.025-.15-.038-.22-.063-.66-.23-1.33-.472-2-.688-.104-.033-.208-.06-.313-.093-1.548-.493-3.12-.932-4.718-1.344-.586-.15-1.19-.298-1.782-.438-.22-.052-.436-.105-.657-.156-.55-.126-1.097-.257-1.655-.375-.258-.053-.523-.103-.78-.155-.527-.106-1.065-.214-1.595-.313-6.937-1.284-14.234-1.876-21.78-1.875zm174.905 95.624l36.938 157.282 87.062 181.03-11.563-92.374 14.844-124.53-27.062 54.343L436 131.03l.75 130.5-71.125-148.217zm-59.094 27.532c-38.92 39.08-58.576 81.213-59.092 123.22-.143 11.61 1.172 23.29 4 34.967l78.125 54.75c-.123-2.452-.185-4.92-.157-7.374.365-32.055 13.53-63.464 37.78-91.812l-60.655-113.75zm70.126 131.562c-18.83 23.913-28.277 49.114-28.562 74.22-.082 7.153.6 14.333 2.03 21.53l60.72 42.53c.746-16.27 5.657-32.273 14.312-47.31l-48.5-90.97zm-215.28 17.313c12.68 18.31 28.792 36.394 48.53 54.092l58.53 31.22c-9.277-12.315-16.937-24.87-22.967-37.594l-84.095-47.72zM54.655 318l46.657 54.094 71.874 14L54.657 318zm93.28 25.5l148.314 99.72-148.313-15 144.75 36.217-52.875 19.844 115-5.06 101.907 12.75L147.936 343.5zm129.408 12.03c10.717 15.65 24.408 31.098 41.22 46.22l32.623 17.375c-6.16-9.804-11.007-19.812-14.562-29.938l-59.28-33.656zm158.594 28.064c-4.23 10.11-6.4 20.418-6.5 30.72-.194 19.67 7.015 39.694 23.03 58.81l16.438 8.75 27.063 14.438-14.408-27.093-45.625-85.626zm-71.625 21.312c7.277 12.51 17.08 24.897 29.593 37l25.625 13.656c-3.39-7.683-5.788-15.514-7.217-23.406l-48-27.25z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M212.125 20.156V59.72H39.53V188.56H69.846V293H39.623V483.03H204.687v-12.936H382v-45.5h95.281V264.53h-25.655V74.813H384.03V20.157H212.126zm18.688 18.688h134.53l-.03 35.968H297V153.938H378.28v46.625h18.69V135.25h-81.283V93.5h117.25v171.03H342V201.47H224.656v9.343l-.03 70.187v9.344h75.467v-18.688h-56.75v-51.5h79.97l-.002 126.78-185.937-.03V252.72h41.656v53.686h18.72V174.062h66.875v-18.687h-85.563v78.654h-60.375V293H88.53V188.562h57.44v-18.687H58.22v-91.47h153.905v30.94H111.437v18.686h119.375V38.845zM342 283.22h116.594v122.686H301.97v18.688h61.31v26.812H204.69v-48.812H110v18.687h76v43.064H58.312V311.72h60.376v53.874h9.343l114.782.03v65H261.5v-65H342v-31.529h66.75v33.844h18.688V315.406H342V283.22z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 973 B

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M64.746 18l20.988 21a33 33 0 0 1-15.42 55.27l18.48 18.48A57 57 0 0 0 102.706 22l-4.002-4H64.746zM52.395 28.39A56.82 56.82 0 0 0 38.485 119l88 87.94a79.82 79.82 0 0 1 7.51-26.33L55.454 102a32.87 32.87 0 0 1 .06-46.48A29.53 29.53 0 0 1 70.876 47l-18.48-18.61zm82.47 25.78c.254 2.307.4 4.64.44 7a73.06 73.06 0 0 1-3.58 23.83l72.82 72.82a33 33 0 0 1-22.55 56.18 24.19 24.19 0 0 0 7.06 18.77l4 4a57 57 0 0 0 28.49-96l-86.68-86.6zm136.649 24.892l-.92 48.862 23.996.453.92-48.861-23.996-.454zm81.998 11.493l-27.662 45.174 20.468 12.533 27.66-45.174-20.466-12.533zm60.017 53.888l-44.71 20.744 10.1 21.772 44.712-20.744-10.102-21.772zM180.895 156.85a63.6 63.6 0 0 0-16.23 9.92 61.718 61.718 0 0 0-4.06 3.71 64.09 64.09 0 0 0-4.28 85.78 65 65 0 0 0 4.4 4.87l92.15 92.15a64.41 64.41 0 0 0 13.71 10.45 73.23 73.23 0 0 1-6.59-37.35l-82.27-82.27a40.9 40.9 0 0 1-2.76-3 39.461 39.461 0 0 1-2.39-3.25 40 40 0 0 1 5-50.41c.8-.8 1.63-1.55 2.48-2.26a40 40 0 0 1 17.46-8.55 16.78 16.78 0 0 0-4.33-7.5l-12.29-12.29zm71.34 7.78a73.52 73.52 0 0 1 1.25 26l17.39 6.37a12 12 0 1 0 8.27-22.49v.03l-26.91-9.91zm137.71 52.036l-.728 23.988 45.638 1.387.729-23.988-45.639-1.387zm-61.148 10.85a12 12 0 0 0-11.332 16.064l18.37 50.52a40.19 40.19 0 0 1-9.44 42.08l-.09.09a40.41 40.41 0 0 1-7.56 5.94 16.73 16.73 0 0 0 1.91 2.31l15.14 15.14a64.81 64.81 0 0 0 7.48-6.42l.09-.09a64.27 64.27 0 0 0 15-67.28l-18.42-50.57a11.94 11.94 0 0 0-2.47-4.05 12.07 12.07 0 0 0-7.48-3.67 12 12 0 0 0-1.198-.064zm-15.442 51.734a57 57 0 0 0-20.85 93.75l4.29 4.29 81 81a77.08 77.08 0 0 1 3.14-30.7v-.05l-52.29-52.29-19.22-19.22a33 33 0 0 1 11-53.85c0-.1-.06-.21-.1-.31l.25.25c.66-.26 1.33-.5 2-.72a.93.93 0 0 0 0-.22c-.42.14-.85.27-1.27.42-.1-.6-.31-1.31-.54-1.97l-7.41-20.38zm64.13 17.5l-.06.06a79.64 79.64 0 0 1 .73 11.37 94 94 0 0 1-.75 10.29 80.74 80.74 0 0 1-2 10.14l52.29 52.29 30.91 30.91a33 33 0 0 1-15.42 55.29l18.48 18.48a57 57 0 0 0 13.91-90.74l-17.09-17.09-81-81zm45.03 101.6a55 55 0 0 0-13.85 10.19 57.05 57.05 0 0 0-.06 80.55l4.9 4.91h33.915l-21.875-21.88a33 33 0 0 1 15.45-55.29l-18.48-18.48z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M211.313 21.094c-51.776 0-98.754 12.252-133.5 32.718C43.066 74.28 19.874 103.78 19.874 137.69c0 33.54 22.692 62.81 56.813 83.25L48.156 327.094l96.97-79.844c20.65 4.58 42.924 7.063 66.186 7.063 51.776 0 98.786-12.252 133.532-32.72 34.746-20.466 57.937-49.997 57.937-83.905s-23.19-63.41-57.936-83.875c-34.746-20.467-81.756-32.72-133.53-32.72zm0 18.687c48.8 0 92.866 11.77 124.03 30.126 31.165 18.357 48.75 42.447 48.75 67.78 0 25.338-17.585 49.457-48.75 67.814-31.164 18.357-75.23 30.125-124.03 30.125S118.445 223.857 87.28 205.5c-31.163-18.357-48.718-42.476-48.718-67.813 0-25.336 17.555-49.424 48.72-67.78C118.445 51.55 162.51 39.78 211.31 39.78zM96.53 89.938v18.688h93.126V89.937H96.53zm111.814 0v18.688h28.094V89.937h-28.094zm46.78 0v18.688h71.97V89.937h-71.97zM96.532 129.844v18.72h29.657v-18.72H96.53zm48.345 0v18.72h65.938v-18.72h-65.938zm84.656 0v18.72h38.095v-18.72H229.53zm56.782 0v18.72h40.782v-18.72h-40.78zM96.532 166.78v18.69h70.874v-18.69H96.53zm89.562 0v18.69h57.03v-18.69h-57.03zm75.72 0l-.002 18.69h65.282v-18.69h-65.28zm92.342 90.25c-74.88 0-135.594 41.762-135.594 93.283 0 51.52 60.716 93.28 135.594 93.28 18.23 0 35.623-2.48 51.5-6.968l68.53 51.156-24.873-71.03c24.947-16.918 40.437-40.432 40.437-66.438 0-51.518-60.714-93.28-135.594-93.28zm-70.344 42.345h32.907v18.688H283.81v-18.688zm51.594 0h90.344v18.688h-90.344v-18.688zm-78.97 41.75h78.314v18.688h-78.313v-18.688zm97.002 0h20.968v18.688h-20.97l.002-18.688zm39.656 0h51v18.688h-51v-18.688zm-109.28 39h79.06v18.688h-79.062v-18.688zm97.748 0h44.188v18.688h-44.188v-18.688z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M137 19v200.9c7-3.1 14.8-4.9 23-4.9s16 1.8 23 4.9V19h-46zm64 88.6v65L340.4 312c10.1-13.9 19-27.2 26.2-38.8L201 107.6zm161.6 18.2c-34.5.2-76.9 14-93.3 24.7l115.2 115.1 4.9 5-.1.2c21.3 43.6 27.5 142.4 19.5 184-25.1-12.6-50.9-53.2-66.2-72.7-.4 20.5 6.5 63 16.9 82.2-34.9-5.3-57.1-28.1-81.2-48.3 3.4 24.3 16 40.9 41.7 57.8L208 464l69.3 32H496V384l-32 72.3c6.7-75.3 4.8-304.9-76.8-327.7-7.3-2-15.7-2.9-24.6-2.8zM119 158.5c-6.4 5.5-12.8 11.1-19.1 16.9-32.97 30.3-61.57 64.5-73.33 94.4L199.2 442.4c29.9-11.7 64.1-40.3 94.4-73.3 12.8-13.8 24.8-28.3 35.8-42.5L201 198.2v34.3c9.9 10.2 16 24.2 16 39.5 0 31.4-25.6 57-57 57s-57-25.6-57-57c0-15.3 6.1-29.3 16-39.5v-74zm41 74.5c-21.6 0-39 17.4-39 39s17.4 39 39 39 39-17.4 39-39-17.4-39-39-39zm0 23a16 16 0 0 1 16 16 16 16 0 0 1-16 16 16 16 0 0 1-16-16 16 16 0 0 1 16-16z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M73 25v238h366V25H283v16h140v192H89V41h140V25H73zm174 0v16h18V25h-18zM107 59v156h298V59H107zM71.03 281l-43.5 174H484.5L441 281h-29.9l20 96h-99.6l16 64H163.8l20-64H80.93l19.97-96H71.03zm48.27 0l-2.9 14H147l2.3-14h-30zm48.4 0l-2.3 14h30.7l1.7-14h-30.1zm48.2 0l-1.7 14H247v-14h-31.1zm49.1 0v14h32.8l-1.7-14H265zm49.2 0l1.7 14h30.7l-2.3-14h-30.1zm48.5 0l2.3 14h30.6l-2.9-14h-30zm-250 32l-3 14h31.9l2.4-14h-31.3zm49.7 0l-2.4 14h32.1l1.7-14h-31.4zm49.5 0l-1.7 14H247v-14h-35.1zm53.1 0v14h36.8l-1.7-14H265zm53.2 0l1.7 14H352l-2.4-14h-31.4zm49.8 0l2.4 14h31.9l-3-14H368zm-262 32l-2.9 14h33.2l2.3-14H106zm51 0l-2.3 14h33.4l1.7-14H157zm50.9 0l-1.7 14H247v-14h-39.1zm57.1 0v14h40.8l-1.7-14H265zm57.2 0l1.7 14h33.4l-2.3-14h-32.8zm51.2 0l2.3 14h33.2l-2.9-14h-32.6zm-170.8 32l-14.4 46h136.3L313 377H202.6zM28 473v18h456v-18H28z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M121 18v143.537c0 3.913 2.64 9.707 7.28 14.166 4.638 4.46 10.825 7.297 16.05 7.297H279v-46H167V18zm112 0v23h-48v46h71c5 0 11.05-2.777 15.637-7.363C276.223 75.05 279 69 279 64V18zm96 0v37h46V18zM80 41c-5 0-11.05 2.777-15.637 7.363C59.777 52.95 57 59 57 64v183h46V41zm249 32v46h46V73zm-32 64v46h197v-46zm32 64v46h46v-46zM18 265v46h135v82h-32v46h54.934c5.045 0 11.15-2.802 15.754-7.32 4.604-4.518 7.312-10.428 7.312-14.846V311h102.174A88.47 88.47 0 0 1 343 295.47v18.114c-19.383 2.436-36.29 12.62-47.53 27.385l-22.11-12.765-9 15.59 22.11 12.764C282.95 364.994 281 374.26 281 384s1.95 19.005 5.47 27.44l-22.11 12.765 9 15.59 22.11-12.764c11.24 14.767 28.147 24.95 47.53 27.386v18.127a88.535 88.535 0 0 1-14-2.566V494h46v-24.023a88.535 88.535 0 0 1-14 2.566v-18.127c19.383-2.436 36.29-12.62 47.53-27.385l22.11 12.765 9-15.59-22.11-12.764c3.52-8.435 5.47-17.702 5.47-27.44s-1.95-19.005-5.47-27.44l22.11-12.765-9-15.59-22.11 12.764c-11.24-14.767-28.147-24.95-47.53-27.386V295.47A88.47 88.47 0 0 1 402.826 311H494v-46zm325 62.723v40.687l-35.19-20.316c8.668-10.64 21.08-18.113 35.19-20.37zm18 0c14.11 2.258 26.522 9.732 35.19 20.37L361 368.41zM57 329v165h46V329zm380.977 32A88.703 88.703 0 0 1 441 384c0 7.95-1.055 15.66-3.023 23H494v-46zm-139.198 2.666L333.997 384l-35.22 20.334A56.53 56.53 0 0 1 295 384a56.53 56.53 0 0 1 3.78-20.334zm106.44 0A56.53 56.53 0 0 1 409 384a56.53 56.53 0 0 1-3.78 20.334L370.003 384zM18 393v46h21v-46zm325 6.59v40.687c-14.11-2.258-26.522-9.732-35.19-20.37zm18 0l35.19 20.316c-8.668 10.64-21.08 18.113-35.19 20.37z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M496.938 14.063c-95.14 3.496-172.297 24.08-231.282 55.812l-29.47 49.28-4.967-28.093c-10.535 7.402-20.314 15.222-29.314 23.407l-14.687 45.06-5.032-25.155c-40.65 45.507-60.41 99.864-58.938 155.906 47.273-93.667 132.404-172.727 211.97-221.155l9.717 15.97c-75.312 45.838-156.387 121.202-202.187 208.25h12.156c19.78-12.02 39.16-26.858 58.406-43.44l-30.28 1.595 54.218-23.094c46.875-43.637 93.465-94.974 143.313-138.28l-24.47-5.19 56.5-21.03c26.853-20.485 54.8-37.844 84.344-49.843zM59.53 312.03v30.408H194V312.03H59.53zm20.376 49.095L47.25 389.813 24.97 474.78l14.53 15.876h177.22l14.56-15.875L209 389.814l-30.906-28.688H79.906z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 895 B

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M115.063 21.97v9.343c0 101.953 38.158 189.648 96.343 222.093v6.094c-58.186 32.445-96.344 120.14-96.344 222.094v9.344H401.81v-9.344c0-102.552-38.804-190.274-97.53-222.188V253.5c58.722-31.917 97.53-119.64 97.53-222.188V21.97H115.06zM134 40.655h248.875c-2.477 96.445-42.742 175.523-91.938 198.906l-5.343 2.532V270.844l5.344 2.53c49.193 23.383 89.456 102.438 91.937 198.876H134c2.456-95.898 42.125-175.078 90.875-198.938l5.25-2.562v-28.594l-5.25-2.562c-48.748-23.86-88.42-103.04-90.875-198.938zm213.656 86.125c-57.607 27.81-124.526 27.84-177.562 4.095C184.748 181.78 213.91 218.012 248.22 224c-1.54 2.047-2.47 4.585-2.47 7.344 0 6.76 5.488 12.25 12.25 12.25s12.25-5.49 12.25-12.25c0-2.72-.907-5.218-2.406-7.25 35.426-5.88 65.488-44.07 79.812-97.313zM258 258.626c-6.762 0-12.25 5.488-12.25 12.25s5.488 12.25 12.25 12.25 12.25-5.488 12.25-12.25-5.488-12.25-12.25-12.25zm0 39.28c-6.762 0-12.25 5.49-12.25 12.25 0 6.763 5.488 12.25 12.25 12.25s12.25-5.487 12.25-12.25c0-6.76-5.488-12.25-12.25-12.25zm0 39.533c-6.762 0-12.25 5.488-12.25 12.25 0 6.76 5.488 12.25 12.25 12.25s12.25-5.49 12.25-12.25c0-6.762-5.488-12.25-12.25-12.25zm.125 39.906c-23.21.28-46.19 25.77-75.813 75.656h153c-30.523-51.003-53.977-75.936-77.187-75.656z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M488 348.78h-70.24l-15.1 87.44-48.78-87.44H169v-50h190v-157h129zm-145-273v207H158.13l-48.79 87.47-15.11-87.47H24v-207zM136.724 215.324c0-10.139-12.257-15.214-19.425-8.046-7.168 7.168-2.093 19.426 8.046 19.426 6.285 0 11.38-5.095 11.38-11.38zm60.945 0c-.068-10.12-12.32-15.122-19.452-7.943-7.131 7.18-2.047 19.399 8.073 19.399 6.314 0 11.422-5.141 11.38-11.456zm60.945 0c0-10.139-12.257-15.214-19.425-8.046-7.169 7.168-2.093 19.426 8.046 19.426 6.284 0 11.38-5.095 11.38-11.38z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 748 B

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M151 23v9c0 21.038-3.39 52.724-8.523 85.336 31.097-25.51 70.354-41.053 111.2-40.756 5.227-.05 10.467.13 15.696.547 36.83 2.13 71.78 16.79 99.924 39.824-5.164-32.6-8.523-64.168-8.297-84.852l.1-9.098H151zm105 72.488c-88.543 0-160.514 71.967-160.514 160.51 0 88.543 71.97 160.516 160.514 160.516 88.543 0 160.514-71.973 160.514-160.516 0-88.543-71.97-160.51-160.514-160.51zm0 17.998c78.815 0 142.514 63.697 142.514 142.512S334.814 398.516 256 398.516c-78.815 0-142.514-63.703-142.514-142.518S177.186 113.486 256 113.486zM174.115 161.3l-12.734 12.72 76.48 76.558a18.94 18.94 0 0 0-.8 5.422A18.94 18.94 0 0 0 256 274.94a18.94 18.94 0 0 0 16.66-9.94h59.096v-17.998h-59.11a18.94 18.94 0 0 0-16.646-9.94 18.94 18.94 0 0 0-5.398.8l-76.487-76.563zm253.233 61.32v64.003h21.306V222.62h-21.306zm-57.96 172.888c-49.015 40.244-119.824 51.034-178.92 27.547-17.515-6.406-33.528-15.775-47.663-27.375 5.107 32.376 8.42 63.672 8.195 84.222l-.1 9.098H361v-9c0-20.857 3.33-52.178 8.39-84.492z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M333.78 20.188c-39.97 0-79.96 15.212-110.405 45.656-58.667 58.667-60.796 152.72-6.406 213.97l-15.782 15.748 13.25 13.25 15.75-15.78c61.248 54.39 155.3 52.26 213.968-6.407 60.887-60.886 60.888-159.894 0-220.78C413.713 35.4 373.753 20.187 333.78 20.187zm0 18.562c35.15 0 70.285 13.44 97.158 40.313 53.745 53.745 53.744 140.6 0 194.343-51.526 51.526-133.46 53.643-187.5 6.375l.218-.217c-2.35-2.05-4.668-4.17-6.906-6.407-2.207-2.206-4.288-4.496-6.313-6.812l-.218.22c-47.27-54.04-45.152-135.976 6.374-187.502C263.467 52.19 298.63 38.75 333.78 38.75zm0 18.813c-30.31 0-60.63 11.6-83.81 34.78-46.362 46.362-46.362 121.234 0 167.594 10.14 10.142 21.632 18.077 33.905 23.782-24.91-19.087-40.97-49.133-40.97-82.94 0-15.323 3.292-29.888 9.22-43-4.165 20.485.44 40.88 14.47 54.907 24.583 24.585 68.744 20.318 98.624-9.562 29.88-29.88 34.146-74.04 9.56-98.625-2.375-2.376-4.943-4.473-7.655-6.313 45.13 8.648 79.954 46.345 84.25 92.876 4.44-35.07-6.82-71.726-33.813-98.72-23.18-23.18-53.47-34.78-83.78-34.78zM176.907 297.688L42.094 432.5l34.562 34.563L211.47 332.25l-34.564-34.563zM40 456.813L24 472.78 37.22 486l15.968-16L40 456.812z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M274.174 41.604c-2.798-.01-5.576.056-8.332.195-96.67 4.85-177.38 86.93-217.842 192-40.462 105.06.914 239.97 90.336 237.48 89.42-2.5 18.09-99.6 65.486-146.12 24.345-23.9 58.852-15.48 94.207-5.64l-17.6-22.98-4.2-5.48c-1.38.06-2.79.102-4.26.09-8.24-.064-17.82-.54-25.25-7.347-13.89-12.73-14.4-31.304-14.08-47.908.32-16.605 1.12-32.375-4.05-42.587l-5.7-11.24 12.595-.37c1.046-.03 2.097-.05 3.15-.053 15.8-.073 32.304 2.776 46.914 9.03 15.584 6.67 29.254 17.44 36.154 33.053 4.18 9.46 3.665 20.116.623 29.768-.636 2.003-1.386 3.972-2.24 5.89l54.9 71.68c6.21-1.05 12.184-2.936 17.844-5.92 46.09-24.313 97.313-77.71 88.27-129.03-14.84-84.23-120.2-154.26-206.94-154.52zm60.79 39.888a34.152 39.804 15.878 0 1 17.913 7.06 34.152 39.804 15.878 0 1 4.666 54.87 34.152 39.804 15.878 0 1-48.72 9.77 34.152 39.804 15.878 0 1-4.665-54.87 34.152 39.804 15.878 0 1 30.805-16.83zm-119.85 4.467a39.307 30.27 71.565 0 1 34.603 35.56 39.307 30.27 71.565 0 1-23.213 41.31 39.307 30.27 71.565 0 1-37.678-35.47 39.307 30.27 71.565 0 1 23.213-41.31 39.307 30.27 71.565 0 1 3.07-.1zm-88.33 79.58a35.75 31.637 35.137 0 1 38.16 33.05 35.75 31.637 35.137 0 1-30.266 33.05 35.75 31.637 35.137 0 1-38.164-33.05 35.75 31.637 35.137 0 1 30.27-33.06zM421.256 170a34.25 40.436 25.644 0 1 20.41 9.578 34.25 40.436 25.644 0 1-2.914 55.51 34.25 40.436 25.644 0 1-50.107 3.966 34.25 40.436 25.644 0 1 2.916-55.51A34.25 40.436 25.644 0 1 421.26 170zm-174.152 27.95c2.982 12.774 1.784 26.197 1.548 38.275-.31 15.893.734 28.32 8.89 35.797 1.19 1.09 8.018 3.092 14.556 3.143 3.268.026 6.44-.22 8.718-.535 1.063-.146 1.874-.306 2.383-.425l13.02-9.362.02-.014c4.46-3.17 8.72-9.37 10.85-16.13 2.13-6.76 2.07-13.81 0-18.49-4.83-10.93-14.84-19.26-27.82-24.81-9.73-4.17-21-6.65-32.17-7.45zm67.455 83.808l-14.37 11L438.97 473.97l14.36-10.998-138.773-181.21zm-200.35 60.16a48.74 40.895 69.57 0 1 46.46 47.85 48.74 40.895 69.57 0 1-36.85 47.852 48.74 40.895 69.57 0 1-46.46-47.852 48.74 40.895 69.57 0 1 36.85-47.85z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M439 32v165h18V32h-18zm-18 12.99L327.6 80l93.4 35V44.99zM165.9 103c-5 0-10.2 2.3-15.3 7-6.2 5.8-11.5 15.1-13.8 26.3-2.3 11.3-1 22 2.5 29.7 3.5 7.8 8.6 12.3 14.6 13.5 6 1.3 12.4-.9 18.7-6.6 6.1-5.8 11.5-15.1 13.8-26.4 2.2-11.3.9-22-2.5-29.7-3.5-7.8-8.6-12.2-14.6-13.5-1.1-.2-2.3-.3-3.4-.3zm-38.4 78.5c-3.4 1.2-6.9 2.5-10.7 4.1-24.85 15.7-42.2 31.2-59.84 55.7-11.19 15.5-11.74 42-12.58 61.5l20.8 9.2c.87-27.8.36-39.3 13.27-55.3 9.83-12.2 19.33-25 37.55-28.9 1.6 28.9-2.6 73.7-14 119.6 20.5 2.8 37.6-.7 57-6.3 50.7-25.3 74.1-3.8 109.3 45.7l20.5-32.1c-24.6-28.9-48.5-75.1-117.2-57.3 5-27.3 5.6-45.4 8.6-72.6.6-12 .8-23.9 1.1-35.7-8.9 6.8-19.9 10.4-31 8.1-9.5-2-17.3-7.9-22.8-15.7zm144.2 7.3c-18.2 17.8-22.2 31-50.2 38.4l-22.5-24c-.4 12.8-.8 25.9-1.9 39.2 9.5 8.7 19.2 15.7 22.7 14.6 31.3-9.4 40.3-20.3 61.4-41.9l-9.5-26.3zM409 215v96h-96v96h-96v78.1c102.3.2 167.8 1.1 270 1.8V215h-78zM140.7 363.9c-13.6 2.5-27.8 3.3-43.44.9-10.89 37.5-26.76 74.3-48.51 102.5l38.63 15.3c27.02-37.9 36.82-70.6 53.32-118.7z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg68"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
sodipodi:docname="icon_battery-v2.svg">
<defs
id="defs62" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.34404762"
inkscape:cx="400"
inkscape:cy="560"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="1046"
inkscape:window-height="1053"
inkscape:window-x="452"
inkscape:window-y="213"
inkscape:window-maximized="0" />
<metadata
id="metadata65">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1">
<g
class=""
id="g6"
transform="matrix(0.26458333,0,0,0.26458333,25.759946,81.45745)">
<path
d="m 230.218,16 c -14.245,0 -51.563,11.946 -51.563,26.718 V 69.436 H 127.562 C 99.072,69.436 76,93.326 76,122.874 V 442.56 C 76,472.11 99.072,496 127.563,496 H 384.438 C 412.928,495.998 436,472.108 436,442.56 V 122.874 C 436,93.327 412.928,69.437 384.437,69.437 H 333.344 V 42.718 C 333.344,27.944 296.027,16 281.782,16 H 230.22 Z M 256,122.875 V 256 H 358.657 L 256,442.563 V 309.438 H 153.343 Z"
fill="#000000"
fill-opacity="1"
id="path4" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M0 0h512v512H0z" fill="#ffffff" fill-opacity="1"></path><g class="" style="" transform="translate(0,0)"><path d="M230.218 16c-14.245 0-51.563 11.946-51.563 26.718v26.718h-51.093C99.072 69.436 76 93.326 76 122.874V442.56C76 472.11 99.072 496 127.563 496h256.875c28.49-.002 51.562-23.892 51.562-53.44V122.874c0-29.547-23.072-53.437-51.563-53.437h-51.093V42.718c0-14.774-37.317-26.718-51.562-26.718H230.22zM256 122.875V256h102.657L256 442.563V309.438H153.343L256 122.875z" fill="#000000" fill-opacity="1"></path></g></svg>

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 MiB

Binary file not shown.

Binary file not shown.

12
rp.py
View File

@ -171,6 +171,18 @@ def terrain_init ():
beacon.suspendPhysics (True)
beacon['activated']=False
# Création des lieux de forage (mission 6)
scene.objects['Terrain']['map_tile_aim-mission6']= []
for i in range (10):
drill_aim= scene.addObject("Drill_aim", scene.objects['Terrain'])
applyRotationTo(drill_aim, 40*2*math.pi*(1/360), 0, 0, False)
drill_aim.name="Drill_aim-"+str(i)
drill_aim.setVisible(False,True)
drill_aim['activated']=False
drill_tile= scene.addObject("Drill_tile", scene.objects['Terrain'])
drill_tile.name="Drill_tile-"+str(i)
drill_tile.setVisible(False,True)
# Init de la carte
# Read config (mission actuelle : data/mission/current -> [1][0].text)
scene.objects['Points']['mission']=int(rp_config_tree[1][0].text)

View File

@ -1,4 +1,5 @@
import bge # Bibliothèque Blender Game Engine (UPBGE)
import time
from rp_lib import * # Bibliothèque Ropy
###############################################################################
@ -21,10 +22,19 @@ from rp_lib import * # Bibliothèque Ropy
# Fonctions
###############################################################################
j=0
def mrp_marquer_couleur():
global j
rp_marquer()
time.sleep(1)
rp_couleur("Balise "+str(j), (j/100, j/100, 1, 1)) # Balise
j+=1
def mrp_avancer():
if rp_detect()==False:
rp_avancer()
rp_marquer()
mrp_marquer_couleur()
def mrp_avancer_nbpas(pas):
for i in range (pas):
@ -34,67 +44,42 @@ def mrp_avancer_mur():
while rp_detect()==False:
mrp_avancer()
def mrp_avancer_mur_sb(): # sb = sans balise
while rp_detect()==False:
rp_avancer()
###############################################################################
# Commandes
###############################################################################
color_yellow = (1, 0.503, 0.018, 1)
color_black = (0.019794, 0.032076, 0.037408, 1)
color_white = (0.799, 0.799, 0.799, 1)
color_windows_red = (0.617, 0.037, 0.019, 1)
color_area_red = (1, 0.003, 0.012, 1) # Balise
color_light_red = (1, 0.003, 0.012, 1) # Balise
color_stone = (0.191, 0.227, 0.246, 1)
color_wooddark = (0.153, 0.117, 0.107, 1)
color_metal = (0.401, 0.478, 0.518, 1)
def commandes():
global j
# rp_couleur("rover", 0)
# rp_couleur("rover", (0.5,0.5,0,1))
# print ("fini")
mrp_avancer()
rp_couleur("Rover 1", (1, 0.003, 0.012, 1))
rp_couleur("Rover 2", (1, 0.003, 0.012, 1))
rp_couleur("Rover 3", (1, 0.003, 0.012, 1))
rp_couleur("Station 1", (1, 0.003, 0.012, 1))
rp_couleur("Station 2", (1, 0.003, 0.012, 1))
rp_couleur("Station 3", (1, 0.003, 0.012, 1))
rp_couleur("Station 4", (1, 0.003, 0.012, 1))
rp_couleur("Station cube 1", (1, 0.003, 0.012, 1))
rp_couleur("Station cube 2", (1, 0.003, 0.012, 1))
a=""
while a =="":
a=input()
print ("a = ", a)
for i in range(20):
mrp_avancer()
for i in range(20):
rp_couleur("Balise "+str(i), (1, 1-i/19, 1-i/19, 1))
rp_gauche()
mrp_avancer_mur_sb()
rp_droite()
mrp_avancer_mur_sb()
rp_gauche()
mrp_avancer_mur_sb()
rp_gauche()
# rp_couleur_init("Station 1")
# rp_couleur_init("Station 2")
# rp_couleur_init("Station 3")
# rp_couleur_init("Station 4")
# rp_couleur_init()
# rp_marquer()
# rp_gauche()
# rp_avancer()
# rp_avancer()
# mrp_avancer_mur()
# rp_gauche()
# # rp_vitesse (8)
# mrp_avancer_mur()
# rp_gauche()
# # rp_vitesse (1)
# mrp_avancer_mur()
j=0
mrp_marquer_couleur()
for i in range (5):
mrp_avancer_nbpas(9)
rp_gauche()
mrp_avancer()
rp_gauche()
mrp_avancer_nbpas(9)
rp_droite()
mrp_avancer()
rp_droite()
rp_fin()
###############################################################################

View File

@ -1,15 +1,15 @@
<data>
<config>
<speed>4.0</speed>
<sound>False</sound>
<sound>True</sound>
<cam>
<worldPosition.x>-0.6072205305099487</worldPosition.x>
<worldPosition.y>-28.834430694580078</worldPosition.y>
<worldPosition.z>22.768606185913086</worldPosition.z>
<worldPosition.x>0.0057830810546875</worldPosition.x>
<worldPosition.y>-36.409027099609375</worldPosition.y>
<worldPosition.z>28.587913513183594</worldPosition.z>
</cam>
</config>
<mission>
<current>4</current>
<current>6</current>
<level>6</level>
</mission>
<upgrade>

139
rp_doc.py
View File

@ -1,5 +1,6 @@
import bge # Bibliothèque Blender Game Engine (UPBGE)
import rp_map1 # Map definition
import webbrowser
###############################################################################
# rp_doc.py
@ -113,15 +114,15 @@ card_description.update({"beacon-card" : [rp_beacon_title, rp_beacon_text, rp_be
# Documentation Python
###############################################################################
python_card=["fonction-card", "alternative-card", "boucle-card"]
# python_card=["fonction-card", "alternative-card", "boucle-card", "liste-card", "dict-card", "poo-card"]
python_card=["function-card", "alternative-card", "loop-card", "flow-card", "text-card", "list-card", "dict-card", "oop-card", "console-card", "sleep-card"]
# Fonction
rp_fonction_title="Fonction"
rp_fonction_text=" La définition d'une fonction se fait \n avec \"def\". La fonction peut \n renvoyer une valeur avec \"return\". \n \n"
rp_fonction_text=rp_fonction_text + " def fonction_1 (arguments) : \n instruction_1 \n instruction_2 \n ....\n return valeurs_renvoyées \n\n"
rp_fonction_text=rp_fonction_text + " Les arguments sont des données \n transmises à la fonction."
card_description.update({"fonction-card" : [rp_fonction_title, rp_fonction_text]})
rp_function_title="Fonction"
rp_function_text=" La définition d'une fonction se fait \n avec \"def\". La fonction peut \n renvoyer une valeur avec \"return\". \n \n"
rp_function_text=rp_function_text + " def fonction_1 (arguments) : \n instruction_1 \n instruction_2 \n ....\n return valeurs_renvoyées \n\n"
rp_function_text=rp_function_text + " Les arguments sont des données \n transmises à la fonction."
rp_function_url=[["w3schools.com : functions","https://www.w3schools.com/python/python_functions.asp"]]
card_description.update({"function-card" : [rp_function_title, rp_function_text, rp_function_url]})
# Alternative
rp_alternative_title="Alternative"
@ -133,29 +134,65 @@ rp_alternative_text=rp_alternative_text + " instruction_1\n"
rp_alternative_text=rp_alternative_text + " else : \n"
rp_alternative_text=rp_alternative_text + " instruction_2\n \n"
rp_alternative_text=rp_alternative_text + "Le sinon (\"else\") est facultatif. \n\n"
card_description.update({"alternative-card" : [rp_alternative_title, rp_alternative_text]})
rp_alternative_url=[["w3schools.com : if ... else","https://www.w3schools.com/python/python_conditions.asp"]]
card_description.update({"alternative-card" : [rp_alternative_title, rp_alternative_text, rp_alternative_url]})
# Boucles
rp_boucle_title="Boucles"
rp_boucle_text=" Il y a deux types de boucle : \n - avec \"for\" pour définir un nombre \n de répétition (ici N), \n - avec \"while\" (tant que) pour \n prendre en compte une condition. \n \n"
rp_boucle_text=rp_boucle_text + " for i in range (n) : \n instruction \n \n"
rp_boucle_text=rp_boucle_text + " while condition : \n instruction \n \n"
card_description.update({"boucle-card" : [rp_boucle_title, rp_boucle_text]})
rp_loop_title="Boucles"
rp_loop_text=" Il y a deux types de boucle : \n - avec \"for\" pour définir un nombre \n de répétition (ici N), \n - avec \"while\" (tant que) pour \n prendre en compte une condition. \n \n"
rp_loop_text=rp_loop_text + " for i in range (n) : \n instruction \n \n"
rp_loop_text=rp_loop_text + " while condition : \n instruction \n \n"
rp_loop_url=[["w3schools.com : for","https://www.w3schools.com/python/python_for_loops.asp"],
["w3schools.com : while","https://www.w3schools.com/python/python_while_loops.asp"]]
card_description.update({"loop-card" : [rp_loop_title, rp_loop_text, rp_loop_url]})
# Flux
rp_flow_title="Contrôle du flux"
rp_flow_text=" Les structures (if, while, for) peuvent \n être gérées plus finement par les \n fonctions \"break\", \"continue\" et \"pass\". \n\n"
rp_flow_text= rp_flow_text + "- \"break\" : Termine l'itération en cours \n et arrête la boucle.\n"
rp_flow_text= rp_flow_text + "- \"continue\" : Termine l'itération en \n cours et reprend la boucle.\n"
rp_flow_text= rp_flow_text + "- \"pass\" : Instruction vide. \n\n\n\n\n\n"
rp_flow_url=[["w3schools.com : break","https://www.w3schools.com/python/ref_keyword_break.asp"],
["w3schools.com : continue","https://www.w3schools.com/python/ref_keyword_break.asp"],
["w3schools.com : pass","https://www.w3schools.com/python/ref_keyword_pass.asp"]]
card_description.update({"flow-card" : [rp_flow_title, rp_flow_text, rp_flow_url]})
# Chaine de caractère
rp_text_title="Chaîne de caractères\n(texte)\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
rp_text_text="\nFIXME"
rp_text_url=[["w3schools.com : strings","https://www.w3schools.com/python/python_strings.asp"]]
card_description.update({"text-card" : [rp_text_title, rp_text_text, rp_text_url]})
# Liste
rp_liste_title="Liste"
rp_liste_text="FIXME"
card_description.update({"liste-card" : [rp_liste_title, rp_liste_text]})
rp_list_title="Liste"
rp_list_text="FIXME"
rp_list_url=[["w3schools.com : lists","https://www.w3schools.com/python/python_lists.asp"]]
card_description.update({"list-card" : [rp_list_title, rp_list_text, rp_list_url]})
# Dictionnaire
rp_dict_title="Dictionnaire"
rp_dict_text="FIXME"
card_description.update({"dict-card" : [rp_dict_title, rp_dict_text]})
rp_dict_url=[["w3schools.com : dictionaries","https://www.w3schools.com/python/python_dictionaries.asp"]]
card_description.update({"dict-card" : [rp_dict_title, rp_dict_text, rp_dict_url]})
# Objet (POO)
rp_poo_title="Programmation\norientée objet (POO)"
rp_poo_text="\nFIXME"
card_description.update({"poo-card" : [rp_poo_title, rp_poo_text]})
rp_oop_title="Programmation\norientée objet (POO)"
rp_oop_text="\nFIXME"
rp_oop_url=[["w3schools.com : classes & objects","https://www.w3schools.com/python/python_classes.asp"]]
card_description.update({"oop-card" : [rp_oop_title, rp_oop_text, rp_oop_url]})
# Console
rp_console_title="Console"
rp_console_text="FIXME"
rp_console_url=[["w3schools.com : print","https://www.w3schools.com/python/ref_func_print.asp"],
["w3schools.com : input","https://www.w3schools.com/python/ref_func_input.asp"]]
card_description.update({"console-card" : [rp_console_title, rp_console_text, rp_console_url]})
# Temps
rp_sleep_title="Gestion du temps"
rp_sleep_text="FIXME"
rp_sleep_url=[["docs.python.org : sleep","https://docs.python.org/fr/3/library/time.html#time.sleep"]]
card_description.update({"sleep-card" : [rp_sleep_title, rp_sleep_text, rp_sleep_url]})
###############################################################################
# Interface
@ -186,6 +223,13 @@ def init():
scene.objects[python_card[i]+"-text"].color = color_doc_fct
scene.objects['Book_level_button'].color = color_doc_chap
scene.objects['Book_level_button'].setVisible(False,True)
scene.objects['Book_python_url_title'].setVisible(False,True)
scene.objects['Book_python_url0'].color = color_doc_chap
scene.objects['Book_python_url0'].setVisible(False,True)
scene.objects['Book_python_url1'].color = color_doc_chap
scene.objects['Book_python_url1'].setVisible(False,True)
scene.objects['Book_python_url2'].color = color_doc_chap
scene.objects['Book_python_url2'].setVisible(False,True)
scene.objects["mission_"+str(scene.objects['Points']['mission'])+"-card"].color = color_doc_mission
scene.objects["mission_"+str(scene.objects['Points']['mission'])+"-card-icon"].color = color_doc_mission
scene.objects["mission_"+str(scene.objects['Points']['mission'])+"-card-text"].color = color_doc_mission
@ -243,6 +287,19 @@ def open():
scene.objects[upgrade_card[i]+'-card'].setVisible(False,True)
scene.objects[upgrade_card[i]+'-card_colbox'].suspendPhysics()
# URL Python
if name_chap == "python":
name_fct = scene.objects['Doc_chap-python']['page_fct']
scene.objects['Book_python_url_title'].setVisible(False,True)
scene.objects['Book_python_url0'].setVisible(False,True)
scene.objects['Book_python_url1'].setVisible(False,True)
scene.objects['Book_python_url2'].setVisible(False,True)
if name_fct !="":
scene.objects['Book_python_url_title'].setVisible(True,True)
for i in range(len(card_description[name_fct][2])):
scene.objects['Book_python_url'+str(i)]['Text'] = card_description[name_fct][2][i][0]
scene.objects['Book_python_url'+str(i)].setVisible(True,True)
# Afficher le texte de la carte active
if name_chap != "general":
if scene.objects['Doc_chap-'+name_chap]['page_fct'] !="":
@ -293,6 +350,8 @@ def hl (cont):
# Close
if name == "Doc_close" or name == "Book_level_button":
scene.objects[name].color = color_doc_hl
elif name == "Book_python_url0" or name == "Book_python_url1" or name == "Book_python_url2":
scene.objects[name].color = color_doc_hl
else:
if "Doc-" in name : # Chapitre
if name[4:] == scene.objects['Doc']['page_chap']:
@ -322,6 +381,8 @@ def hl (cont):
# Close
if name == "Doc_close" or name == "Book_level_button":
scene.objects[name].color = color_doc_fct
elif name == "Book_python_url0" or name == "Book_python_url1" or name == "Book_python_url2":
scene.objects[name].color = color_doc_fct
else:
if "Doc-" in name : # Chapitre
if name[4:] == scene.objects['Doc']['page_chap']:
@ -392,6 +453,19 @@ def chapter(cont):
scene.objects[upgrade_card[i]+'-card'].setVisible(False,True)
scene.objects[upgrade_card[i]+'-card-colbox'].suspendPhysics()
# URL Python
if name_chap == "python":
name_fct = scene.objects['Doc_chap-python']['page_fct']
scene.objects['Book_python_url_title'].setVisible(False,True)
scene.objects['Book_python_url0'].setVisible(False,True)
scene.objects['Book_python_url1'].setVisible(False,True)
scene.objects['Book_python_url2'].setVisible(False,True)
if name_fct !="":
scene.objects['Book_python_url_title'].setVisible(True,True)
for i in range(len(card_description[name_fct][2])):
scene.objects['Book_python_url'+str(i)]['Text'] = card_description[name_fct][2][i][0]
scene.objects['Book_python_url'+str(i)].setVisible(True,True)
# Afficher le texte de la carte active
if name_chap != "general":
if scene.objects['Doc_chap-'+name_chap]['page_fct'] !="":
@ -444,6 +518,18 @@ def card (cont):
scene.objects['Doc_title'].setVisible(True, False)
scene.objects['Doc_text'].setVisible(True, False)
# URL Python
if name_chap == "python":
scene.objects['Book_python_url_title'].setVisible(False,True)
scene.objects['Book_python_url0'].setVisible(False,True)
scene.objects['Book_python_url1'].setVisible(False,True)
scene.objects['Book_python_url2'].setVisible(False,True)
if name_fct !="":
scene.objects['Book_python_url_title'].setVisible(True,True)
for i in range(len(card_description[name_fct][2])):
scene.objects['Book_python_url'+str(i)]['Text'] = card_description[name_fct][2][i][0]
scene.objects['Book_python_url'+str(i)].setVisible(True,True)
# Sélection de la mission
if "mission_" in name_fct :
if scene.objects[name_fct]['mission'] <= scene.objects['Points']['level'] and scene.objects[name_fct]['mission'] != scene.objects['Points']['mission']:
@ -471,6 +557,19 @@ def level_button (cont):
scene.objects['Book_mission']['Text'] = "Mission en cours : "+str(scene.objects['Points']['mission'])
scene.objects['Book_level_button'].setVisible(False,True)
##
# Aller à la page Python externe
##
def python_link (cont):
if cont.sensors['Click'].status == JUST_ACTIVATED and cont.sensors['MO'].positive :
# sound_play (snd_click)
name_fct = scene.objects['Doc_chap-python']['page_fct']
if name_fct !="":
i= cont.owner.name[15:-7]
print (i)
webbrowser.open(card_description[name_fct][2][int(i)][1])
##
# Sounds
##

View File

@ -107,7 +107,8 @@ missions_task.update({"5" : [mission_5_task]})
# Mission 6
mission_6_title="Mission 6\n Se rendre utile"
mission_6_text="\n \n Une zone précise du terrain présente \n des carottages afin d'analyser la \n roche. \n \n Les lieux de forage sont définis de \n manière aléatoire (encore !), pour les \n réaliser, Ropy doit donc passer sur \n toutes les cases de la zone. \n \n \n \n \n \n \n"
mission_6_text="\n \n Une zone du terrain doit être explorée.\n Il faut procéder à des carottages afin \n d'analyser la roche. \n\n"
mission_6_text= mission_6_text + "Les lieux de forage sont définis de \n manière aléatoire (encore !), pour les \n réaliser, Ropy doit donc passer sur \n toutes les cases de la zone. \n \n \n \n \n \n \n"
mission_6_task = "- Passer sur les 10 \n lieux de forage"
mission_6_init=[0.0,0.0, "e"] # Position aléatoire tourné vers l'est -> défini dans le reset
mission_6_aim=[100.0,100.0] # Aim caché -> ramassage de pierre
@ -196,12 +197,12 @@ def map_reset():
mission_aim = missions_conf[str(scene.objects['Points']['mission'])][1]
# Cacher les balises
scene.objects['Terrain']['map_tile_beacon']= []
for i in range (200):
beacon = scene.objects["Beacon-"+str(i)]
beacon.worldPosition=[29,1+i,0.2]
beacon.setVisible(False,True)
beacon['activated']=False
scene.objects['Terrain']['map_tile_beacon']= []
# Initialisation du rover
obj = scene.objects['Rover']
@ -216,7 +217,7 @@ def map_reset():
if mission_init[2] == "w":
obj.applyRotation((0, 0, -math.pi/2), True)
# Initialisation du rover pour les missions 5 et 6 : position aléatoire entre -3.0 ; 5.0 et 1.0 ; -10.0
# Initialisation du rover pour les missions 5 et 6 : position aléatoire entre -3 ; 5 et 1 ; -10
if scene.objects['Points']['mission']==5 or scene.objects['Points']['mission']==6:
position_ok=False
while position_ok==False: # Exclusion de certaines cases
@ -232,13 +233,37 @@ def map_reset():
if obj.worldPosition.x== 1 and obj.worldPosition.y== -10:
position_ok=False
# Initialisation des objectifs
scene.objects['Terrain']['map_aim']= [[mission_aim[0],mission_aim[1]]]
obj_aim = scene.objects['Aim']
obj_aim.worldPosition.x = mission_aim[0]
obj_aim.worldPosition.y = mission_aim[1]
obj_aim.worldPosition.z = 0.5
# Initialisation de l'objectif (mission de 1 à 5)
if scene.objects['Points']['mission']!=6:
scene.objects['Terrain']['map_aim']= [[mission_aim[0],mission_aim[1]]]
obj_aim = scene.objects['Aim']
obj_aim.worldPosition.x = mission_aim[0]
obj_aim.worldPosition.y = mission_aim[1]
obj_aim.worldPosition.z = 0.5
# Initialisation des 10 lieux de forage pour la mission 6 : position aléatoire entre 3 ; 0 et 12 ; 9
if scene.objects['Points']['mission']==6:
obj_aim = scene.objects['Aim'] # Cacher l'objectif unique
obj_aim.worldPosition.x = mission_aim[0]
obj_aim.worldPosition.y = mission_aim[1]
obj_aim.worldPosition.z = 0.5
scene.objects['Terrain']['map_aim']=[]
# bpy.data.materials["Grid-Holo"].node_tree.nodes["Émission"].inputs[1].default_value =5
for i in range (10):
position_ok=False
while position_ok==False: # Exclusion de certaines cases
x1= random.randint(3,12)
y1= random.randint(0,9)
# print (x1,y1)
if [x1,y1] in scene.objects['Terrain']['map_aim']:
position_ok=False
else:
scene.objects['Drill_aim-'+str(i)].worldPosition.x = x1
scene.objects['Drill_aim-'+str(i)].worldPosition.y = y1
scene.objects['Drill_aim-'+str(i)].worldPosition.z = 0.5
scene.objects['Terrain']['map_aim'].append([x1,y1])
scene.objects['Drill_aim-'+str(i)].setVisible(True,True)
position_ok=True
###############################################################################
# Objectif