Reaction game
Wait for green, then press A as fast as you can. Your time scrolls past.
What you need
- TinkerPie V1 board (or the free online simulator)
- USB-C data cable
Step by step
- Open Reaction game in TinkerPie Studio. It opens as blocks.
- Press Run to try it in the simulator. Use the sliders and buttons under the board picture to test it.
- Connect TinkerPie with a USB-C cable in Chrome or Edge, press Connect, then Download. Or, with Studio started from the TinkerPie launcher on your computer, open the Arduino C++ tab and press Build & Flash.
- Change something: a colour, a number, a sound. Then run it again.
The code
This is the program the blocks make. The same program runs in the simulator and on the board.
JavaScript
var go, start;
input.onButtonPressed(Button.A, function () {
if (go) {
go = false;
music.beep();
basic.showNumber(input.runningTime() - start, Colors.Cyan);
}
});
go = false;
basic.showString('READY', Colors.Orange);
basic.pause(math.randomRange(1000, 4000));
led.fill(Colors.Green);
start = input.runningTime();
go = true;Arduino C++ (TinkerPie library)
// Reaction game
// Arduino C++ made by TinkerPie Studio from the blocks. Board: TinkerPie V1 (ESP32-S3).
// Arduino IDE: install the TinkerPie library (Studio menu > Arduino library), then Tools > Board > ESP32S3 Dev Module,
// USB CDC On Boot: Enabled, Flash Size: 16MB, Partition Scheme: 16M Flash (3MB APP/9.9MB FATFS), PSRAM: OPI PSRAM.
#include <TinkerPie.h>
using namespace tinkerpie;
bool go = false;
double start = 0;
void setup() {
tinkerpie::begin();
input::onButtonPressed(Button::A, []() {
if (go) {
go = false;
music::beep();
basic::showNumber(input::runningTime() - start, Colors::Cyan);
}
});
go = false;
basic::showString("READY", Colors::Orange);
basic::pause(math::randomRange(1000, 4000));
led::fill(Colors::Green);
start = input::runningTime();
go = true;
}
void loop() {
tinkerpie::loop(); // runs the forever blocks and handles events
}More projects like this
Hello, TinkerPieA red heart, then your first scrolling message.StarterScrolling BOTICSBOTICS scrolls across the matrix in a new colour every time.StarterHeartbeatA beating heart: brightness pulses like lub-dub.Starter
Rainbow waveA rainbow that flows across all 30 LEDs.StarterButton counterA adds one, B resets. Counts show on the matrix.StarterShake diceShake the board to roll a number from 1 to 6, with a click.Starter