Projects4edu

Dobbelsteen met random()

Het zeven segment display programma uit dit bericht laat enkel het gevraagde nummer oplichten op het zeven segment display. Om er iets nuttig mee te doen moet er nog extra aan het programma toegevoegd worden.

zo kan je bijvoorbeeld er
– een klok mee maken die getal na getal de tijd toont.
– de temperatuur getal na getal weergeven
– een getal weergeven zoals bijvoorbeeld het aantal wagens op een parking
– een gedobbelde waarde weergeven
– …
uiteraard kunnen veel van deze zaken ook via een LCD scherm weergegeven worden maar soms is een 7 segment display toch veel efficiënter dan een LCD scherm. Bijvoorbeeld om enkel het gedobbelde getal weer te geven is een 7 segment display meer dan voldoende en zou een LCD scherm een dure oplossing zijn omdat daar de mogelijkheden veel meer zijn dan enkel 1 getal weer te geven.

random getal genereren

Om deze dobbelsteen te kunnen programmeren moet je een willekeurig getal genereren en dit willekeurig getal bij het indrukken van de drukknop op het display plaatsen en dan 10 seconden of minder wachten om dan terug een willekeurig getal te genereren. De 10 seconden wachttijd dient ervoor dat je niet 2 keer na elkaar kan dobbelen om zo vals te spelen. Iedereen heeft de kans om te zien welke waarde je gedobbeld hebt alvorens je opnieuw kan dobbelen.

Het indrukken van de knop en iets doen werd uitgelegd in een eerdere tutorial, nu gaan we uitleggen hoe je het random getal kan genereren.

Voor de setup kan je best een geheugen aanmaken waar je het random nummer in zal opslaan.
int randomnummer
In de loop kan je best volgende code plaatsen, deze code zorgt ervoor dat het getal meer random zal zijn dan indien je de seed niet gebruikt.
randomSeed(analogRead(5));
Na de seed kan je dan het randomnummer genereren, dit nummer mag eigenlijk continu gegenereerd worden.
randomnummer = random(1,7);
Telkens als je random(1,6); laat uitvoeren genereer je een willekeurig getal dat minimaal 1 is en maximaal 1 minder dan 7.
laat je dit getal op het zeven segment verschijnen na het indrukken van de knop dan heb je een eenvoudige dobbelsteen.

Volgende les : millis() en counter

Volgende les tonen we twee andere methodes voor het realiseren van de dobbelsteen, dit toont aan dat er altijd meerdere mogelijke oplossingen zijn voor dezelfde probleemstelling.

Vorige les : 7segment functie

Vorige les besproken we de 7 segment functie, als je nu eenvoudig het randomnummer meegeeft aan deze functie dan zal het verschijnen op het 7 segment. Het is dan enkel een kwestie van ervoor te zorgen dat er niet vals kan gespeeld worden.

Mobiele versie afsluiten