Differences
This shows you the differences between two versions of the page.
|
tre_i_rad [2017-09-01 12:54] |
tre_i_rad [2022-07-18 11: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, | ||
| + | |||
| + | |||
| + | |||