Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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, packa upp och lägg java-json.jar i lämplig mapp.  [[http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm|java-json.jar.zip]] \\ 
-Skapa ditt projekt i Eclipse. \\ 
-Sedan: Project->Properties->Java Build Path-> Add External JARs->Leta rätt på din fil  
- 
-=== 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, othello, mastermind... 
- 
- 
-