Bump V3.0.22 (#110)
* change simulator svg * change radio image * Remove google fonts cdn * change color of 'advanced' button * font fix * font fix 2 * display fix * change fullsceen simulator bg * Continuous servo * handle continuous state * adding shims * update rendering for continuous servos * fixing sim * fix sig * typo * fix sim * bump pxt * bump pxt * rerun travis * Input blocks revision - add Button and Pin event types - merge onPinPressed & onPinReleased in new onPinEvent function - create new onButtonEvent function * update input blocks in docs and tests * remove device_pin_release block * Hide DAL.x behind Enum * bring back deprecated blocks, but hide them * shims and locales files * fix input.input. typing * remove buildpr * bump V3 * update simulator aspect ratio * add Loudness Block * revoke loudness block * Adds soundLevel To be replaced by pxt-common-packages when DAL is updated. * Remove P0 & P3 from AnalogPin Co-authored-by: Juri <gitkraken@juriwolf.de>
This commit is contained in:
30
docs/blocks/logic/boolean.md
Normal file
30
docs/blocks/logic/boolean.md
Normal file
@ -0,0 +1,30 @@
|
||||
# @extends
|
||||
|
||||
## #examples
|
||||
|
||||
## Example: ``AND`` operator
|
||||
|
||||
This example turns on LED `3 , 3`, if LEDs `1 , 1` and `2 , 2` are both on:
|
||||
|
||||
```blocks
|
||||
if (led.point(1,1) && led.point(2,2)) {
|
||||
led.plot(3,3)
|
||||
}
|
||||
```
|
||||
|
||||
## Example: Comparisons of numbers and strings
|
||||
|
||||
When you compare two Numbers, you get a Boolean value, such as the comparison `x < 5` in the code below:
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
let x = randint(0, 5)
|
||||
if(x < 5) {
|
||||
basic.showString("low");
|
||||
} else {
|
||||
basic.showString("high");
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
See the documentation on [Numbers](/types/number) for more information on comparing two Numbers.
|
15
docs/blocks/logic/if.md
Normal file
15
docs/blocks/logic/if.md
Normal file
@ -0,0 +1,15 @@
|
||||
# @extends
|
||||
|
||||
## #examples
|
||||
|
||||
## Example: adjusting screen brightness
|
||||
|
||||
If the [light level](/reference/input/light-level) is `< 100`, this code sets the brightness to `255` when the button A is pressed:
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
if(input.lightLevel()<100){
|
||||
led.setBrightness(255);
|
||||
}
|
||||
})
|
||||
```
|
3
docs/blocks/loops.md
Normal file
3
docs/blocks/loops.md
Normal file
@ -0,0 +1,3 @@
|
||||
# @extends
|
||||
|
||||
## #specific
|
20
docs/blocks/loops/for-of.md
Normal file
20
docs/blocks/loops/for-of.md
Normal file
@ -0,0 +1,20 @@
|
||||
# @extends
|
||||
|
||||
## #examples
|
||||
|
||||
## Example: Find the highest number
|
||||
|
||||
Find the highest number in a list of numbers. Display the highest number on the screen.
|
||||
|
||||
```blocks
|
||||
let list: number[] = []
|
||||
let highest = 0
|
||||
highest = 0
|
||||
list = [5, 8, 6, 2, 4, 3, 7, 1]
|
||||
for (let value of list) {
|
||||
if (value > highest) {
|
||||
highest = value
|
||||
}
|
||||
}
|
||||
basic.showNumber(highest)
|
||||
```
|
15
docs/blocks/loops/for.md
Normal file
15
docs/blocks/loops/for.md
Normal file
@ -0,0 +1,15 @@
|
||||
# @extends
|
||||
|
||||
## #examples
|
||||
|
||||
## Example: Count to 4
|
||||
|
||||
This program will show the numbers 0, 1, 2, 3, and 4 one after another on the LED screen.
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
for(let i = 0; i < 5; ++i) {
|
||||
basic.showNumber(i)
|
||||
}
|
||||
})
|
||||
```
|
16
docs/blocks/loops/repeat.md
Normal file
16
docs/blocks/loops/repeat.md
Normal file
@ -0,0 +1,16 @@
|
||||
# @extends
|
||||
|
||||
## #examples
|
||||
|
||||
## Example: Blinking heart
|
||||
|
||||
Flash the ``heart`` icon on the screen `4` times.
|
||||
|
||||
```blocks
|
||||
for (let i = 0; i < 4; i++) {
|
||||
basic.showIcon(IconNames.Heart)
|
||||
basic.pause(300)
|
||||
basic.clearScreen()
|
||||
basic.pause(300)
|
||||
}
|
||||
```
|
17
docs/blocks/loops/while.md
Normal file
17
docs/blocks/loops/while.md
Normal file
@ -0,0 +1,17 @@
|
||||
# @extends
|
||||
|
||||
## #examples
|
||||
|
||||
## Example: diagonal line
|
||||
|
||||
The following example uses a while loop to make a diagonal line on the LED screen (points `0, 0`, `1, 1`, `2, 2`, `3, 3`, `4, 4`).
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
let index = 4;
|
||||
while(index >= 0) {
|
||||
led.plot(index, index);
|
||||
index--;
|
||||
}
|
||||
})
|
||||
```
|
29
docs/blocks/math/random-boolean.md
Normal file
29
docs/blocks/math/random-boolean.md
Normal file
@ -0,0 +1,29 @@
|
||||
# random Boolean
|
||||
|
||||
Returns a pseudo-random boolean value that is either `true` or `false`.
|
||||
|
||||
```sig
|
||||
Math.randomBoolean()
|
||||
```
|
||||
|
||||
## Returns
|
||||
|
||||
* a pseudo-random [boolean](types/boolean) that is either `true` or `false`.
|
||||
|
||||
## Example
|
||||
|
||||
Make your @boardname@ do a coin toss when it's dropped softly. Have the LEDs show 'heads' or 'tails' as the result of the toss.
|
||||
|
||||
```blocks
|
||||
input.onGesture(Gesture.FreeFall, () => {
|
||||
if (Math.randomBoolean()) {
|
||||
basic.showIcon(IconNames.Happy)
|
||||
} else {
|
||||
basic.showIcon(IconNames.Sword)
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
## See Also
|
||||
|
||||
[random](/reference/math/random)
|
12
docs/blocks/on-start.md
Normal file
12
docs/blocks/on-start.md
Normal file
@ -0,0 +1,12 @@
|
||||
# @extends
|
||||
|
||||
## #exstart
|
||||
|
||||
In this example, ``on start`` sets a dimmer brightness on the screen and the button handler shows a string.
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
basic.showString("Hello!")
|
||||
})
|
||||
led.setBrightness(50)
|
||||
```
|
36
docs/blocks/variables/assign.md
Normal file
36
docs/blocks/variables/assign.md
Normal file
@ -0,0 +1,36 @@
|
||||
# Assignment Operator
|
||||
|
||||
Use an equals sign to make a [variable](/blocks/variables/var) store the [number](/types/number)
|
||||
or [string](/types/string) you say.
|
||||
|
||||
When you use the equals sign to store something in a variable, the equals sign is called
|
||||
an *assignment operator*, and what you store is called a *value*.
|
||||
|
||||
## Storing numbers in variables
|
||||
|
||||
This program makes the variable `item` equal `5` and then shows it on the [LED screen](/device/screen).
|
||||
|
||||
````blocks
|
||||
let item = 5
|
||||
basic.showNumber(item)
|
||||
````
|
||||
|
||||
## Storing strings in variables
|
||||
|
||||
This program makes the variable `name` equal `Joe` and then shows it on the [LED screen](/device/screen).
|
||||
|
||||
````blocks
|
||||
let name = "Joe"
|
||||
basic.showString(name);
|
||||
````
|
||||
|
||||
## Notes
|
||||
|
||||
You can use the assignment operator with variables of
|
||||
every [type](/types). A *type* is which kind of thing
|
||||
a variable can store, like a number or string.
|
||||
|
||||
## See also
|
||||
|
||||
[variable](/blocks/variables/var), [types](/types)
|
||||
|
13
docs/blocks/variables/change.md
Normal file
13
docs/blocks/variables/change.md
Normal file
@ -0,0 +1,13 @@
|
||||
# @extends
|
||||
|
||||
## #examples
|
||||
|
||||
## Example: show the value of 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. Then display the new value of the variable on the LED screen. Like this:
|
||||
|
||||
```blocks
|
||||
let x = 0;
|
||||
x += 1;
|
||||
basic.showNumber(x);
|
||||
```
|
87
docs/blocks/variables/var.md
Normal file
87
docs/blocks/variables/var.md
Normal file
@ -0,0 +1,87 @@
|
||||
# Local Variables
|
||||
|
||||
How to define and use local variables.
|
||||
|
||||
## @parent language
|
||||
|
||||
A variable is a place where you can store and retrieve data. Variables have a name, a [type](/types), and value:
|
||||
|
||||
* *name* is how you'll refer to the variable
|
||||
* *type* refers to the kind of data a variable can store
|
||||
* *value* refers to what's stored in the variable
|
||||
|
||||
## Var statement
|
||||
|
||||
Use the Block Editor variable statement to create a variable
|
||||
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:
|
||||
|
||||
```blocks
|
||||
let x = 2;
|
||||
```
|
||||
Here's how to define a variable in the Block Editor:
|
||||
|
||||
1. Click `variables`.
|
||||
|
||||
2. Change the default variable name if you like.
|
||||
|
||||
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.
|
||||
|
||||
```blocks
|
||||
let b = led.brightness();
|
||||
```
|
||||
|
||||
## Using variables
|
||||
|
||||
Once you've defined a variable, just use the variable's name whenever you need what's stored in the variable. For example, the following code shows the value stored in `counter` on the LED screen:
|
||||
|
||||
```blocks
|
||||
let counter = 1;
|
||||
basic.showNumber(counter);
|
||||
```
|
||||
|
||||
To change the contents of a variable use the assignment operator. The following code sets `counter` to 1 and then increments `counter` by 10:
|
||||
|
||||
```blocks
|
||||
let counter = 1;
|
||||
counter = counter + 10;
|
||||
basic.showNumber(counter);
|
||||
```
|
||||
|
||||
## Why use variables?
|
||||
|
||||
If you want to remember and modify data, you'll need a variable.
|
||||
A counter is a great example:
|
||||
|
||||
```blocks
|
||||
let counter = 0;
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
counter = counter + 1;
|
||||
basic.showNumber(counter);
|
||||
});
|
||||
```
|
||||
|
||||
## Local variables
|
||||
|
||||
Local variables exist only within the function or block of code where they're defined. For example:
|
||||
|
||||
```blocks
|
||||
// x does NOT exist here.
|
||||
if (led.brightness() > 128) {
|
||||
// x exists here
|
||||
let x = 0;
|
||||
}
|
||||
```
|
||||
|
||||
### Notes
|
||||
|
||||
* You can use the default variable names if you'd like, however, it's best to use descriptive variable names. To change a variable name in the editor, select the down arrow next to the variable and then click "new variable".
|
||||
|
||||
## See also
|
||||
|
||||
[types](/types), [assignment operator](/blocks/variables/assign)
|
||||
|
Reference in New Issue
Block a user