ID.nl logo
Zo kun je programmeren in Python - Deel 1
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 1

Vanaf nu vind je op Computer!Totaal een meerdelige cursus over een van de meestgebruikte programmeertalen ter wereld: Python. Python heeft een heldere structuur die redelijk snel te leren is en heeft veel mogelijkheden. Niet voor niets wordt het op allerlei plekken ingezet, bijvoorbeeld als scripttaal voor het automatisch uitvoeren van taken op een besturingssysteem, het programmeren van een Raspberry Pi en ook werken veel websites ermee.

In dit eerste deel over Python maak je kennis met deze populaire programmeertaal en leg je een stevige basis voor het schrijven hierin. Daarna installeren we Python en leggen we uit hoe je met de interpreter werkt. We zetten ook onze eerste kleine programmeerstapjes door je te laten kennismaken met getallen en tekst.

Python

Programmeren is niets anders dan aan een computer instructies geven die hij moet uitvoeren. Een computer is geen mens, wat maakt dat hij heel expliciete instructies nodig heeft. Die geef je daarom in een programmeertaal: een formeel gedefinieerde taal die alles duidelijk uitspreekt, zodat de computer je goed verstaat.

Net zoals er heel wat talen bestaan in de wereld van de mensen, bestaan er ook enorm veel programmeertalen. Een populaire programmeertaal voor algemeen gebruik is Python, overigens uitgevonden door een Nederlander, Guido van Rossum. De Python-gemeenschap besteedt veel aandacht aan leesbaarheid van de code. De programmeertaal staat al sinds 2003 jaarlijks in de top 10 van de meest populaire programmeertalen van Tiobe. Veel grote bedrijven gebruiken Python en ook heel wat software voor de Raspberry Pi is in Python geschreven. Kortom, als je Python kent, is je programmeerkennis op allerlei domeinen nuttig.

Python 2 en 3

Als we het over Python hebben, bedoelen we Python 3, de nieuwste versie van Python. Versie 3.0 kwam al in 2008 uit en momenteel zijn we al bij Python 3.7. Je ziet ook nog veel Python 2-code, hoewel Python 2 door de ontwikkelaars van Python vanaf 2020 niet meer wordt ondersteund. Voor onze reeks maakt het niet zo veel uit, maar als je je bezig gaat houden met wat geavanceerdere zaken, kom je zeker Python 2-code tegen die niet in Python 3 werkt en andersom.

Python installeren

Python is opensource en draait zowel op Windows als op macOS en Linux. Je kunt de programmeeromgeving gratis downloaden. Download de nieuwste Python3-release voor je besturingssysteem. Op het moment van schrijven is dat Python 3.7.1. Gebruik je Linux, dan is Python in principe standaard al geïnstalleerd. Is dat toch niet het geval, installeer Python 3 dan met de pakketbeheerder van je Linux-distributie. Mogelijk installeert dat niet de recentste versie, maar dat maakt voor onze reeks niet uit.

In Windows kies je de executable installer voor 64 bit of 32 bit, afhankelijk van je Windows-versie. Vink in het eerste venster van het installatieprogramma Install launcher for all users en Add Python to PATH aan. Na de installatie kun je controleren of Python correct geïnstalleerd is met de volgende opdrachtregel in een Opdrachtprompt:

python --version

Je ziet dan het versienummer van je Python-installatie.

Werken met de Python-interpreter

Het programma python dat we hierboven hebben uitgevoerd, is de Python-interpreter. Dit programma vertaalt code in de Python-programmeertaal naar machinecode die je computer verstaat. Als je die Python-interpreter uitvoert, krijg je iets als het volgende te zien (het versienummer en de datum kunnen bij jou verschillen):

Python 3.6.5 (default, Apr[GCC 7.3.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>>

De drie groter dan-tekens is de opdrachtprompt die aangeeft dat de Python-interpreter op je opdrachten wacht. Je krijgt onmiddellijk al te zien wat enkele mogelijke opdrachten zijn.

Wat je niet te zien krijgt, is hoe je de Python-interpreter weer verlaat. Daarvoor typ je exit() of quit() of druk je op Ctrl+D.

Cursus Python

Wil je dieper in de mogelijkheden van Python duiken, dan bieden wij een uitgebreide Tech Academy cursus aan.

Werken in een Python-ontwikkelomgeving

De Python-interpreter is voldoende om kort enkele Python-opdrachtjes uit te proberen, maar om een volwaardig Python-programma te schrijven, heb je een ontwikkelomgeving nodig. Er bestaan diverse ontwikkelomgevingen voor Python, maar als beginner kun je volstaan met Thonny, dat standaard wordt geïnstalleerd bij Python vanaf versie 3.7. Pas in het derde deel gaan we op Thonny in.

Python als een rekenmachine

Open opnieuw de Python-interpreter. We gaan nu met getallen werken. In feite kun je de Python-interpreter als een geavanceerde rekenmachine gebruiken:

>>> 1+12>>> 1.5*34.5>>> (212-32)*5/9100.0>>> 20*1.8+3268.0>>> 3**481

De laatste berekening is misschien niet vertrouwd als notatie: de operator ** berekent de macht van een getal. 3**4 is dus 3 tot de 4e macht.

Na elke opdracht toont Python zijn uitvoer en kun je een nieuwe opdracht invoeren. Met de pijltjestoetsen kun je door je al ingevoerde opdrachten bladeren om dezelfde opdracht opnieuw in te voeren of aan te passen.

Python kent twee types getallen: int (gehele getallen) en float (getallen met komma, door Python weergegeven als een decimale punt). Als je alleen met gehele getallen rekent en geen deling uitvoert, is het resultaat ook een geheel getal. Maar zodra er een float in je berekening voorkomt (zoals in 20*1.8+32) of je door een getal deelt (zelfs door een int, zie (212-32)*5/9), is het resultaat een float. Dat zie je doordat Python een decimale punt gebruikt, zelfs als het resultaat een geheel getal is (100.0).

Delen

We zagen dat je getallen deelt met de operator /. Dat geeft als resultaat altijd een float:

>>> 7/32.3333333333333335

Maar je hebt ook de operator // waarmee je een gehele deling uitvoert. Dat wil zeggen dat het deel na de komma wordt genegeerd en je als resultaat een int krijgt:

>>> 7//32

Je kunt ook de rest van de deling door een getal opvragen, namelijk met de operator %:

>>> 7%31

En dat klopt, want als we de twee vorige berekeningen samennemen, kunnen we eenvoudig narekenen dat 7 gelijk is aan 3*2+1.

Overigens werken de operatoren // en % ook voor niet-gehele getallen:

>>> 7.5/2.13.571428571428571>>> 7.5//2.13.0>>> 7.5%2.11.1999999999999997

Types

Je hebt nu kennisgemaakt met de twee typen getallen: int en float. Het type van een getal of een berekening kun je eenvoudig opvragen:

>>> type(1+1)<class 'int'>>>> type(7.5)<class 'float'>>>> type(7.5//2.1)<class 'float'>>>> type(7//3)<class 'int'>

Merk op: het resultaat van 7.5//2.1 is 3.0, wat een float is.

Je kunt getallen ook omzetten van het ene naar het andere type:

>>> float(1+1)2.0

>>> int(2.5)2

Als je een int naar float omzet, dan blijft de waarde van het getal hetzelfde; zet je een float naar int om, dan wordt de waarde na de komma afgebroken.

Variabelen

Als je de Python-interpreter als rekenmachine gebruikt, wil je misschien de vorige waarde als onderdeel van een volgende berekening gebruiken zonder dat je die helemaal opnieuw hoeft in te typen. Dat kan eenvoudig met de variabele _:

>>> 7/32.3333333333333335>>> _*511.666666666666668

Een variabele is een naam die je aan een waarde geeft. De Python-interpreter kent automatisch de laatste waarde toe aan de variabele _. Maar je kunt ook zelf variabelen aanmaken met een willekeurige naam, zolang het niet dezelfde naam is als een geregistreerd woord uit de Python-taal. Vervolgens kun je die variabelen gewoon in de plaats van de getallen die ze voorstellen gebruiken:

>>> teller=7>>> noemer=3>>> resultaat=teller//noemer>>> rest=teller%noemer>>> teller7>>> noemer3>>> resultaat2>>> rest1>>> type(rest)<class 'int'>

Verwijs je naar een variabele waar je nog geen waarde aan hebt toegekend, bijvoorbeeld door een typfout, dan krijg je een foutmelding:

>>> type(deltal)Traceback (most recent call last):File "<stdin>", line 1, in <module>NameError: name 'deltal' is not defined

Tekst

Python kent naast int en float nog heel wat andere ingebouwde types. Een veelgebruikt datatype is str, dat we vaak voluit string noemen. Een string stelt tekst voor, bijvoorbeeld 'Dit is een tekst'. Een string mag je zowel tussen dubbele als enkele aanhalingstekens zetten. Goed gebruik is wel om voor jezelf altijd één keuze te maken.

Omdat de aanhalingstekens worden gebruikt om het begin en einde van een string aan te geven, moet je iets speciaals doen als je ze in je tekst zelf wilt gebruiken: je dient ze te ‘escapen’. Dat doe je door er een backslash voor te zetten. Bijvoorbeeld: 'Dit is een \'tekst\''.

Net zoals we bewerkingen op getallen kunnen uitvoeren, kan dat ook op tekst. Enkele voorbeelden maken dit duidelijk:

>>> 'Py' 'thon''Python'>>> 'Py'+'thon''Python'>>> 3*'Py'+2*'thon''PyPyPythonthon'

Daarnaast kun je allerlei functies op een string toepassen:

>>> len('zandzeepsodamineraalwatersteenstralen')
37>>> 'dit is een TEKST'.capitalize()'Dit is een tekst'>>> 'dit is een TEKST'.lower()'dit is een tekst'>>> 'dit is een TEKST'.upper()'DIT IS EEN TEKST'>>> 'dit is een TEKST'.swapcase()'DIT IS EEN tekst'

In het tweede deel, leer je hoe je met individuele letters in een tekst om kunt gaan.

Opdracht

Maak een variabele teller met de waarde 24.3 en een variabele noemer met de waarde 8.1. Maak een variabele resultaat met als waarde teller gedeeld door noemer en zorg ervoor dat dit als geheel getal (dus niet als float) wordt weergegeven.

Uitwerking

>>> teller=24.3*>>> noemer=8.1**>>> resultaat=int(teller/noemer)**>>> resultaat* De eerste twee regels spreken hopelijk voor zich. In de derde regel delen we de teller door de noemer en wijzen de uitkomst toe aan resultaat. Zouden we het hierbij laten, dan zou de uitkomst weergegeven worden als 3.0. Door het type int toe te wijzen aan resultaat, wordt de uitkomst als geheel getal weergegeven, in dit geval dus 3.

Samenvatting

In deze eerste les heb je kennisgemaakt met de programmeertaal Python. Je kunt met de Python-interpreter werken en je hebt kennisgemaakt met basisbewerkingen op getallen en strings. Je weet ook wat datatypes en variabelen zijn. In de deel 2 gaan we met complexere datatypes aan de slag.

Cheatsheet

int (integer) = geheel getal float (floating-point arithmetic) = breuk of kommagetal str (string) = tekenreeks operator = bewerking

▼ Volgende artikel
Nú is het moment: zo breng (én houd) je je cyberhygiëne op orde
© ID.nl
Zekerheid & gemak

Nú is het moment: zo breng (én houd) je je cyberhygiëne op orde

De digitale wereld verandert in een razendsnel tempo. Oplichters gaan dankzij AI steeds overtuigender te werk, waardoor valse berichten en nepwebsites nauwelijks nog van echte te onderscheiden zijn. Tegelijkertijd groeit het aantal accounts en apps dat je dagelijks gebruikt, wat de kans op beveiligingslekken vergroot. Het is daarom belangrijker dan ooit om je online aanwezigheid (nóg) actiever te beschermen. In dit artikel lees je welke aanpassingen je zelf direct kunt doorvoeren en welke extra beschermingslagen jou helpen je digitale veiligheid te versterken.

Partnerbijdrage - in samenwerking met Bitdefender

Waarom cyberhygiëne juist nu belangrijk is

In een modern huishouden volgen de digitale vernieuwingen elkaar razendsnel op. Van schoolapps en games tot werken op afstand; jij en je familie verzamelen ongemerkt een enorme berg online accounts. Tegelijkertijd worden digitale dreigingen steeds lastiger te herkennen.

Vroeger pikte je een nepbericht er zo uit door de kromme zinnen of spelfouten, maar die tijd is echt voorbij. Dankzij de inzet van slimme AI-technieken zien phishingberichten er tegenwoordig ontzettend professioneel uit. Ook foto's, filmpjes en zelfs stemmen kunnen digitaal zo nagemaakt worden dat je niet meer ziet of hoort met wie je echt te maken hebt. Het wordt daardoor steeds moeilijker om de risico's te zien. Hoog tijd dus om je digitale huishouding belangrijker op orde te brengen.

Beginnen bij het begin: een digitale schoonmaak

Veel mensen hebben meer oude accounts dan ze denken. Door die op te ruimen, sluit je meteen een aantal achterdeuren die je gemakkelijk over het hoofd ziet. De volgende onmisbare stap is het gebruik van sterke, unieke wachtwoorden. Zie het als een sleutelbos: wanneer je overal hetzelfde wachtwoord (of een variatie daarop) gebruikt, geef je criminelen met één enkele sleutel direct toegang tot al je accounts. Met unieke wachtwoorden zorg je ervoor dat een lek bij de ene dienst niet automatisch leidt tot een inbraak bij de andere. Een wachtwoordmanager neemt al dat denkwerk van je over. Het geeft je de rust dat je niet langer tientallen ingewikkelde codes zelf hoeft te onthouden. Handig: in een beveiligingspakket als Bitdefender Premium Security zit zo'n Password Manager bijvoorbeeld standaard inbegrepen. Zie tweestapsverificatie vervolgens als een extra slot op de deur; deze laag houdt kwaadwillenden buiten, zelfs als je wachtwoord onverhoopt toch op straat komt te liggen.

Vergeet daarnaast de updates van je apparaten niet. Deze software-updates dichten beveiligingslekken voordat criminelen er misbruik van kunnen maken. Dit is niet alleen belangrijk voor je smartphone, maar juist ook voor apparaten waar je minder vaak bij stilstaat. Denk aan de router in de meterkast of de tablets die de kinderen dagelijks gebruiken.

©Queenmoonlite Studio - stock.adobe.com

De dreigingen van nu vragen om extra hulp

Zelf alert blijven is de basis, maar het speelveld verandert razendsnel. Oplichting wordt steeds geraffineerder door in te spelen op situaties uit je dagelijkse leven. Je krijgt bijvoorbeeld precies op het juiste moment een bericht over een pakket dat vertraagd is, of een dringende waarschuwing die van je bank lijkt te komen. Omdat de grens tussen echt en nep zo vervaagt, is het prettig om een hulpmiddel achter de hand te hebben voor die momenten van twijfel.

Scamio is zo'n hulpmiddel. Deze gratis online tool van Bitdefender controleert binnen een paar seconden of een link of screenshot verdacht is. Je hoeft alleen de inhoud te plakken of de afbeelding te uploaden. Scamio analyseert de informatie en vertelt je direct hoe betrouwbaar het bericht is. Het is alsof er even een expert met je meekijkt voordat je besluit om ergens op te klikken. 

View post on TikTok

Een veilige basis voor het hele gezin

Goede cyberhygiëne draait om slimme gewoonten, maar ook om bescherming die meebeweegt met de dagelijkse werkelijkheid. Bitdefender Premium Security biedt die extra laag voor het hele huishouden. Omdat moderne gezinnen allerlei verschillende apparaten gebruiken, is het omslachtig om alles apart te beveiligen. Door al deze apparaten onder één pakket te brengen, creëer je direct overzicht en rust.

Achter de schermen werken verschillende lagen bescherming nauw samen om je gezin te beveiligen. De software blokkeert malware en ransomware en houdt valse websites tegen nog voordat je ze kunt openen. Scam Copilot kijkt ondertussen met je mee tijdens het browsen en analyseert aanbiedingen en berichten in realtime. Zodra er iets niet klopt, krijg je direct een waarschuwing. Naast deze beveiliging helpt Bitdefender je privacy te bewaken. Denk aan een VPN die je verbinding versleutelt wanneer je onderweg bent, of meldingen wanneer je gegevens onverhoopt opduiken in een datalek.

©Bitdefender

Daarnaast is het goed om te weten dat Bitdefender een Europese partij is met datacenters op eigen bodem. In een tijd waarin je gegevens soms de hele wereld overgaan, is het een prettig idee dat jouw privacy wordt beschermd volgens de strenge regels die we hier in Europa kennen. Je houdt zo simpelweg meer grip op je eigen gegevens.

Samen slim en veilig online

Je digitale veiligheid hoeft geen hoofdpijndossier te zijn. Door kritisch naar je oude accounts te kijken, overal unieke wachtwoorden te gebruiken en updates direct te installeren, zet je zelf al de belangrijkste stappen. Met een totaalpakket als Bitdefender Premium Security voeg je daar een slimme beschermlaag aan toe die de lastige taken van je overneemt. Zo creëer je met een paar simpele aanpassingen een veilige online omgeving voor je hele gezin, waarin je met een gerust hart kunt blijven internetten

▼ Volgende artikel
Review: Dragon Quest 7 Reimagined is een klassieke rpg in een nieuw jasje
Huis

Review: Dragon Quest 7 Reimagined is een klassieke rpg in een nieuw jasje

Dragon Quest is al meer dan drie decennia een icoon binnen de game-industrie. Hoewel de oudere delen al snel gedateerd voelden, zorgde een gestroomlijnde vernieuwing voor een nieuwe aanwas van fans. Toch moest alles nog één keer overboord. Met volle moed en een frisse stijl blijkt Dragon Quest 7 Reimagined een prachtige herinterpretatie van een klassieke rpg voor een nieuwe generatie.

Dragon Quest 7 is een beetje het verloren kindje binnen de reeks. Het was het debuut van de franchise op PlayStation, maar werd berucht door de langzame openingsuren en unieke structuur. Sterker nog: de regisseur van deze remake, Takeshi Ichikawa, biechtte op dat hij als kind nooit verder kwam dan het openingssegment in een recent interview. Er zou dus behoorlijk wat gesneden moeten worden in deze structuur. Bovendien is dit de derde remake van een mainline Dragon Quest-game in twee jaar tijd. Gelukkig onderscheidt Dragon Quest 7 Reimagined zich dit keer wel al vanaf het eerste uur.

©Square Enix

Schuitje Varen, Eilandje Redden

Op het eerste gezicht lijkt Dragon Quest 7 logisch in lijn te vallen met de rest van de serie. Als ‘de Held’ begin je op het enige eiland in de wereld. Samen met prins Keifer en jeugdvriendin Maribel ga je op een groot avontuur wanneer er een portaal opent in de mysterieuze tempel op het eiland. Niet alleen verschijnt er opeens een nieuw eiland in de eindeloze oceaan, maar ook reist de groep terug in de tijd. Ieder nieuw eiland bezoek je zo eerst in het verleden, waarna je acties gevolgen hebben in het heden.

Zo wordt de spelwereld steeds groter. Het ene eiland is compleet verlaten, omdat alle inwoners zijn versteend. Op een ander eiland probeert een groep reizende pelgrims om hun God te helpen terugkeren na zijn verdwijning aan de hand van de Demon King. Onderweg vind je tabletstukken om nieuwe portalen te openen. Ieder eiland heeft zo zijn eigen verhaal en personages die je volgt, wat kan voelen als een televisieserie met allemaal kleine uitstapjes. Het bouwt langzaam op naar een grotere verhaallijn met de terugkeer van de Demon King. Het geeft Dragon Quest 7 een eigen identiteit ten opzichte van andere Dragon Quest-titels, maar vereist wel een langere aandachtsspanne.

Watch on YouTube

Visueel vakmanschap

Gelukkig spat het spel van je scherm. De nieuwe visuele stijl is een hoogtepunt, een fenomenale balans tussen de originele tekeningen en ontwerpen van Akira Toriyama (Dragon Ball) en de 3D-stijl die de games hebben omarmd sinds de PlayStation 2. De hoofdpersonages zien er uit als handgemaakte poppetjes. Steden en kamers worden getoond als kleine diorama's. Het deed mij op meer dan één manier denken aan de uitstekende remake van Zelda: Link’s Awakening op de Nintendo Switch. De nieuwe stijl complementeert de Dragon Quest-serie uitstekend. Wanneer het samenkomt onder begeleiding van de prachtige symfonische muziek, voelt Reimagined als een warme deken voor fans van klassieke rpg’s.

Ik wilde elk hoekje van de wereld verkennen. Elk eiland voelde als een nieuw avontuur. Naarmate de groep avonturiers groter wordt, zwijmel je zo weer weg in de wereld van Dragon Quest. De game heeft zowel Japanse als Engelse stemwerk voor de tussenfilmpjes en belangrijke dialogen, maar ook het schrijfwerk is behoorlijk sterk. Leuke details zoals het gebruik van  ‘Thou’s’ en ‘Thy’s’ bij eilanden in het verleden voelen gepast. Wat minder gepast zijn de plaatsen die stilistische fouten gebruiken om over te komen als ‘Duits’ of ‘Frans’ (‘Wiz’ in plaats van ‘With’, of het weglaten van werkwoorden). Geen pretje om te lezen, maar het brengt wel degelijk het gevoel van een gevarieerde wereld over.

Knokken bouwt karakter

De combat is traditioneel zoals je kan verwachten van Dragon Quest. Elke beurt kies je welke aanval je personage uitvoert. Je maakt gebruik van de zwaktes van vijanden om je aanvallen maximale schade te laten toebrengen. Om in te spelen op de sterke punten van je party kun je ze allemaal een rol geven met het ‘vocation’-systeem. Deze beïnvloedt de statistieken en aanvallen die je kan leren. Na het vrijspelen van de ‘Alltrades abbey’ is het mogelijk om op ieder moment een ander pad te kiezen. Als je specifieke combinaties van vocations leert, krijg je toegang tot speciale rollen. Nadat je de Sailor- en de Thief-vocation beheerst, krijg je de Pirate-vocation, een unieke mix van beide rollen.

Het is een flexibel systeem dat uitnodigt om lekker te experimenteren. Zo maakte ik van Ruff een glazen kanon met een hele hoge kans op critical hits om massale schade uit te delen, terwijl ik Maribel als Sage en Priest gebruikte voor magische aanvallen en genezing. In de beste gevechten van Dragon Quest 7 voelt je party als een goed geoliede machine die compleet kan worden afgestemd op elke situatie. Dankzij de uitgebreide instellingen is het mogelijk om aan te passen hoeveel XP, geld, of levels in vocations je verdient in gevechten. In combinatie met de aangepaste snelheid van gevechten en tactische opties blies ik mij door de gevechten.

©Square Enix

Ideale moderne remake

Al deze kleine verbeteringen maken van Dragon Quest 7 Reimagined de ideale moderne remake. Hoe dol ik ook ben op de 2D-HD-stijl die Square Enix heeft toegepast in de laatste paar Dragon Quest-titels, is de nieuwe stijl in Reimagined een prachtige samensmelting van oud en nieuw. Structureel is de game flink opgepoetst en met de toegankelijkheidsopties hoef je niet eindeloos te grinden voor elke eindbaas. Dit alles komt samen in een heerlijke traditionele en tegelijkertijd modern aanvoelende rpg. Voor de oudgedienden: verwacht geen bergen aan nieuwe missies of verhalen, maar een ‘greatest hits’-album van Dragon Quest 7.

Voor de nieuwkomer is dit niet de eerste Dragon Quest die ik zou aanraden, maar zeker eentje om te ervaren als je nieuwsgierig bent naar andere delen in de serie. Ik kan alleen maar hopen dat dit het startschot is om ook andere delen in de serie op deze manier te ‘reimaginen’. Dragon Quest 9 bijvoorbeeld?

Dragon Quest 7 Reimagined is vanaf 5 februari beschikbaar voor PlayStation 5, PlayStation 4, Xbox Series X en S, pc (via Steam), Nintendo Switch 2en Nintendo Switch. Voor deze review is de game getest op Nintendo Switch 2.

Uitstekend
Conclusie

Dragon Quest 7 Reimagined is een klassieke rpg in een prachtig nieuw jasje. Met een gestroomlijnd verhaal, talloze opties om de ervaring soepeler te maken en een nieuwe visuele stijl is het hopelijk de eerste stap op een nieuwe weg voor Dragon Quest-remakes.

Plus- en minpunten
  • De visuele stijl is fris
  • Gestroomlijnd verhaal
  • Veel toegankelijkheidsopties
  • Klassieke rpg in een nieuw jasje
  • Verhaal komt (nog steeds) langzaam op gang
  • Turn-based combat kan wat eentonig overkomen