---
# System prepended metadata

title: 'App 2 (Alexander, Hendrik, Matthias, Eli)'

---

# App 2 (Alexander, Hendrik, Matthias, Eli)

Sensors + REST API

oxo-spel

## functionaliteiten:

- [x] zet wordt gemaakt door beweging (sensors)
- [x] zet moet bevestigd worden door klik op scherm (voor foute sensor-meting te ontdoen) (sensors)
- [x] zet kan ook gecanceld worden (sensors)
- [x] speler kan spel maken: krijgt code (API)
- [x] speler kan spel joinen; voert code in (API)
- [x] database van players: waiting and playing (API)
- [x] class game bestaande uit rondes +players +winnaar elke ronde, veld (API)
- [x] class player: bestaande uit ID (API) 
- [x] object veld: matrix (API) 
- [x] servermethods: user toevoegen (post), join spel, get board, post move, 
- [x] algoritme beslissen einde game + winnaar

## tegen maandag


- [x] visueel weergeven op web
- [x] get is turn method: + move update (client en server side) aanpast + test aangepast (API)
- [x] 2 html files aanmaken: 
    - [x] beginscherm   + bijhorend typescript file(API) 
    - [x]  naar volgend html file sturen
    - [x] en board-scherm+ typescript file (SENSORS)
   
- [x] alles samenvoegen

beginscherm bestaat uit eerst 2 knoppen: 
make game  -> code afbeelden -> continu functie gameIsStarted oproepen -> speler gejoind? naar html file van board
join game  -> code invullen -> naar html file van board

## verslag
- functionaleiten: API
- inleiding: SENSORS
- conclusie: SENSORS
- goals/verbetering: SENSORS
- implemantie: ieder zijn deel
- testing ook: ieder haar deel

## demo
- algemene uitleg OXO game A
- uitleg server E
- uitleg sensors (hoe een move maken)
- uitleg start scherm A
- uitleg spel zelf



## deadlines

2/12: aparte onderdelen af
6/12: groot deel code af ->beginnen verslag

13/12: verslag af


## uitgetypt voorstel

Ons nieuw voorstel is om een online oxo-spel te maken. Dit spel wordt door twee verschillende gebruikers online tegen elkaar gespeeld. De spelers moeten om de beurt een x of een o in een vakje van het speelbord zetten. De ene speler zet altijd x'en, de andere altijd o's. Het speelbord telt 9 vakjes (3x3). De bedoeling is om als eerste drie van je eigen symbolen op een rij te kunnen vormen (horizontaal, verticaal of diagonaal). In ons online oxo-spel worden er drie rondes gespeeld, de speler met de meeste wins is de eindwinnaar.

Bij het aanmaken van een nieuw spel krijgt de eerste speler een code. Die code kan de tweede speler gebruiken om het spel te joinen. Om een x of een o in een vakje te zetten moet de speler zijn gsm naar een bepaalde kant bewegen of kantelen (bv naar rechts kantelen of bewegen voor het rechts-midden vakje, naar boven voor middelste vakje, enz). Elke zet moet bevestigd worden omdat er ook onjuiste detecties kunnen zijn. Bij zo een onjuiste detectie kan de zet ook gecanceld worden. Alle data van het spel wordt opgeslagen in een server (REST API). Er kunnen ook meerdere spelletjes tegelijk bezig zijn.

**Functionaliteiten van de app**:
- een speler kan een spel aanmaken: krijgt code
- een speler kan een spel joinen: met de gekregen code
- algoritme bepaalt welke speler mag beginnen
- zet  wordt gemaakt door beweging van de gsm
- zet moet bevestigd worden door klik op scherm
- zet kan in geval van onjuiste detectie ook gecanceld worden
- database van games
- database van players: waiting and playing


## logboek

### samen
- 22/11: van concept veranderd + taken verdeeld
- 29/11: we hebben nu pas begrepen dat we eigenlijk al de testen op voorhand hadden moeten schrijven, hier zijn we dus te laat mee begonnen
- 2/12 1 uur gebeld met iedereen om elkaar up te daten en verdere planning te maken
- 6/12 14u-20u20:server kunnen laten runnen + html files gelinkt

#### team REST API (alexander en eli)
- 24/11 19u30 -22u00: Alexander en Eli gebeld: implementatie class game, player and board
- 25/11 20u00-22u30: eerste wifiproblemen, dan class AllPlayers aangemaakt + geïmplementeerd
- 29/11 14u-18u: begonnen met de implementatie van de server routes en de langs de client-side bijhorende methods.
- 1/12: 2u samen gebeld en de testen onderling verdeeld
    - Eli: 4u supertest geschreven + bugs bij de routes en bijhorende methods gefixt
- 2/12: 1u kleine bugs in serverMethods opgelost
- 3/12: Eli: 2u geknoeid met test voor de webMethods
- 4/12 12u-15u gebeld: begin scherm html + bijhorende file gemaakt + isTurn aangepast zodat het ook de latest move teruggeeft + extra field latest move in Game + testen aangepast
- 8/12 Eli 17u-19u: schrijven verslag functionaliteiten
- 9/12 Eli 14u-17 : schrijven verslag functionaliteiten + testing + outlook
- 10/12 Eli 1u: verslag branches overzicht (lang mee gesukkeld)
- 11/12 Eli 5u: verslag verbeterd dmv comments te zetten + implementatie naar oxo spel veranderd ipv drie op een rij
- 12/12 Eli 3u: gebeld + verslag (eigen deel) verbeterd


5+2,5 +2,5 + 4+2+1+2+3+2+3+1+5+3+1+6 +5 
48
#### team SENSOR