Programmering01 [prrprr01]

Projekt02 - Ett tärningsspel

Introduktion

Det har blivit dags att runda av kursen med det stora examinerande momentet. Du skall bygga ett tärningsspel som heter Game of 40.

Detta projekt är först och främst för de elever som strävar efter betygen C och högre. Betyget E/D är uppnått genom att ha genomfört tidigare momentoch projekt på en godkänd nivå.

Om du läser andra kurser, främst webbutveckling01, så finns det stora möjligheter att göra detta projekt till ett ämnesövergripande projekt. Vill du hemskt gärna göra en annan uppgift som slutprojekt i denna kurs så kikar du igenom de kunskapskrav som du behöver jobba mot och sedan sätter du ihop en presentation av uppgiften som du sedan får godkänt av läraren. Detta skall ske innan du börjar koda ditt projekt för att inte riskera att du jobbar med något som sedan inte går att använda vid betygssättningen.

Momentets mål

I varje moment så jobbar vi mot ett eller flera mål som skolverket har satt upp i varje kurs.

Centralt innehåll

  • Grundläggande programmering i ett eller flera programspråk varav minst ett av språken är textbaserat.
  • Strukturerat arbetssätt för problemlösning och programmering.
  • Grundläggande kontrollstrukturer, konstruktioner och datatyper.
  • Arbetsmetoder för förebyggande av programmeringsfel, testning, felsökning och rättning av kod.
  • Grundläggande datastrukturer och algoritmer.
  • Gränssnitt för interaktion mellan program och användare.
  • Normer och värden inom programmering, till exempel läsbarhet, dokumentation, testbarhet, rena gränssnitt och nyttan av standard.

Kunskapskrav

Följande saker bedöms i projektet.

Kunskapskrav

Text

Betyget E

Betyget C

Betyget A

1. Planering

Eleven formulerar och planerar [1] med handledare programmeringsuppgifter med pseudokod eller diagramteknik. I planeringen väljer eleven [2] kontrollstrukturer, metoder, variabler, datastrukturer och algoritmer som är adekvata för uppgiften [3].

[1] i samråd

[2] med viss säkerhet

[3] [inget]

[1] efter samråd

[2] med viss säkerhet

[3] [inget]

[1] efter samråd

[2] med säkerhet

[3] samt motiverar utförligt sina val.

2. Kodkvalitet

I sin programmering skapar eleven med konsekvent kodningsstil och tydlig namngivning korrekt, strukturerad och [4] kommenterad källkod med [5] resultat.

[4] enkelt

[5] tillfredsställande

[4] noggrant

[5] tillfredsställande

[4] noggrant och utförligt

[5] gott

3. Interaktion

Dessutom väljer eleven [6] ett uttryckssätt som är anpassat för att på ett [7] sätt interagera med den avsedda användaren.

[6] med viss säkerhet

[7] tillfredsställande

[6] med viss säkerhet

[7] tillfredsställande

[6] med säkerhet

[7] gott

4. Produkten

Elevens färdiga program eller skript är utförda med [8] resultat i ett eller flera programspråk som är stabila och robusta [9].

[8] tillfredsställande

[9] i program av enkel karaktär

[8] tillfredsställande

[9] [inget]

[8] gott

[9] i program av komplex karaktär.

5. Felsökning

Eleven anpassar [10] sin planering av programmeringsuppgiften och utför [11] felsökning av [12] syntaxfel [13].

[10] med viss säkerhet

[11] [inget]

[12] enkla

[13] [inget]

[10] med viss säkerhet

[11] på ett systematiskt sätt

[12] [inget]

[13] , körtidsfel och programmeringslogiska fel.

[10] med säkerhet

[11] på ett systematiskt och effektivt sätt

[12] [inget]

[13] , körtidsfel och programmeringslogiska fel.

6. Utvärdering

Innan programmeringsuppgiften avslutas utvärderar eleven med [14] omdömen [15] programmets prestanda och ändamålsenlighet i [16].

[14] enkla

[15] [inget]

[16] någon situation och något sammanhang

[14] nyanserade

[15] [inget]

[16] några situationer och sammanhang

[14] nyanserade

[15] och med förslag på förbättringar

[16] flera situationer och sammanhang

7. Terminologi

Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då [17] datavetenskapliga begrepp.

[17] med viss säkerhet

[17] med viss säkerhet

[17] med säkerhet

9. Principer

Eleven redogör [19] för principer för att uppnå god kvalitet vid skapandet av datorprogram.

[19] översiktligt

[19] utförligt

[19] utförligt och nyanserat

Projekt02 - Game of 40

Uppgiften är att skapa en applikation inom valfritt textbaserat programmeringsspråk där en eller flera spelare kan spela ett tärningsspel som heter Game of 40.

Game of 40, spelregler

Spelet spelas med en tärning och minst två spelare. För att vinna spelomgången skall det sammanlagda värdet av alla tärningsslag du slagit bli 40 eller högre. Slår du en sexa på tärningen så förlorar du alla dina poäng i den omgången. Du kan när du vill stanna, spara dina poäng, och sedan överlåta tärningen till nästa spelare.

Innan du börjar hacka kod, gör en grovplanering av hur du skall lägga upp arbetet. Det är oftast mer effektivt att sedan lösa en deluppgift i taget.

Grundkrav

Följande grundkrav finns för att ha löst uppgiften.

  • Applikationen skall vara buggfri.
  • Tärningarnas värde behöver lagras på ett sådant sätt att du kan visa värde på varje tärning och inte bara en slutsumma.
  • Innan du börjar koda applikationen bör du skapa en planering där du skissar på ett gränssnitt, grafiskt eller textbaserat, så att du vet hur spelet skall presenteras och spelas. Använd också aktivitetsdiagram/pseudokod där du anser att det behövs för att lösa och/eller förtydliga svårigheter i spelets logik eller kod.
  • I grundvarianten så skall det vara två spelare, det kan vara två analoga spelare som spelar mot varandra eller en analog och en automatisk spelare.
  • Spelet skall följa de grundläggande reglerna, väljer du att skapa specialregler så skall detta dokumeteras.
  • Om motståndaren är en automatisk spelare, dator, så skall logiken för denna spelares spel dokumenteras.

Tilläggsfunktionalitet

Grundkraven skall först vara uppnådda innan du jobbar vidare med de lite svårare tilläggsfunktionerna. Du behöver inte lösa alla om du inte vill, att lösa en är bättre än att inte lösa någon. Att lösa en rikigt bra är bättre än att lösa två lite halvslarvigt.

  • Lägga till historik över tidigare spelade spel.
  • Bygg ut AI för en automatisk spelare. Dokumentera detta.
  • Ändrade regler för spelet. Dokumentera detta.
  • Möjlighet att spela flera spelare.

Redovisning

Redovisa detta moment på följande sätt;

  1. Lägg upp projektet så att det är tillgängligt att spela.
  2. Länka till applikationen från din samlingssida.
  3. Gör koden tillgänglig för granskning.
  4. I wordpress så reflekterar du över ditt arbete,
    • all dokumentation kring applikationen redovisas.
    • berätta vad du gjort i projektet, bara grunduppgiften eller någon/några av de fördjupande delarna.
    • beskriv vad som varit enkelt, svårt, utmanande eller näst intill helt omöjligt.
    • länka till applikationen och koden.