User manual
Met een beetje vaardigheid moeten de spelers proberen om met hun paddel de bal steeds weer terug te slaan, zodat deze niet tegen de rode of
groen wand vliegt. Elke speler heeft twee boetseerkleicontacten om zijn paddel in de beide richtingen te bewegen. Bovendien is er voor elke
speler een aardingscontact om zo min mogelijk uitval door ongelijke aarding te hebben.
Indien de bal de eigen wand raakt, terwijl men de paddel niet op tijd in de weg gezet heeft, dan krijgt de tegenstander een punt. De bal start dan
weer vanaf de uitgangspositie. Het spel wordt steeds gestopt door te klikken op het rode Stop-symbool. Wie meer punten heeft, heeft gewonnen.
Het programma
De bal wordt door vier scriptblokken aangestuurd, die alle gelijktijdig lopen en gestart worden, wanneer de gebruiker op het groen vlagje klikt.
Het hoofdscript zorgt bij een klik op het groene vlagje voor de basisvereisten voor het spel. Eerst worden de beide puntentellers op 0 gezet.
vervolgens wordt de bal naar zijn uitgangspositie bij x:0 y:0 gebracht. De bal moet in een willekeurige hoek wegvliegen. Daarvoor wordt de
richting op een toevallige waarde tussen -20 en -160 gezet.
Vervolgens wordt de beweging van de bal voortdurend herhaald. Hij botst van de rand af wanneer hij deze raakt. Anders vliegt hij in vier
stappen in de ingestelde richting. Deze beweging herhaalt zich in theorie zonder einde. Echter, omdat er bij het klikken op het groene vlagje die
verder scriptblokken voor de bal worden gestart, kunnen er ook andere bewegingen ontstaan.
Het hoofdscriptblok voor het initialiseren en bewegen van de bal
Wanneer de bal één van de beide paddels raakt, dan wordt de bewegingsrichting in het negatieve omgekeerd. De bal vliegt in gelijke hoek naar
onderen verder, als van waar hij van boven kwam, of omgekeerd. Om de beweging iets onvoorspelbaarder te maken, wordt de bal vervolgens
vijf stappen bewogen, zodat daarna de paddel in elk geval niet meer wordt aangeraakt. Vervolgens wordt de vliegrichting tegenover de huidige
richting met een willekeurige waarde tussen -20 en 20 graden gewijzigd.
Indien de bal niet de paddel, maar de groene balken aan de rechter rand raakt, dan krijgt de tegenspeler een punt. Daarna wordt de bal weer op
zijn uitgangspositie gezet en met een willekeurige waarde tussen de -20 en 20 graden gedraaid zodat hij niet opnieuw precies dezelfde vliegbaan
neemt, maar toch ongeveer in dezelfde richting, waarin hij laatst is gevlogen, vliegt. Hetzelfde gebeurt ook wanneer de bal de rode balken aan
de linker kant raakt, slechts met het verschil dat dit keer de rechter speler het punt krijgt.
Deze scriptblokken worden uitgevoerd wanneer de bal de linker rode of de rechter groen rand raakt.
In Snap4Arduino kan elk Snap-object met precies één Arduino zijn verbonden. Daarom maakt de paddel Speler1 gebruik van alle vier de
boetseerkleicontacten en leidt de resultaten overeenkomstig verder. Bij het tot stand brengen van een verbinding met de Arduino moet daarom
dit object gekozen zijn.
Bij het aanraken van de boetseerkleicontacten op pen 3 en pen 2 moet de linker paddel Speler1 bewegen. Daarvoor worden de berichten
Speler1op en Speler1af verzonden, die door hetzelfde object geëvalueerd en in opwaartse of afwaartse beweging worden omgezet.
Boetseerkleicontacten evalueren en de paddel van »Speler1« bewegen
De paddel van Speler2 heeft geen toegang tot dezelfde Arduino en ontvangt derhalve eenvoudig de berichte, die de paddel van Speler1 bij het
aanraken van de boetseerkleicontacten aan pen 1 en pen 0 verzendt. Dienovereenkomstig beweegt de paddel opwaarts en afwaarts. Met een klik
op het groene vlagje wordt hij naar de uitgangspositie gebracht en wacht dan op berichten.
Bewegingen van de paddel van »Speler2«
23ste dag
Vandaag in de adventskalender
• RGB-LED
Knipperende kerstverlichting
Componenten: 1x insteekprintplaat, 2x RGB-LED, 6x 220 ohm weerstand (rood-rood-bruin), 7x verbindingskabel, 2x geïsoleerde draadbrug










