Skip to content
Snippets Groups Projects
README.md 3.13 KiB
Newer Older
Christoffer Holm's avatar
Christoffer Holm committed
# 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:

```
Christoffer Holm's avatar
Christoffer Holm committed
```

**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.                                       |
Christoffer Holm's avatar
Christoffer Holm committed
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.
Christoffer Holm's avatar
Christoffer Holm committed

Du kan också ta bort alla körbara filer om du vill med:
```
make clean
```