Newer
Older
# Slides
Det finns två PDF:er:
* ``lecture_slides.pdf``: detta är de bilder som visades under själva föreläsningen.
* ``handout_slides.pdf``: dessa bilder är bättre anpassade för att läsas efter föreläsningen. Denna PDF innehåller mer förklarande text.
# Kodexempel
Du hittar de kodexempel som presenterades under föreläsningen i katalogen ``code``. Det finns en ``Makefile`` som kan användas för att kompilera koden, öppna ``code`` i en terminal och kör sedan kommandot:
```
make
```
Detta kommer att genererar ett antal körbara filer (du kan se dessa sammanfattade i tabellen längre ned). För att t.ex. köra det sista exemplet så kan du köra följande i terminalen:
```
```
**OBS:** detta har endast testats på Linux.
## Sammanfattning
Nedan är en sammanfattning på varje "etapp" i exemplet:
| Källkod | Körbarfil | Beskrivning |
|------------------|---------------|----------------------------------------------------------------------------------------------------------------------|
| sfml_start.cc | sfml-basic | Öppnar ett blankt fönster i SFML. |
| sfml_v1.cc | sfml-v1 | Ritar en grön cirkel i mitten av skärmen. |
| sfml_v2.cc | sfml-v2 | Om användaren klickar i fönstret så flyttar sig cirkeln till där muspekaren är. |
| sfml_v3.cc | sfml-v3 | Placerar ett skepp (bilden: ``fighter.png``) i mitten av skärmen (ovanför cirkeln). |
| sfml_v4.cc | sfml-v4 | Skeppet går nu att flytta (men det beter sig väldigt konstigt och "hackigt"). |
| sfml_v5.cc | sfml-v5 | Demonsterar ett bättre sätt för att hantera rörelse (mjukare) men det går *väldigt* fort. |
| sfml_v6.cc | sfml-v6 | Ett sätt att hantera en jämn simulering genom att mäta hur lång tid varje iteration tar. |
| sfml_v6_fixed.cc | sfml-v6-fixed | Alternativ lösning där vi fixerar hur lång tid varje varv i huvudloopen tar. |
| sfml_v7.cc | sfml-v7 | Nu blockerar den gröna cirkeln skeppets rörelse (d.v.s. de kan kollidera). |
| sfml_v8.cc | sfml-v8 | Funktionellt identisk med ``sfml-v7`` men koden är nu anpassad för att använda en tillståndsmaskin. |
| sfml_v9.cc | sfml-v9 | Lägger till en startskärm för att demonstrera hur tillståndsmaskinen fungerar. |
Du behöver inte kompilera alla dessa utan du kan välja vilken du vill kompilera med kommandot:
```
make <körbarfil>
```
Du kan t.ex. köra ``make sfml-v9`` om du endast vill kompilera det sista exemplet.
Du kan också ta bort alla körbara filer om du vill med:
```
make clean
```