Differences
This shows you the differences between two versions of the page.
tre_i_rad [2017-04-28 13:44] Joakim Forsgren [Tips] |
tre_i_rad [2022-07-18 13:20] |
||
---|---|---|---|
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, | ||
- | |||
- | |||
- | |||