{
    "componentChunkName": "component---src-templates-course-content-template-js",
    "path": "/osa-14/4-ditt-eget-sepl",
    "result": {"data":{"page":{"htmlAst":{"type":"root","children":[{"type":"element","tagName":"h2","properties":{"id":"den-sista-programmeringsovningen","style":"position:relative;"},"children":[{"type":"text","value":"Den sista programmeringsövningen"},{"type":"element","tagName":"a","properties":{"href":"#den-sista-programmeringsovningen","ariaLabel":"den sista programmeringsovningen permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Den sista programmeringsövningen på den här kursen är att skapa ett eget litet spel med pygame. Övningsmallen innehåller några bilder som du kan använda. Använd inte andra bilder i ditt spel för då kommer andra inte att kunna testa ditt spel enbart baserat på källkoden."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Vad spelet handlar om är upp till dig, men det bör vara ungefär lika komplicerat som Sokoban-exemplet i denna del av materialet. Spelet bör innehålla följande funktioner:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Spelet har en sprite som spelaren kan röra sig med på något sätt"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Spelet har några föremål som går att samla på och/eller fiender"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Spelaren måste få en tydlig uppgift i spelet"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Spelet innehåller en räknare som talar om för spelaren hur det går i spelet"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Källkoden för spelet är indelad i funktioner som i Sokoban-exemplet"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"När spelet är klart kan du skicka in det för granskning av andra spelare med hjälp av nedanstående formulär. Efter detta ska du bekanta dig med två av dina kurskamraters spel, ge spelen ett betyg som du anser lämpligt och skriva en kort recension av spelet. Ta hänsyn till både hur intressant och spelbart spelet var, och hur läsbar programkoden är när du betygsätter och recenserar spelen."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"skicka-in-spelet","style":"position:relative;"},"children":[{"type":"text","value":"Skicka in spelet"},{"type":"element","tagName":"a","properties":{"href":"#skicka-in-spelet","ariaLabel":"skicka in spelet permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Du ska skicka in källkoden till ditt spel via TMC:s Paste-funktion och inkludera länken du får i formuläret nedan."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Med din lösning öppen i redigeraren klickar du på TMC-menyknappen i Visual Studio Code (bredvid ögonsymbolen). Detta öppnar en meny där du kan leta efter TMC Paste-funktionen genom att skriva in "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"send"}]},{"type":"text","value":":"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 626px; margin-bottom: 1rem;"},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/static/6bf3f5cce371044c253dc34c755ee566/af590/tmc_paste_1.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 10.869565217391305%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAIAAADXZGvcAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAWElEQVQI12PQsfGwDYy38o208Aw1tPcwsHM3tPcwtPfQtXbVwY307b2U1bUZhHXs+c1D+I19hY09lUwc5Y0c5IzslUwdhTUt+NXMBNSxIEF1M1lDeylFNQBUlRfSchJdXQAAAABJRU5ErkJggg=='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/6bf3f5cce371044c253dc34c755ee566/a0b58/tmc_paste_1.webp 230w","/static/6bf3f5cce371044c253dc34c755ee566/bc10c/tmc_paste_1.webp 460w","/static/6bf3f5cce371044c253dc34c755ee566/63b03/tmc_paste_1.webp 626w"],"sizes":"(max-width: 626px) 100vw, 626px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/6bf3f5cce371044c253dc34c755ee566/81c8e/tmc_paste_1.png 230w","/static/6bf3f5cce371044c253dc34c755ee566/08a84/tmc_paste_1.png 460w","/static/6bf3f5cce371044c253dc34c755ee566/af590/tmc_paste_1.png 626w"],"sizes":"(max-width: 626px) 100vw, 626px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/static/6bf3f5cce371044c253dc34c755ee566/af590/tmc_paste_1.png","alt":"tmc paste 1","title":"tmc paste 1","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Välj alternativet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"Send Exercise to TMC Paste"}]},{"type":"text","value":", sedan borde det finnas en notifikation i det nedre högra hörnet av fönstret som berättar att källkoden har skickats till TMC-servern:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 463px; margin-bottom: 1rem;"},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/static/8513d666220a4b7cb4b0fe987d121287/71ce0/tmc_paste_2.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 26.521739130434778%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAIAAADKYVtkAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA40lEQVQY02XKW3KEIBQEUPeRivLwKggCFy4wTh46TrKG/GQXs4asJFloasxnuk519Uc3nQ7KZevROJwOxidQpuXQyaGTYyugFcMBWK8Y6NGiDcTU3HAdqb68v+2X7bK9btu6Xvf96bxEjBHRe59SSjGlRJnIGtML7t1cIvbaNm0/aqVjooDR++BcQIz3Zy6ZckqZ8rFLrfXkneMTMkPdFDuNDUzhVAgxLsu5llJzrqVmIgAQQkgppRBS/EUKxvjnl7392Nv3w/rRtDCBsr0yoCzo+eg7Mej/eK9YeOb5yml/NPkXc5s2qFqAD9IAAAAASUVORK5CYII='); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/8513d666220a4b7cb4b0fe987d121287/a0b58/tmc_paste_2.webp 230w","/static/8513d666220a4b7cb4b0fe987d121287/bc10c/tmc_paste_2.webp 460w","/static/8513d666220a4b7cb4b0fe987d121287/a7d21/tmc_paste_2.webp 463w"],"sizes":"(max-width: 463px) 100vw, 463px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/8513d666220a4b7cb4b0fe987d121287/81c8e/tmc_paste_2.png 230w","/static/8513d666220a4b7cb4b0fe987d121287/08a84/tmc_paste_2.png 460w","/static/8513d666220a4b7cb4b0fe987d121287/71ce0/tmc_paste_2.png 463w"],"sizes":"(max-width: 463px) 100vw, 463px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/static/8513d666220a4b7cb4b0fe987d121287/71ce0/tmc_paste_2.png","alt":"tmc paste 2","title":"tmc paste 2","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Du kan kopiera länken genom att klicka på knappen "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"Open URL"}]},{"type":"text","value":" i meddelandet. En popup borde visas och den ska innehålla alternativet "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"Copy"}]},{"type":"text","value":":"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-wrapper"],"style":"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 463px; margin-bottom: 1rem;"},"children":[{"type":"text","value":"\n      "},{"type":"element","tagName":"a","properties":{"className":["gatsby-resp-image-link"],"href":"/static/9de4d62e51a1cf0025cc5500310d1edf/71ce0/tmc_paste_3.png","style":"display: block","target":"_blank","rel":["noopener"]},"children":[{"type":"text","value":"\n    "},{"type":"element","tagName":"span","properties":{"className":["gatsby-resp-image-background-image"],"style":"padding-bottom: 31.304347826086953%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABHUlEQVQY002Ly07CQBhG+8A+lQuXunGLISyUpAO4oUiAkrbQmfnn2s6FztRSA4nRLydfchYnqfKdrMsiP56KgjE2fMcYuj6GGG//j7v2IYbOex9jnEwmyWwLT0vpXFBtZ1zUJjY2qjYY17e2b13f2Nje6LUJXHXG9dfrMI5jmqbJ4/z88HLyPhDhhL5Q6YV2VFiuPIaWcINpQ7ipaUOFxdy1NgzDb+ycG8fRaCk5tEoqKSRnQIngjAGVQmgpgBJSny8XP973FzPGStBZXu8qWhDJOQcApZSUEgA4F0prxhgAUABCCMaYEGKtnU6nCRD8ecDPb+nrbJluq2N+QAiVZVmVxQItsmyDMc7W6/n7x2q5WiCEUoTSdLP52u/3P8PDR9k+xN7gAAAAAElFTkSuQmCC'); background-size: cover; display: block;"},"children":[]},{"type":"text","value":"\n  "},{"type":"element","tagName":"picture","properties":{},"children":[{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/9de4d62e51a1cf0025cc5500310d1edf/a0b58/tmc_paste_3.webp 230w","/static/9de4d62e51a1cf0025cc5500310d1edf/bc10c/tmc_paste_3.webp 460w","/static/9de4d62e51a1cf0025cc5500310d1edf/a7d21/tmc_paste_3.webp 463w"],"sizes":"(max-width: 463px) 100vw, 463px","type":"image/webp"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"source","properties":{"srcSet":["/static/9de4d62e51a1cf0025cc5500310d1edf/81c8e/tmc_paste_3.png 230w","/static/9de4d62e51a1cf0025cc5500310d1edf/08a84/tmc_paste_3.png 460w","/static/9de4d62e51a1cf0025cc5500310d1edf/71ce0/tmc_paste_3.png 463w"],"sizes":"(max-width: 463px) 100vw, 463px","type":"image/png"},"children":[]},{"type":"text","value":"\n          "},{"type":"element","tagName":"img","properties":{"className":["gatsby-resp-image-image"],"src":"/static/9de4d62e51a1cf0025cc5500310d1edf/71ce0/tmc_paste_3.png","alt":"tmc paste 3","title":"tmc paste 3","loading":"lazy","decoding":"async","style":"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"},"children":[]},{"type":"text","value":"\n        "}]},{"type":"text","value":"\n  "}]},{"type":"text","value":"\n    "}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Det här är länken som du ska klistra in i formuläret nedan."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"hur-modul-14-betygsatts","style":"position:relative;"},"children":[{"type":"text","value":"Hur modul 14 betygsätts"},{"type":"element","tagName":"a","properties":{"href":"#hur-modul-14-betygsatts","ariaLabel":"hur modul 14 betygsatts permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Målet med den här delen är att bygga ett litet, fungerande spel. Eftersom den här delen bara innehåller en enda uppgift får du poäng för ansträngning. Skicka in ditt spel även om du inte kan få det att fungera riktigt som du ville."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Om ditt spel inte fungerar som du tänkt dig, bifoga kommentarer i din kod om hur det borde fungera, eller eventuella funktioner som du tycker saknas men inte lyckats implementera."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Om ett spel som du recenserar är ofullständigt eller inte fungerar riktigt som det ska får du gärna kommentera vad du tycker att man kunde ha gjort för att få det att fungera, ifall det är möjligt."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"nagra-spelideer","style":"position:relative;"},"children":[{"type":"text","value":"Några spelidéer"},{"type":"element","tagName":"a","properties":{"href":"#nagra-spelideer","ariaLabel":"nagra spelideer permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Det är helt upp till dig vad ditt spel ska handla om, men här är några idéer som kan hjälpa dig att komma igång. Kom ihåg materialet i modul 13; de exemplen kan också hjälpa dig att arbeta med dina idéer."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"ett-samlingsspel","style":"position:relative;"},"children":[{"type":"text","value":"Ett samlingsspel"},{"type":"element","tagName":"a","properties":{"href":"#ett-samlingsspel","ariaLabel":"ett samlingsspel permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Spelaren flyttar roboten med piltangenterna."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Ett mynt dyker upp på en slumpmässig plats på skärmen. När roboten når fram till myntet flyttas det till en ny plats."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Det finns också monster på skärmen och roboten måste undvika dem."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h3","properties":{"id":"myntregn","style":"position:relative;"},"children":[{"type":"text","value":"Myntregn"},{"type":"element","tagName":"a","properties":{"href":"#myntregn","ariaLabel":"myntregn permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Spelaren flyttar roboten till vänster och höger längs skärmens nedre kant."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Mynt regnar från himlen. Dessa måste roboten samla in."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Det regnar också monster från himlen. Roboten måste undvika dessa."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"kollegial-granskning","style":"position:relative;"},"children":[{"type":"text","value":"Kollegial granskning"},{"type":"element","tagName":"a","properties":{"href":"#kollegial-granskning","ariaLabel":"kollegial granskning permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Du ska bedöma spelet utifrån följande kriterier:"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Hur ser spelet ut?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Är spelet spelbart? Är det roligt att spela och lätt att använda?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Är spelet spelbart? Är det roligt att spela och lätt att använda?"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"li","properties":{},"children":[{"type":"text","value":"Hur väl är det programmerat? Är koden läsbar och används klasser och funktioner på rätt sätt?"}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"En bra recension brukar peka ut både bra funktioner och några förslag till förbättringar."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"quiz","properties":{"id":"b1f7b5af-8f37-5396-a225-772b396afeae"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"h2","properties":{"id":"frageformular-for-att-avsluta","style":"position:relative;"},"children":[{"type":"text","value":"Frågeformulär för att avsluta"},{"type":"element","tagName":"a","properties":{"href":"#frageformular-for-att-avsluta","ariaLabel":"frageformular for att avsluta permalink","className":["anchor","after"]},"children":[{"type":"element","tagName":"svg","properties":{"ariaHidden":"true","focusable":"false","height":"16","version":"1.1","viewBox":"0 0 16 16","width":"16"},"children":[{"type":"element","tagName":"path","properties":{"fillRule":"evenodd","d":"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"},"children":[]}]}]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Först ber vi dig svara på en snabb enkät om den här delen av kursen."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"quiz","properties":{"id":"4d56408c-179d-5ac2-8ccb-47b067554848"},"children":[]}]},{"type":"text","value":"\n"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Vänligen svara också på kursens feedbackformulär. Enkätens svar hjälper oss att förbättra kursen."}]},{"type":"text","value":"\n"},{"type":"element","tagName":"div","properties":{},"children":[{"type":"element","tagName":"quiz","properties":{"id":"70b58970-49d5-5ef1-9dc7-425fe8ae44c9"},"children":[]}]}],"data":{"quirksMode":false}},"html":"<h2 id=\"den-sista-programmeringsovningen\" style=\"position:relative;\">Den sista programmeringsövningen<a href=\"#den-sista-programmeringsovningen\" aria-label=\"den sista programmeringsovningen permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2>\n<p>Den sista programmeringsövningen på den här kursen är att skapa ett eget litet spel med pygame. Övningsmallen innehåller några bilder som du kan använda. Använd inte andra bilder i ditt spel för då kommer andra inte att kunna testa ditt spel enbart baserat på källkoden.</p>\n<p>Vad spelet handlar om är upp till dig, men det bör vara ungefär lika komplicerat som Sokoban-exemplet i denna del av materialet. Spelet bör innehålla följande funktioner:</p>\n<ul>\n<li>Spelet har en sprite som spelaren kan röra sig med på något sätt</li>\n<li>Spelet har några föremål som går att samla på och/eller fiender</li>\n<li>Spelaren måste få en tydlig uppgift i spelet</li>\n<li>Spelet innehåller en räknare som talar om för spelaren hur det går i spelet</li>\n<li>Källkoden för spelet är indelad i funktioner som i Sokoban-exemplet</li>\n</ul>\n<p>När spelet är klart kan du skicka in det för granskning av andra spelare med hjälp av nedanstående formulär. Efter detta ska du bekanta dig med två av dina kurskamraters spel, ge spelen ett betyg som du anser lämpligt och skriva en kort recension av spelet. Ta hänsyn till både hur intressant och spelbart spelet var, och hur läsbar programkoden är när du betygsätter och recenserar spelen.</p>\n<h3 id=\"skicka-in-spelet\" style=\"position:relative;\">Skicka in spelet<a href=\"#skicka-in-spelet\" aria-label=\"skicka in spelet permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h3>\n<p>Du ska skicka in källkoden till ditt spel via TMC:s Paste-funktion och inkludera länken du får i formuläret nedan.</p>\n<p>Med din lösning öppen i redigeraren klickar du på TMC-menyknappen i Visual Studio Code (bredvid ögonsymbolen). Detta öppnar en meny där du kan leta efter TMC Paste-funktionen genom att skriva in <code class=\"language-text\">send</code>:</p>\n<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 626px; margin-bottom: 1rem;\">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/6bf3f5cce371044c253dc34c755ee566/af590/tmc_paste_1.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 10.869565217391305%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAIAAADXZGvcAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAWElEQVQI12PQsfGwDYy38o208Aw1tPcwsHM3tPcwtPfQtXbVwY307b2U1bUZhHXs+c1D+I19hY09lUwc5Y0c5IzslUwdhTUt+NXMBNSxIEF1M1lDeylFNQBUlRfSchJdXQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"></span>\n  <picture>\n          <source srcset=\"/static/6bf3f5cce371044c253dc34c755ee566/a0b58/tmc_paste_1.webp 230w,\n/static/6bf3f5cce371044c253dc34c755ee566/bc10c/tmc_paste_1.webp 460w,\n/static/6bf3f5cce371044c253dc34c755ee566/63b03/tmc_paste_1.webp 626w\" sizes=\"(max-width: 626px) 100vw, 626px\" type=\"image/webp\">\n          <source srcset=\"/static/6bf3f5cce371044c253dc34c755ee566/81c8e/tmc_paste_1.png 230w,\n/static/6bf3f5cce371044c253dc34c755ee566/08a84/tmc_paste_1.png 460w,\n/static/6bf3f5cce371044c253dc34c755ee566/af590/tmc_paste_1.png 626w\" sizes=\"(max-width: 626px) 100vw, 626px\" type=\"image/png\">\n          <img class=\"gatsby-resp-image-image\" src=\"/static/6bf3f5cce371044c253dc34c755ee566/af590/tmc_paste_1.png\" alt=\"tmc paste 1\" title=\"tmc paste 1\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n        </picture>\n  </a>\n    </span>\n<p>Välj alternativet <code class=\"language-text\">Send Exercise to TMC Paste</code>, sedan borde det finnas en notifikation i det nedre högra hörnet av fönstret som berättar att källkoden har skickats till TMC-servern:</p>\n<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 463px; margin-bottom: 1rem;\">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/8513d666220a4b7cb4b0fe987d121287/71ce0/tmc_paste_2.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 26.521739130434778%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAIAAADKYVtkAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA40lEQVQY02XKW3KEIBQEUPeRivLwKggCFy4wTh46TrKG/GQXs4asJFloasxnuk519Uc3nQ7KZevROJwOxidQpuXQyaGTYyugFcMBWK8Y6NGiDcTU3HAdqb68v+2X7bK9btu6Xvf96bxEjBHRe59SSjGlRJnIGtML7t1cIvbaNm0/aqVjooDR++BcQIz3Zy6ZckqZ8rFLrfXkneMTMkPdFDuNDUzhVAgxLsu5llJzrqVmIgAQQkgppRBS/EUKxvjnl7392Nv3w/rRtDCBsr0yoCzo+eg7Mej/eK9YeOb5yml/NPkXc5s2qFqAD9IAAAAASUVORK5CYII='); background-size: cover; display: block;\"></span>\n  <picture>\n          <source srcset=\"/static/8513d666220a4b7cb4b0fe987d121287/a0b58/tmc_paste_2.webp 230w,\n/static/8513d666220a4b7cb4b0fe987d121287/bc10c/tmc_paste_2.webp 460w,\n/static/8513d666220a4b7cb4b0fe987d121287/a7d21/tmc_paste_2.webp 463w\" sizes=\"(max-width: 463px) 100vw, 463px\" type=\"image/webp\">\n          <source srcset=\"/static/8513d666220a4b7cb4b0fe987d121287/81c8e/tmc_paste_2.png 230w,\n/static/8513d666220a4b7cb4b0fe987d121287/08a84/tmc_paste_2.png 460w,\n/static/8513d666220a4b7cb4b0fe987d121287/71ce0/tmc_paste_2.png 463w\" sizes=\"(max-width: 463px) 100vw, 463px\" type=\"image/png\">\n          <img class=\"gatsby-resp-image-image\" src=\"/static/8513d666220a4b7cb4b0fe987d121287/71ce0/tmc_paste_2.png\" alt=\"tmc paste 2\" title=\"tmc paste 2\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n        </picture>\n  </a>\n    </span>\n<p>Du kan kopiera länken genom att klicka på knappen <code class=\"language-text\">Open URL</code> i meddelandet. En popup borde visas och den ska innehålla alternativet <code class=\"language-text\">Copy</code>:</p>\n<span class=\"gatsby-resp-image-wrapper\" style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 463px; margin-bottom: 1rem;\">\n      <a class=\"gatsby-resp-image-link\" href=\"/static/9de4d62e51a1cf0025cc5500310d1edf/71ce0/tmc_paste_3.png\" style=\"display: block\" target=\"_blank\" rel=\"noopener\">\n    <span class=\"gatsby-resp-image-background-image\" style=\"padding-bottom: 31.304347826086953%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAA7DAAAOwwHHb6hkAAABHUlEQVQY002Ly07CQBhG+8A+lQuXunGLISyUpAO4oUiAkrbQmfnn2s6FztRSA4nRLydfchYnqfKdrMsiP56KgjE2fMcYuj6GGG//j7v2IYbOex9jnEwmyWwLT0vpXFBtZ1zUJjY2qjYY17e2b13f2Nje6LUJXHXG9dfrMI5jmqbJ4/z88HLyPhDhhL5Q6YV2VFiuPIaWcINpQ7ipaUOFxdy1NgzDb+ycG8fRaCk5tEoqKSRnQIngjAGVQmgpgBJSny8XP973FzPGStBZXu8qWhDJOQcApZSUEgA4F0prxhgAUABCCMaYEGKtnU6nCRD8ecDPb+nrbJluq2N+QAiVZVmVxQItsmyDMc7W6/n7x2q5WiCEUoTSdLP52u/3P8PDR9k+xN7gAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"></span>\n  <picture>\n          <source srcset=\"/static/9de4d62e51a1cf0025cc5500310d1edf/a0b58/tmc_paste_3.webp 230w,\n/static/9de4d62e51a1cf0025cc5500310d1edf/bc10c/tmc_paste_3.webp 460w,\n/static/9de4d62e51a1cf0025cc5500310d1edf/a7d21/tmc_paste_3.webp 463w\" sizes=\"(max-width: 463px) 100vw, 463px\" type=\"image/webp\">\n          <source srcset=\"/static/9de4d62e51a1cf0025cc5500310d1edf/81c8e/tmc_paste_3.png 230w,\n/static/9de4d62e51a1cf0025cc5500310d1edf/08a84/tmc_paste_3.png 460w,\n/static/9de4d62e51a1cf0025cc5500310d1edf/71ce0/tmc_paste_3.png 463w\" sizes=\"(max-width: 463px) 100vw, 463px\" type=\"image/png\">\n          <img class=\"gatsby-resp-image-image\" src=\"/static/9de4d62e51a1cf0025cc5500310d1edf/71ce0/tmc_paste_3.png\" alt=\"tmc paste 3\" title=\"tmc paste 3\" loading=\"lazy\" decoding=\"async\" style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\">\n        </picture>\n  </a>\n    </span>\n<p>Det här är länken som du ska klistra in i formuläret nedan.</p>\n<h2 id=\"hur-modul-14-betygsatts\" style=\"position:relative;\">Hur modul 14 betygsätts<a href=\"#hur-modul-14-betygsatts\" aria-label=\"hur modul 14 betygsatts permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2>\n<p>Målet med den här delen är att bygga ett litet, fungerande spel. Eftersom den här delen bara innehåller en enda uppgift får du poäng för ansträngning. Skicka in ditt spel även om du inte kan få det att fungera riktigt som du ville.</p>\n<p>Om ditt spel inte fungerar som du tänkt dig, bifoga kommentarer i din kod om hur det borde fungera, eller eventuella funktioner som du tycker saknas men inte lyckats implementera.</p>\n<p>Om ett spel som du recenserar är ofullständigt eller inte fungerar riktigt som det ska får du gärna kommentera vad du tycker att man kunde ha gjort för att få det att fungera, ifall det är möjligt.</p>\n<h2 id=\"nagra-spelideer\" style=\"position:relative;\">Några spelidéer<a href=\"#nagra-spelideer\" aria-label=\"nagra spelideer permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2>\n<p>Det är helt upp till dig vad ditt spel ska handla om, men här är några idéer som kan hjälpa dig att komma igång. Kom ihåg materialet i modul 13; de exemplen kan också hjälpa dig att arbeta med dina idéer.</p>\n<h3 id=\"ett-samlingsspel\" style=\"position:relative;\">Ett samlingsspel<a href=\"#ett-samlingsspel\" aria-label=\"ett samlingsspel permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h3>\n<ul>\n<li>Spelaren flyttar roboten med piltangenterna.</li>\n<li>Ett mynt dyker upp på en slumpmässig plats på skärmen. När roboten når fram till myntet flyttas det till en ny plats.</li>\n<li>Det finns också monster på skärmen och roboten måste undvika dem.</li>\n</ul>\n<h3 id=\"myntregn\" style=\"position:relative;\">Myntregn<a href=\"#myntregn\" aria-label=\"myntregn permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h3>\n<ul>\n<li>Spelaren flyttar roboten till vänster och höger längs skärmens nedre kant.</li>\n<li>Mynt regnar från himlen. Dessa måste roboten samla in.</li>\n<li>Det regnar också monster från himlen. Roboten måste undvika dessa.</li>\n</ul>\n<h2 id=\"kollegial-granskning\" style=\"position:relative;\">Kollegial granskning<a href=\"#kollegial-granskning\" aria-label=\"kollegial granskning permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2>\n<p>Du ska bedöma spelet utifrån följande kriterier:</p>\n<ul>\n<li>Hur ser spelet ut?</li>\n<li>Är spelet spelbart? Är det roligt att spela och lätt att använda?</li>\n<li>Är spelet spelbart? Är det roligt att spela och lätt att använda?</li>\n<li>Hur väl är det programmerat? Är koden läsbar och används klasser och funktioner på rätt sätt?</li>\n</ul>\n<p>En bra recension brukar peka ut både bra funktioner och några förslag till förbättringar.</p>\n<div><quiz id=\"b1f7b5af-8f37-5396-a225-772b396afeae\"></quiz></div>\n<h2 id=\"frageformular-for-att-avsluta\" style=\"position:relative;\">Frågeformulär för att avsluta<a href=\"#frageformular-for-att-avsluta\" aria-label=\"frageformular for att avsluta permalink\" class=\"anchor after\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a></h2>\n<p>Först ber vi dig svara på en snabb enkät om den här delen av kursen.</p>\n<div><quiz id=\"4d56408c-179d-5ac2-8ccb-47b067554848\"></quiz></div>\n<p>Vänligen svara också på kursens feedbackformulär. Enkätens svar hjälper oss att förbättra kursen.</p>\n<div><quiz id=\"70b58970-49d5-5ef1-9dc7-425fe8ae44c9\"></quiz></div>","frontmatter":{"path":"/osa-14/4-ditt-eget-sepl","title":"Ditt eget spel"},"fileAbsolutePath":"/home/runner/work/ohjelmointi-26-sv/ohjelmointi-26-sv/data/osa-14/4-ditt-eget-spel.md"},"allPages":{"edges":[{"node":{"id":"3823106d-d5b4-54fc-ab67-c9717c628c00","frontmatter":{"path":"/","title":"Info om kursen"}}},{"node":{"id":"dd7e5652-0011-5cc2-8a7c-c07fca8a56ba","frontmatter":{"path":"/bedomningar-och-prov","title":"Bedömning och prov"}}},{"node":{"id":"7ee945da-eb70-5822-b337-58f9871c566a","frontmatter":{"path":"/alla-uppgifter","title":"Alla uppgifter"}}},{"node":{"id":"6e80e276-0b56-526e-93d9-5ab8823c6611","frontmatter":{"path":"/frontmatter-guide","title":"Frontmatter-guide"}}},{"node":{"id":"7dadae75-1bf2-549f-bb24-5e00c8421489","frontmatter":{"path":"/stod","title":"Handledning och stöd"}}},{"node":{"id":"b1f9be34-f77d-51c9-83c2-d2d3b1f88e7c","frontmatter":{"path":"/onlinetent","title":"Nättentamen 4.6."}}},{"node":{"id":"4e153253-62e1-5e29-b920-4512181e99a0","frontmatter":{"path":"/onlinetent-ohja","title":"ProgFK onlinetent 28.2.2026"}}},{"node":{"id":"5ba54609-9e23-5f8a-bbb1-3501116bd674","frontmatter":{"path":"/onlinetent-ohpe","title":"ProgGK onlinetent 17.1.2026"}}},{"node":{"id":"15a016f4-0a3d-5ec9-8236-533e57968b89","frontmatter":{"path":"/felanmalningar","title":"Vanliga felmeddelanden"}}},{"node":{"id":"416d07bf-b149-5ede-9d73-ea96ebbe00a2","frontmatter":{"path":"/sanasto","title":"Sanasto"}}},{"node":{"id":"70c6dbee-fa15-5924-a037-5b093295a075","frontmatter":{"path":"/osa-1/1-introduktion","title":"Introduktion"}}},{"node":{"id":"677341cb-d819-5a66-a348-fe483d9d22dd","frontmatter":{"path":"/ofta-stallda-fragar","title":"Ofta ställda frågor"}}},{"node":{"id":"10acce17-6b8d-5a7a-96ef-df73c32033da","frontmatter":{"path":"/osa-1/5-villkorssatser","title":"If-satser"}}},{"node":{"id":"adf0c95e-e532-52ac-acb7-41ecca35f001","frontmatter":{"path":"/osa-1","title":"Modul 1"}}},{"node":{"id":"337cbcae-fea0-535f-a4b7-07d0558220d7","frontmatter":{"path":"/osa-1/4-rakneoperationer","title":"Räkneoperationer"}}},{"node":{"id":"94008673-2d10-5ad1-af95-83b5478b3113","frontmatter":{"path":"/osa-10/1-klasshierarkier","title":"Klasshierarkier"}}},{"node":{"id":"3d48575e-5585-5b61-81ed-fe7585ea7593","frontmatter":{"path":"/osa-10/2-atkamstmodifierare","title":"Åtkomstmodifierare"}}},{"node":{"id":"fd6c2729-204f-5955-84d7-1ee8ed9b243b","frontmatter":{"path":"/osa-10/3-objektorienterade-programmeringstekniker","title":"Objektorienterade programmeringstekniker"}}},{"node":{"id":"648ed3ec-8a44-533a-9b88-7ef8fb7a1314","frontmatter":{"path":"/osa-10/4-storre-applikation","title":"Att utveckla en större applikation"}}},{"node":{"id":"abc32f5b-5700-5a16-b351-3bb0fd9e9b3f","frontmatter":{"path":"/osa-10","title":"Modul 10"}}},{"node":{"id":"b6612d3d-6ef9-5537-b0cf-62a01d4de20e","frontmatter":{"path":"/osa-1/3-mer-om-variabler","title":"Mer om variabler"}}},{"node":{"id":"b4146f07-9889-567c-bb26-315ca8375738","frontmatter":{"path":"/osa-11/1-list-comprehension","title":"Listbyggare"}}},{"node":{"id":"959073ca-1000-5d61-98e3-6a7151d95d71","frontmatter":{"path":"/osa-1/2-info-fran-anvandaren","title":"Information från användaren"}}},{"node":{"id":"a8daa43b-12ea-5482-9768-648407360e5d","frontmatter":{"path":"/osa-11/3-rekursion","title":"Rekursion"}}},{"node":{"id":"4dfa0d82-937f-597e-a323-1ffa57da8548","frontmatter":{"path":"/osa-11/2-mer-om-comprehensions","title":"Mer om listbyggare"}}},{"node":{"id":"848a81c4-fc8c-55cf-99ad-333703ef6d09","frontmatter":{"path":"/osa-11/4-lisaa-esimerkkeja","title":"Fler exempel på rekursion"}}},{"node":{"id":"bd0cfdba-8571-59be-bcfc-b681838806c6","frontmatter":{"path":"/osa-11","title":"Modul 11"}}},{"node":{"id":"d2e288a6-dc52-5b69-b9c9-7c967e3ecd14","frontmatter":{"path":"/osa-12/3-funktionell-programmering","title":"Funktionell programmering"}}},{"node":{"id":"e4a0179a-cac6-5b2f-b1d0-e0db6f5b4339","frontmatter":{"path":"/osa-12/4-reguljara-uttryck","title":"Reguljära uttryck"}}},{"node":{"id":"655d9900-5214-5ba4-88d7-a81fd819b0a0","frontmatter":{"path":"/osa-12","title":"Modul 12"}}},{"node":{"id":"10a6b4aa-f106-50e6-9d72-39e500891fd8","frontmatter":{"path":"/osa-12/2-generatorer","title":"Generatorer"}}},{"node":{"id":"af6df246-f5d2-583d-9f07-5aa9736ff64f","frontmatter":{"path":"/osa-13/1-pygame","title":"Pygame"}}},{"node":{"id":"d7395cb0-da7f-5acf-bf09-fd1035b36e81","frontmatter":{"path":"/osa-13/2-animation","title":"Animation"}}},{"node":{"id":"fef7b1d3-58ba-5d58-8637-0e14a8f584a6","frontmatter":{"path":"/osa-12/1-funktioner-som-argument","title":"Funktioner som argument"}}},{"node":{"id":"bd405169-a47c-5eba-986b-4506b39036ac","frontmatter":{"path":"/osa-13/4-fler-pygame-tekniker","title":"Fler pygame-tekniker"}}},{"node":{"id":"a9357b87-636c-5d96-b46b-bbb6a421f6d0","frontmatter":{"path":"/osa-13/3-handelser","title":"Händelser"}}},{"node":{"id":"78b8d6cc-7e14-5090-b43c-1513e8069e0c","frontmatter":{"path":"/osa-13","title":"Modul 13"}}},{"node":{"id":"5f9e405b-ae8f-5181-b1ae-ff2f4e6ad6da","frontmatter":{"path":"/osa-14/1-spelprojekt","title":"Spelprojekt"}}},{"node":{"id":"6e0e1b55-3ed4-56a8-9580-cd451bb7edde","frontmatter":{"path":"/osa-14/2-robot-och-ladar","title":"Robot och lådor"}}},{"node":{"id":"7f22ddd1-54e5-548f-b8d1-07863a79e2df","frontmatter":{"path":"/osa-14","title":"Modul 14"}}},{"node":{"id":"fea4657b-129f-5bb5-8645-17f84341e4b6","frontmatter":{"path":"/osa-2/1-terminologi","title":"Programmeringsterminologi"}}},{"node":{"id":"8c86392d-05ca-5e03-bf19-9e18db4c3578","frontmatter":{"path":"/osa-2/2-else-elif","title":"Mera om if-satser"}}},{"node":{"id":"4272a508-fa3f-5c99-b0d0-ca0a77dcbd88","frontmatter":{"path":"/osa-2/3-kombinera-villkor","title":"Kombinera villkor"}}},{"node":{"id":"2a9f88b8-4fe8-5fcb-9dfe-b4d98dde5d42","frontmatter":{"path":"/osa-14/3-fardigstallande-av-spelet","title":"Färdigställande av spelet"}}},{"node":{"id":"a620e53b-7d15-54ea-9a40-5d549bf3fddc","frontmatter":{"path":"/osa-14/4-ditt-eget-sepl","title":"Ditt eget spel"}}},{"node":{"id":"6a0f5405-e6cb-581d-92e3-c8af9ad4e7c2","frontmatter":{"path":"/osa-3/1-loopar-med-villkor","title":"Loopar med villkor"}}},{"node":{"id":"a131e4e2-8f05-5986-ab20-e06d9ed60dbe","frontmatter":{"path":"/osa-3/2-behandla-strangar","title":"Behandla strängar"}}},{"node":{"id":"29bc027e-c4f5-5d80-9e6a-bca75ee73682","frontmatter":{"path":"/osa-3/3-mer-om-loopar","title":"Mera om loopar"}}},{"node":{"id":"ed81d1ed-bbbb-573c-a017-e49e4ccd3d56","frontmatter":{"path":"/osa-3/4-definiera-funktioner","title":"Definiera funktioner"}}},{"node":{"id":"f9cdcf8a-269d-5ddb-9346-9ca23e48ef7e","frontmatter":{"path":"/osa-3","title":"Modul 3"}}},{"node":{"id":"8c15b7c7-809b-5ea5-a801-7d20819960ea","frontmatter":{"path":"/osa-4/1-vscode","title":"Editorn Visual Studio Code, Pythontolken och det inbyggda debuggningsverktyget"}}},{"node":{"id":"0f597439-5fd6-5ebf-a758-51fa680510d6","frontmatter":{"path":"/osa-4/2-mer-om-funktioner","title":"Mer om funktioner"}}},{"node":{"id":"d61169f7-0d24-5b3c-8b8c-6f3001453119","frontmatter":{"path":"/osa-4/3-listor","title":"Listor"}}},{"node":{"id":"0cc0967d-12d5-5877-966c-83262ee2d053","frontmatter":{"path":"/osa-4/4-iteration","title":"Iteration"}}},{"node":{"id":"b7f5aab0-16f5-57ea-be99-ef776e766449","frontmatter":{"path":"/osa-4/5-utskrift","title":"Formatera utskrift"}}},{"node":{"id":"7ce1ae54-08a7-55c5-8fdf-e66c163be7c5","frontmatter":{"path":"/osa-4","title":"Modul 4"}}},{"node":{"id":"7616bfc3-86a8-51ad-a63d-f62e70d684f7","frontmatter":{"path":"/osa-5/1-mer-om-listor","title":"Mer om listor"}}},{"node":{"id":"2754089d-7b6b-5a07-98f8-ed47c35f0f1e","frontmatter":{"path":"/osa-5/2-referenser","title":"Referenser"}}},{"node":{"id":"e44de044-469b-5a0c-b484-8b1c6d76b36e","frontmatter":{"path":"/osa-5/4-tuple","title":"Tuple"}}},{"node":{"id":"1777675c-c2e5-5912-9351-6bf786995e74","frontmatter":{"path":"/osa-4/6-strangar-listor","title":"Mera strängar och listor"}}},{"node":{"id":"f5608366-0cdb-5799-ad10-c1ae5bf31ff5","frontmatter":{"path":"/osa-2/4-loopar","title":"Enkla loopar"}}},{"node":{"id":"335a567d-d08f-56d6-8449-9d4bfb7dbbf5","frontmatter":{"path":"/osa-2","title":"Modul 2"}}},{"node":{"id":"05201f8b-92c3-5f20-aa64-572c040a44ef","frontmatter":{"path":"/osa-6/2-skriva-filer","title":"Skriva filer"}}},{"node":{"id":"bc19aa61-1a37-5b73-bd20-0c3994c3a7cf","frontmatter":{"path":"/osa-6/3-fel","title":"Förbered dig på fel"}}},{"node":{"id":"9c4ca0dd-1be2-5b8f-a357-61049541022a","frontmatter":{"path":"/osa-6/1-lasa-filer","title":"Läsa filer"}}},{"node":{"id":"05a28a78-3f81-5cb4-8f94-9a16288789c8","frontmatter":{"path":"/osa-6/4-lokala-globala-variabler","title":"Lokala och globala variabler"}}},{"node":{"id":"2f89b471-3e51-5519-9173-c8029a4a5bf7","frontmatter":{"path":"/osa-6","title":"Modul 6"}}},{"node":{"id":"cda20318-6650-5b01-96a7-c8a9436ea427","frontmatter":{"path":"/osa-7/1-moduler","title":"Moduler"}}},{"node":{"id":"c0858900-47db-5c88-8875-147a8e652fe4","frontmatter":{"path":"/osa-5/3-lexikon","title":"Lexikon"}}},{"node":{"id":"11da0cd6-66de-5139-aeea-f6536ce49cca","frontmatter":{"path":"/osa-7/2-slumpmassighet","title":"Slump"}}},{"node":{"id":"2190a210-ac82-5c3e-8671-037f9247c83f","frontmatter":{"path":"/osa-7/3-tid-datum","title":"Tid och datum"}}},{"node":{"id":"9970fc94-eb27-5148-b31b-e887b737b7b4","frontmatter":{"path":"/osa-7/4-behandla-data","title":"Behandla data"}}},{"node":{"id":"9de0b38c-9ab2-5dca-918f-53f58d473b4e","frontmatter":{"path":"/osa-7/5-egna-moduler","title":"Skapa dina egna moduler"}}},{"node":{"id":"6c06e867-814c-5c2c-b0d6-d6cfaaf92234","frontmatter":{"path":"/osa-5","title":"Modul 5"}}},{"node":{"id":"f7d5f344-d3b4-56c6-bf18-45edc2245759","frontmatter":{"path":"/osa-8/4-metoder-i-egna-klasser","title":"Metoder i egna klasser"}}},{"node":{"id":"303465de-b86a-519b-b1b5-9711b03072d9","frontmatter":{"path":"/osa-8/5-fler-exempel","title":"Fler exempel"}}},{"node":{"id":"a85852ab-8cf8-52b4-8872-4c73d5821319","frontmatter":{"path":"/osa-9/1-objekt-och-referenser","title":"Objekt och referenser"}}},{"node":{"id":"b6cd6b79-fcb4-535d-8d00-b4f849f4647f","frontmatter":{"path":"/osa-9/3-inkapsling","title":"Inkapsling"}}},{"node":{"id":"c6757168-dbea-5c4f-aa4e-c2c3bb0ca423","frontmatter":{"path":"/osa-9/4-metodernas-rackvidd","title":"Metodernas räckvidd"}}},{"node":{"id":"601766bc-2985-5820-a4a3-32bbb761c69b","frontmatter":{"path":"/osa-7/6-funktionaliteter-python","title":"Flera funktionaliteter i Python"}}},{"node":{"id":"08ceb5d1-6e8e-599a-995d-a1125f7a1f80","frontmatter":{"path":"/osa-9/5-klassattribut","title":"Klassattribut"}}},{"node":{"id":"b1f13f0c-169e-519f-9f42-f572bebd8535","frontmatter":{"path":"/osa-9","title":"Modul 9"}}},{"node":{"id":"4b4101dc-9e1f-5a4a-bb4e-dbb6a4ba5e0d","frontmatter":{"path":"/osa-8/3-egna-klasser","title":"Egna klasser"}}},{"node":{"id":"35f36261-94d8-509f-9fcb-59b3e08fc6a1","frontmatter":{"path":"/osa-8/2-klasser-och-objekt","title":"Klasser och objekt"}}},{"node":{"id":"53079b0b-f0d2-5c35-83a0-4f713e57ce72","frontmatter":{"path":"/osa-8/1-objekt-och-metoder","title":"Objekt och metoder"}}},{"node":{"id":"954e5006-2925-5035-a27c-10e05897cfa4","frontmatter":{"path":"/osa-9/6-fler-exempel-med-klasser","title":"Fler exempel med klasser"}}},{"node":{"id":"f1eeb001-f445-57c9-b2e7-380dabc25b86","frontmatter":{"path":"/osa-8","title":"Modul 8"}}},{"node":{"id":"ccc63fff-7834-5270-b69c-944db644a9ad","frontmatter":{"path":"/osa-7","title":"Modul 7"}}},{"node":{"id":"75ae0566-a8bf-5305-aee3-4c5bc0d2d5e9","frontmatter":{"path":"/osa-9/2-objekt-som-attribut","title":"Objekt som attribut "}}}]}},"pageContext":{}},
    "staticQueryHashes": ["1357757885","994120085"]}