Compare commits

..

46 Commits

Author SHA1 Message Date
f1ee861eb4 0.2.169 2016-06-16 13:24:54 -07:00
2ce2fd95ba Bump pxt-core to 0.2.181 2016-06-16 13:24:52 -07:00
741f94ce6c typo fixed 2016-06-16 16:21:59 -04:00
4b7e415ae7 fixing package 2016-06-16 13:18:37 -07:00
3efbb4fbde Merge remote-tracking branch 'origin/master'
# Conflicts:
#	package.json
2016-06-16 16:16:08 -04:00
4d9450dd06 getting started 2016-06-16 16:15:24 -04:00
910870e46f Edited for simpler language 2016-06-16 12:52:47 -07:00
b664df4208 0.2.168 2016-06-16 12:12:48 -07:00
c660277a23 Bump pxt-core to 0.2.180 2016-06-16 12:12:46 -07:00
0416d88d59 Merge remote-tracking branch 'origin/master' 2016-06-16 14:56:37 -04:00
4f822e3cda update 2016-06-16 14:46:48 -04:00
20d4e473ff finishing with link to projects 2016-06-16 09:50:12 -07:00
e45190922e 0.2.167 2016-06-16 08:51:37 -07:00
1df118fa19 more docs on running locally 2016-06-16 08:01:28 -07:00
8ba27ccc2d 0.2.166 2016-06-15 23:18:13 -07:00
ff646d32b5 Bump pxt-core to 0.2.179 2016-06-15 23:18:09 -07:00
75d99b324c Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-15 23:14:30 -07:00
ece91d980a updated bundled translations 2016-06-15 23:12:44 -07:00
a6a9f25e86 updated docs and strings 2016-06-15 22:50:23 -07:00
cc5330bf3d removed broken cross link 2016-06-15 22:22:10 -07:00
4a9e1466e6 Added Parameters section. 2016-06-15 17:56:41 -07:00
fa947036f0 Rewrote in simple language, added xrefs, etc. 2016-06-15 17:01:18 -07:00
0b0884a7eb 0.2.165 2016-06-15 16:54:16 -07:00
d5b2a21d16 Bump pxt-core to 0.2.178 2016-06-15 16:54:14 -07:00
fe28dd9b92 0.2.164 2016-06-15 16:15:51 -07:00
cfcbe8fb41 Bump pxt-core to 0.2.177 2016-06-15 16:15:48 -07:00
d86f820a57 Rewrote in simple language. Replaced screenshot. Added xrefs. 2016-06-15 15:58:35 -07:00
ace1ddb00b 0.2.163 2016-06-15 15:35:15 -07:00
96be411ba2 Bump pxt-core to 0.2.176 2016-06-15 15:35:14 -07:00
f24f7c2279 Rewrote in simple language. Streamlined. Added example. 2016-06-15 14:56:58 -07:00
0130a7753e Rewrote in simple language. Streamlined. Added cross-refs. 2016-06-15 14:14:15 -07:00
54b72ba312 reduce to 5 menu items 2016-06-15 14:04:06 -04:00
7bced60466 fix more broken links 2016-06-15 08:09:40 -04:00
041b10ef04 fix broken links 2016-06-15 07:55:19 -04:00
0e08b58f84 add basic typescript page 2016-06-15 06:31:18 -04:00
dd14489f47 0.2.162 2016-06-14 21:06:14 -07:00
6d6c2b5e99 Bump pxt-core to 0.2.173 2016-06-14 21:06:13 -07:00
251f382e8e remove old stuff 2016-06-14 22:06:55 -04:00
887a652a06 more remapping 2016-06-14 21:44:51 -04:00
bbbb1ea6bc moving stuff around 2016-06-14 21:37:55 -04:00
2c399f198a move LED namespace after music 2016-06-14 19:16:08 -04:00
54213cf554 put lessons back for Michael 2016-06-14 17:28:08 -04:00
0c67cd8e8b Merge branch 'master' of https://github.com/Microsoft/pxt-microbit 2016-06-14 17:21:02 -04:00
a0a23a261c restructuring to separate language from API 2016-06-14 17:20:45 -04:00
20c7a16524 Used Dimension.X in sample instead of string 2016-06-14 14:01:00 -07:00
beac252620 renaming... 2016-06-14 14:39:31 -04:00
258 changed files with 867 additions and 352 deletions

View File

@ -13,6 +13,7 @@ PXT ([Microsoft Programming Experience Toolkit](https://github.com/Microsoft/pxt
The following commands are a 1-time setup after synching the repo on your machine.
* clone this repo to your computer
* install the PXT command line
```
npm install -g pxt

View File

@ -29,19 +29,23 @@ The BBC micro:bit was made possible by many [partners](https://www.microbit.co.u
The micro:bit provides an easy and fun introduction to programming and making switch on, program it to do something fun wear it, customize it.
Just like Arduino, the micro:bit can be connected to and interact with sensors, displays, and other devices.
## Blocks or JavaScript
## Hardware: The Device
The student can program the BBC micro:bit using Blocks or JavaScript.
Learn about about the [hardware components](/device) of the micro:bit to make the most of it!
## Programming: Blocks or JavaScript
The student can program the BBC micro:bit using [Blocks](/blocks) or [JavaScript](/typescript), via the [micro:bit APIs](/reference):
```blocks
basic.showString("Hi!");
```
## Compile and Flash
## Compile and Flash: Your Program!
When a user has her code ready, she can connect her BBC micro:bit to a computer via a USB cable, so it appears as a mounted drive (named MICROBIT).
Compilation to the ARM thumb machine code happens in the browser.
Compilation to ARM thumb machine code from [Blocks](/blocks) or [JavaScript](/typescript) happens in the browser.
The student is prompted to save the ARM binary program to a file, which she then simply drags to the micro:bit mounted drive,
which flashes the micro:bit device with the new program.
@ -56,7 +60,7 @@ The simulator has support for the LED screen, buttons, as well as compass, accel
The [C++ BBC micro:bit runtime](http://lancaster-university.github.io/microbit-docs/), created at [Lancaster University](http://www.lancaster.ac.uk/), provides access to the hardware functions of the micro:bit,
as well as a set of helper functions (such as displaying a number/image/string on the LED screen).
The JavaScript micro:bit library mirrors the functions of the C++ library.
The [micro:bit library](/reference) mirrors the functions of the C++ library.
When code is compiled to ARM machine code, the calls to JavaScript micro:bit functions are replaced with calls to the corresponding C++ functions.
## Open Source

View File

@ -1,6 +1,6 @@
# Blocks language
```namspaces
```namespaces
for (let i = 0;i<5;++i) {}
if (true){}
let x = 0;

View File

@ -2,8 +2,6 @@
true or false.
### @parent blocks/language
A Boolean has one of two possible values: `true`; `false`. Boolean (logical) operators (*and*, *or*, *not*) take Boolean inputs and yields a Boolean value. Comparison operators on other types ([numbers](/reference/types/number), [strings](/reference/types/string) yields a Boolean value.
The following blocks represent the true and false Boolean values, which can be plugged in anywhere a Boolean value is expected:
@ -32,7 +30,7 @@ The next six blocks represent comparison operators that yield a Boolean value. M
42 >= 0;
```
Boolean values and operators are often used with an [if](/reference/logic/if) or [while](/reference/loops/while) statement to determine which code will execute next. For example:
Boolean values and operators are often used with an [if](/blocks/logic/if) or [while](/blocks/loops/while) statement to determine which code will execute next. For example:
### Functions that return a Boolean
@ -100,5 +98,5 @@ See the documentation on [Numbers](/reference/types/number) for more information
### See also
[if](/reference/logic/if), [while](/reference/loops/while), [number](/reference/types/number)
[if](/blocks/logic/if), [while](/blocks/loops/while), [number](/reference/types/number)

28
docs/blocks/logic/if.md Normal file
View File

@ -0,0 +1,28 @@
# If
### @parent blocks/language
Conditionally run code depending on whether a [Boolean](/blocks/logic/boolean) condition is true or false.
```blocks
if(true) {
}
```
Click on the dark blue gear icon (see above) to add an *else* or *if* to the current block.
### Example: adjusting screen brightness
```blocks
if(input.lightLevel()<100){
led.setBrightness(255);
}
```
If the [light level](/reference/input/light-level) is `< 100`, this code sets the brightness to `255`:
### See also
[while loop](/blocks/loops/while), [for](/blocks/loops/for), [boolean](/blocks/logic/boolean)

View File

@ -3,5 +3,5 @@
```cards
for(let i = 0;i<5;i++) {}
while(true) {}
basic.forever(() => {})
basic.forever(() => {});
```

View File

@ -16,5 +16,5 @@ basic.showNumber(i)
### See also
[repeat](/reference/loops/repeat), [while](/reference/loops/while), [if](/reference/logic/if), [show number](/reference/basic/show-number)
[repeat](/blocks/loops/repeat), [while](/blocks/loops/while), [if](/blocks/logic/if), [show number](/reference/basic/show-number)

View File

@ -8,5 +8,5 @@ Run part of the program the number of times you say.
### See also
[for](/reference/loops/for), [while](/reference/loops/while), [if](/reference/logic/if), [show number](/reference/basic/show-number)
[for](/blocks/loops/for), [while](/blocks/loops/while), [if](/blocks/logic/if), [show number](/reference/basic/show-number)

View File

@ -1,16 +1,13 @@
# While
### @parent blocks/language
Repeat code while a [Boolean](/reference/types/boolean) `condition` is true.
Repeat code while a [Boolean](/blocks/logic/boolean) `condition` is true.
```blocks
while(true) {
}
```
The while loop has a *condition* that evaluates to a [Boolean](/reference/types/boolean) value. After the `do` keyword, add the code that you want to run while the `condition` is `true`. The while loop concludes with `end while`.
The while loop has a *condition* that evaluates to a [Boolean](/blocks/logic/boolean) value. After the `do` keyword, add the code that you want to run while the `condition` is `true`. The while loop concludes with `end while`.
The condition is tested before any code runs. Which means that if the condition is false, the code inside the loop doesn't execute.
@ -28,5 +25,5 @@ while(index >= 0) {
### See also
[on button pressed](/reference/input/on-button-pressed), [for](/reference/loops/for), [if](/reference/logic/if), [forever](/reference/basic/forever)
[on button pressed](/reference/input/on-button-pressed), [for](/blocks/loops/for), [if](/blocks/logic/if), [forever](/reference/basic/forever)

View File

@ -1,15 +1,9 @@
# Math Library
Functions in the math library.
# Math functions
### @parent blocks/language
The math library includes math related functions that you can use with [Numbers](/reference/types/number).
* In the [Block editor](/blocks/editor), click **maths** on the left to see the available blocks
The functions available in Block Editor are:
### abs
math `->` abs (x : [Number](/reference/types/number)) *returns* [Number](/reference/types/number)
@ -44,5 +38,5 @@ returns a random [Number](/reference/types/number) between 0 and the parameter *
### See also
[Block Editor documentation](/blocks/contents), [Number](/reference/types/number)
[Number](/reference/types/number)

View File

@ -1,6 +1,6 @@
## Variables
[Assign](/reference/variables/assign) (set) a variable's value
[Assign](/blocks/variables/assign) (set) a variable's value
```blocks
let x = 0;
@ -13,7 +13,7 @@ let x = 0;
x;
```
[Change](/reference/variables/change-var) a variable's value
[Change](/blocks/variables/change-var) a variable's value
```blocks
let x = 0;

View File

@ -1,6 +1,6 @@
# Assignment Operator
Use an equals sign to make a [variable](/reference/variables/var) store the [number](/reference/types/number)
Use an equals sign to make a [variable](/blocks/variables/var) store the [number](/reference/types/number)
or [string](/reference/types/string) you say.
When you use the equals sign to store something in a variable, the equals sign is called
@ -32,5 +32,5 @@ a variable can store, like a number or string.
### See also
[variable](/reference/variables/var), [types](/reference/types)
[variable](/blocks/variables/var), [types](/reference/types)

View File

@ -0,0 +1,40 @@
# Change Value
Set the value for local and global variables.
### @parent blocks/change-value
Change the value of a variable
```blocks
let x = 0
x += 1
```
### Declare a variable
Use the assignment operator to set the value of a [variable](/blocks/variables/var). Change the value of a variable from 0 to 1 using the change item block. Like this:
```blocks
let x = 0
x += 1
```
### Example
Use the assignment operator to set the value of a [variable](/blocks/variables/var). Change the value of a variable from 0 to 1 using the change item block. Then display the new value of the variable on the LED screen. Like this:
```blocks
let x = 0;
x += 1;
basic.showNumber(x);
```
### Notes
* You can use the assignment operator with variables of each of the supported [types](/reference/types).
### See also
[variable](/blocks/variables/var), [types](/reference/types)

View File

@ -13,7 +13,7 @@ A variable is a place where you can store and retrieve data. Variables have a na
### Var statement
Use the Block Editor variable statement to create a variable
and the [assignment operator](/reference/variables/assign)
and the [assignment operator](/blocks/variables/assign)
to store something in the variable.
For example, this code stores the number `2` in the `x` variable:
@ -27,7 +27,7 @@ Here's how to define a variable in the Block Editor:
2. Change the default variable name if you like.
3. Drag a block type on the right-side of the [assignment operator](/reference/variables/assign) and click the down arrow to change the variable name.
3. Drag a block type on the right-side of the [assignment operator](/blocks/variables/assign) and click the down arrow to change the variable name.
A variable is created for the number returned by the [brightness](/reference/led/brightness) function.
@ -83,5 +83,5 @@ if (led.brightness() > 128) {
### See also
[types](/reference/types), [assignment operator](/reference/variables/assign)
[types](/reference/types), [assignment operator](/blocks/variables/assign)

View File

@ -2,7 +2,8 @@
How to compile, transfer, and run a script on your micro:bit.
While you're writing and testing your Block Editor or Touch Develop scripts, you'll mostly be running scripts in your browser by clicking the `Run` button (see [run code in your browser](/device/simulator) for info about this).
While you're writing and testing your scripts, you'll mostly be running scripts in your browser by clicking the `PLay` button
(see [run code in your browser](/device/simulator) for info about this).
Once your masterpiece is complete, you can compile your script and run it on your micro:bit.

View File

@ -26,8 +26,8 @@ input.onButtonPressed(Button.B, () => {
* **[getting started](/getting-started)**
* Get started with [projects](/projects)
* Browse the [API reference](/reference)
* Learn more about the [device](/device)
* Browse the [micro:bit APIs](/reference)
* Learn more about the [micro:bit device](/device)
* Frequently Asked Question [faq](/faq)
* Follow up with the [release notes](/release-notes)

View File

@ -4,15 +4,16 @@
Are you ready to build cool BBC micro:bit programs?
Here are some challenges for you. Unscramble the blocks in the editor
Here are some challenges for you. Arrange the blocks in the editor
to make real programs that work!
## ~
### Happy face
There are three blocks in the editor (the area to the left).
They should look like this:
Use the **Basic** drawer in the editor (to the left)
to drag out and arrange three blocks (two `show leds` and one `forever` block)
to create this program:
```blocks
basic.forever(() => {
@ -33,7 +34,7 @@ basic.forever(() => {
});
```
When you run this program, you will see a smiley face, then a blank
When you run this program (click the **Play** button) you will see a smiley face, then a blank
screen, then a smiley again -- it never stops! (That's because of the
``forever`` block.)
@ -69,7 +70,7 @@ Click **Compile** to move your program to the BBC micro:bit!
### Your turn!
Pile up more ``show leds`` blocks to create your animation! Create an
Pile up more ``show leds`` blocks to create an animation! Create an
animation with at least 5 pictures. What does this animation show?
```blocks
@ -496,7 +497,7 @@ input.onButtonPressed(Button.B, () => {
```
Click **Compile** to move your program to the BBC micro:bit!
## Your turn!
How else can you make your game better?
Ever hear of [Rock Paper Scissors Spock Lizard](http://www.samkass.com/theories/RPSSL.html)?
# Want to do more?
There are [10 great projects](/projects) waiting for you.

View File

@ -30,7 +30,6 @@
* [Guess the Number](/lessons/guess-the-number), guess a random number with pick number
* [Counter](/lessons/counter), display a number with a variable
* [Love Meter](/lessons/love-meter), create a love meter with on pin pressed
* [Rock Paper Scissors](/lessons/rock-paper-scissors), create the classic game of rock paper scissors with if statement
* [Truth or Dare](/lessons/truth-or-dare), a game that forces each player to reveal a secret or do something funny with if statement
* [Spinner](/lessons/spinner), spin the arrow with multiple if statements
* [Dice Roll](/lessons/dice-roll), spin with more if statements
@ -43,7 +42,6 @@
* [Zoomer](/lessons/zoomer), measure the force with acceleration
* [Glowing Pendulum](/lessons/glowing-pendulum), construct a pendulum that glows using acceleration
* [Classic Beatbox](/lessons/classic-beatbox), make a beatbox music player with variables
* [Light Beatbox](/lessons/light-beatbox), make a beatbox music player with light level
### ~
@ -65,5 +63,3 @@
### ~
### @section full
The lessons promote computational thinking and computer science literacy.

View File

@ -34,7 +34,7 @@ basic.showLeds(`
`)
```
* **variable**: [read more...](/reference/variables/var)
* **variable**: [read more...](/blocks/variables)
* **arithmetic operators**: [read more...](/reference/types/number)
* **on button pressed** : [read more...](/reference/input/on-button-pressed)
* **show number** : [read more...](/reference/basic/show-number)

View File

@ -42,19 +42,18 @@ Learn how to create a charades game with **collections**, ` create -> Collection
## Documentation
* **collection**
* **global variables** : [read more...](/reference/variables/globals.md)
* **Boolean** : [read more...](/reference/types/boolean)
* **on logo up** [read more...](/functions/on-logo-up)
* **on screen down** [read more...](/functions/on-screen-down)
* **on screen up** [read more...](/functions/on-screen-up)
* **variables** : [read more...](/blocks/variables)
* **Boolean** : [read more...](/blocks/logic/boolean)
* **on logo up** [read more...](/reference/input/on-gesture)
* **on screen down** [read more...](/reference/input/on-gesture)
* **on screen up** [read more...](/reference/input/on-gesture)
* **show string** : [read more...](/reference/basic/show-string)
* **game library** : [read more...](/reference/game-library)
* **game library** : [read more...](/reference/game)
## Resources
* Activity: [tutorial](/lessons/headbands/activity)
* Activity: [quiz](/lessons/headbands/quiz)
* Extended Activity: [challenges](/lessons/headbands/challenges)
* Quiz: [quiz](/lessons/headbands/quiz)
## Objectives
@ -115,15 +114,6 @@ Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algor
* [tutorial](/lessons/headbands/activity)
* [quiz](/lessons/headbands/quiz)
## Extended Activity
* time: 20 min.
* [challenges](/lessons/headbands/challenges)
## Homework
* Extended Activity: [challenges](/lessons/headbands/challenges)
## Intended follow on
Publish script to the classroom.

Some files were not shown because too many files have changed in this diff Show More