Differences
This shows you the differences between two versions of the page.
tre_i_rad [2017-09-01 14:54] |
tre_i_rad [2022-07-18 13:20] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Tre i rad ====== | ||
+ | Uppgift i Programmering 2 och Webbserverprogrammering 1 | ||
+ | |||
+ | Denna uppgift är ett samarbete mellan kurserna Programmering 2 och Webbserverprogrammering 1. Uppgiften är enkel, ni ska som minimikrav programmera spelet “tre i rad”. | ||
+ | |||
+ | === Programmering 2 === | ||
+ | I kursen Programmering 2 ska ni göra gränssnittet mot användarna (klienten) och den ska via ett REST-anrop kontakta ett backend. | ||
+ | Klientsidan ska visa hur spelbrädet ser ut utifrån det svar den får från sitt backend. Från klienten kan man göra något av följande 2 anrop: | ||
+ | - **“Nytt spel”** | ||
+ | - **“Nytt drag”** | ||
+ | Ni ska dessutom rita ett UML-diagram över era Java-klasser samt generera JavaDoc.\\ \\ | ||
+ | Ladda hem zip-filen med JSON-klasserna, | ||
+ | Skapa ditt projekt i Eclipse. \\ | ||
+ | Sedan: Project-> | ||
+ | |||
+ | === Webbserverprogrammering 1 === | ||
+ | I kursen Webbserverprogrammering ska ni programmera ett backend som sköter och håller reda på hur spelbrädet ser ut. Ni ska gör en AI som lägger godkända drag.\\ | ||
+ | Ni ska bygga ett enkelt REST-api med två end-points. | ||
+ | * **1. Nytt spel:** | ||
+ | Till svar får man en game_token (id för spelet som spelas) och hur spelbrädet ser ut. | ||
+ | * **2. Nytt drag:** | ||
+ | * game_token | ||
+ | * var man lägger | ||
+ | Till svar får man status på det drag som gjordes (om någon vunnit, fel i dragen m.m.) och hur spelbrädet ser ut. | ||
+ | |||
+ | === Tips === | ||
+ | * Försök att få igång en prototyp först, tex kan ni börja med att API:et bara slumpar fram olika uppställningar med olika status för att se att man kan rita upp de svar man får. | ||
+ | * Fundera på vad man måste göra från början och vad man kan vänta med. | ||
+ | * Tidsbrist gör att det finns lite mer hjälp här: [[ttt_code_mm]] | ||
+ | |||
+ | |||
+ | === Extra === | ||
+ | När ni är klara med miniminivå kan ni jobba vidare med följande, välj ordning själv: | ||
+ | * Kunna välja om man ska ha X eller O + om man ska börja eller inte. | ||
+ | * Servern ska ha minst två nivåer på AI, en mer av typen slump och en annan som man inte ska kunna vinna mot. | ||
+ | * Spela **"tre i rad"** mot någon annan än mot AI. | ||
+ | * Ny typ av spel, fyra i rad, luffarschack, | ||
+ | |||
+ | |||
+ | |||