## Roomba zelf lopend

Zoals je in de inleiding (hoofdstuk 1 les 2) hebt gezien kan een simulatie van de werkelijkheid meer inzicht geven in de werking van de robotstofzuiger dan een automaat. Ook kunnen andere zaken worden getest en andere problemen worden opgespoord voordat de software daadwerkelijk wordt geschreven en ingebouwd.

Daar staat als nadeel tegenover dat een simulatie ook lastiger te bouwen is en meer tijd kost.

### Starten Greenfoot en Roomba versie 2

In les2 staat hoe je Grenfoot opent en een scenario opent, via de link les 2 kun je dat nog eens bekijken. Kies in dit geval echter voor RoombaVersie2 ipv RoombaVersie1. In de volgende opdrachten en in de test na hoofdstuk 2 gaan we er van uit dat je zelfstandig een scenario kunt openen en uitvoeren.

Laten we eerst eens kijken hoe de Roomba zich in deze versie gedraagt.

Met <run> kun je starten en met <reset> en dan weer <run> opnieuw beginnen.

Omdat het effect bij een lage accuspanning snel te kunnen zien staat het batterijverbuik vrij hoog, het is realistischer als de Roomba een tijdje kan rondlopen.

Open de broncode van klasse Roomba, dit kan op twee manieren. Je kunt dubbelklikken op de klasse Roomba of rechts klikken en dan <open editor> kiezen.

Je ziet dan onderstaand scherm.

We kijken eerst naar regel 9 van de boncode.

public class Roomba extends Actor

De naam van de klasse is Roomba, deze staat altijd achter het java woord class

extends Actor geeft aan dat niet alleen de methoden in de klasse Roomba kunne worden gebruikt maar ook alle methoden die door Greenfoot in de klasse Actor zijn geschereven. We komen hier nog op terug.

### Variabelen

Onder de naam van de klasse staan alle namen van variabelen die in de klasse Roomba worden gebruikt, sommigen daarvan hebben al een beginwaarde zoals batterijPercentage en vulling.

batterijPercentage = 100, geeft aan dat de batterij vol is, je ziet dit percentage afnemen in het infoscherm aan de linkerkant als de Roomba loopt.
vulling = 0 betekent dat de Roomba leeg is, dit getal neemt toe als de Roomba vuil op gaat zuigen.

### Constanten

De laatste twee variabelen onder de commentaarregel // standaardwaarden zijn zogenaamde contanten. Waarden die tijdens het uitvoeren niet veranderen, je herkent ze aan static final.

static betekent dat ze voor elke instantie van de Roomba dezelfde waarde hebben.

final geeft aan dat de waarde niet mag worden gewijzigd tijdens de uitvoering van het programma.