From b8b275fccb27182185e9ffd01babd8b853008213 Mon Sep 17 00:00:00 2001 From: Jez Dean Date: Thu, 2 Feb 2017 17:39:00 +0000 Subject: [PATCH 1/2] Adding @romilly program --- code/reaction-timer.py | 27 +++++++ reaction-timer.md | 127 ++++++++++++++++++++++++++++++++ teaser/card/reaction-timer.jpeg | Bin 0 -> 3971 bytes teaser/reaction-timer.png | Bin 0 -> 13585 bytes teaser/tiny/reaction-timer.jpeg | Bin 0 -> 3534 bytes 5 files changed, 154 insertions(+) create mode 100644 code/reaction-timer.py create mode 100644 reaction-timer.md create mode 100644 teaser/card/reaction-timer.jpeg create mode 100644 teaser/reaction-timer.png create mode 100644 teaser/tiny/reaction-timer.jpeg diff --git a/code/reaction-timer.py b/code/reaction-timer.py new file mode 100644 index 0000000..407d7f6 --- /dev/null +++ b/code/reaction-timer.py @@ -0,0 +1,27 @@ +from microbit import * +import random + +# Show animation for random time +display.show(Image.ALL_CLOCKS, loop=True, wait=False, delay=100) +sleep(random.randint(500, 5000)) + +# prompt user to press button +display.show(Image.ARROW_E) +start_time = running_time() # set start time + +# wait for button_b to be pressed +while not button_b.was_pressed(): + sleep(20) + +# record time taken to press button +end_time = running_time() + +# calculate and scroll reaction time +reaction_time = end_time - start_time +display.scroll(str(reaction_time)) + +# reset if button a is pressed +display.show(Image.ARROW_W) +while not button_a.was_pressed(): + sleep(20) +reset() \ No newline at end of file diff --git a/reaction-timer.md b/reaction-timer.md new file mode 100644 index 0000000..e0c7fa7 --- /dev/null +++ b/reaction-timer.md @@ -0,0 +1,127 @@ +--- +title: "Reaction Timer" +layout: text-width-sidebar + +# Meta description for google and sharing +meta-description: "microbit game in python to time the reaction speed of a user pressing a button." + +# simple description for TOC +simple-description: "Reaction Timer" + +############# +## Options ## +############# + +share: true +comments: yes +author: romilly + +############################### +## Program Template Specific ## +############################### + +# Stapline beneath the header +strapline: "Reaction Timer Game" + +# About Box is on the left of the program page +aboutbox: "A single person game to time the reaction speed of a user's input." + +# Difficulty of program: easy, medium or ninja +cats: medium + +date: 2017-02-02T10:20:00Z +date-updated: 2017-02-02T10:20:00Z +--- + +{% highlight python %}{% include_relative code/reaction-timer.py %}{% endhighlight %} + +This is a simple game to show how long it takes a user to press a button. + +* Show an animation of a clock face for a random amount of time +* Prompt user to press a button +* Display time taken for the user to press the button + +A video will go here. + +### Code Explained +{: .ui .dividing .header} + + + +#### Import Random +{% highlight python %} +from microbit import * +import random +{% endhighlight %} + +The program uses `random.randint(500, 5000)` to return a random number between 500 and 5000. The random number module must be imported with `import random`. + +The random number between `500` and `5000` is used to tell the microbit to sleep for a random amount of time between .5 and 5 seconds. + + + +#### Clock Animation +A clock animation is shown on the microbit before prompting the user to press a button. The code is: + +{% highlight python %} +display.show(Image.ALL_CLOCKS, loop=True, wait=False, delay=100) +{% endhighlight %} + +`Image.ALL_CLOCKS` is a list of all the clock images, eg `CLOCK1`, `CLOCK2`, `CLOCK3`, etc. + +The [microbit micropython documentation gives a complete explaination](http://microbit-micropython.readthedocs.io/en/latest/display.html) of `display.show`: + +In this program, `loop=True` causes all images in the `Image.ALL_CLOCKS` list to repeat. `wait=False` causes the animation to happen the the background. + + + +#### Calculate Reaction Time +* `running_time()` returns the amount of time the microbit has been running in milliseconds since the last reset. +* `start_time` is the time at which the timer began waiting for a user to press button_b. +* `end_time` is the time at which the user pressed button_b. + +The difference between `start_time` and `end_time` is the time in milliseconds it took for the user to press button_b. + + + +#### Wait for User to Press Button +{% highlight python %} +while not button_b.was_pressed(): + sleep(20) +{% endhighlight %} + +`button_b.was_pressed()` returns true if `button_b` was pressed since the last time it was called. + +This `while loop` continues while button_b was not pressed. It essentially waits for `button_b` to be pressed. + + + +#### Scroll Reaction Time + +{% highlight python %} +display.scroll(str(reaction_time)) +{% endhighlight %} + +Convert `reaction_time` (the time taken for the user to press the button) to a string and scroll it on the display. + + + +#### Reset + +{% highlight python %} +display.show(Image.ARROW_W) +while not button_a.was_pressed(): + sleep(20) +reset() +{% endhighlight %} + +At the end of the program, an arrow points at `button_a`. A `while` loop waits for the user to press `button_a`. + +When `button_a.was_pressed()`, `reset()` is called which restarts the microbit and causes the program to run again. + + + +### Next Steps + +* It's possible to cheat but pressing `button_b` when the clock animation is showing. Introduce a way of stopping the cheating. +* Make a two player game. \ No newline at end of file diff --git a/teaser/card/reaction-timer.jpeg b/teaser/card/reaction-timer.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..28383776b5b74d41b61e3be7fa6e01bc5a80d9c3 GIT binary patch literal 3971 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 literal 0 HcmV?d00001 diff --git a/teaser/reaction-timer.png b/teaser/reaction-timer.png new file mode 100644 index 0000000000000000000000000000000000000000..2af019fc6f8af44fc0eef45da2b28014f82c8f18 GIT binary patch literal 13585 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 NbJMFPrAAH<{}1MZbkhI; literal 0 HcmV?d00001 diff --git a/teaser/tiny/reaction-timer.jpeg b/teaser/tiny/reaction-timer.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..68b5eda7e3e605262987979e328cc5f063eec52f GIT binary patch literal 3534 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 MDEr^x06%%>Ul$icn*aa+ literal 0 HcmV?d00001 From 8c387474170b2d3da4015d5853c33261f2c964a8 Mon Sep 17 00:00:00 2001 From: Jez Dean Date: Thu, 2 Feb 2017 17:44:02 +0000 Subject: [PATCH 2/2] Adding further info --- reaction-timer.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/reaction-timer.md b/reaction-timer.md index e0c7fa7..3196f5a 100644 --- a/reaction-timer.md +++ b/reaction-timer.md @@ -124,4 +124,11 @@ When `button_a.was_pressed()`, `reset()` is called which restarts the microbit a ### Next Steps * It's possible to cheat but pressing `button_b` when the clock animation is showing. Introduce a way of stopping the cheating. -* Make a two player game. \ No newline at end of file +* Make a two player game. + + + +### See More + +* This program is also [written up here](http://blog.rareschool.com/2017/01/a-simple-reaction-timer-in-micropython.html). +* The code is available [on github](https://github.com/microbit-and-chips/reaction-timer). \ No newline at end of file