parent
6b94222a3e
commit
710abd50cb
@ -48,6 +48,11 @@ Fun project courses - make and experiment while learning about science and progr
|
|||||||
|
|
||||||
```codecard
|
```codecard
|
||||||
[{
|
[{
|
||||||
|
"name": "Blocks to JavaScript",
|
||||||
|
"description": "Learn to code using JavaScript",
|
||||||
|
"url": "/courses/blocks-to-javascript",
|
||||||
|
"imageUrl": "/static/courses/blocks-to-javascript.png"
|
||||||
|
}, {
|
||||||
"name": "SparkFun Inventor's Kit",
|
"name": "SparkFun Inventor's Kit",
|
||||||
"description": "Your map for navigating the waters of beginning embedded electronics, robotics and citizen science using the micro:bit.",
|
"description": "Your map for navigating the waters of beginning embedded electronics, robotics and citizen science using the micro:bit.",
|
||||||
"url": "https://learn.sparkfun.com/tutorials/sparkfun-inventors-kit-for-microbit-experiment-guide/introduction-to-the-sparkfun-inventors-kit-for-microbit",
|
"url": "https://learn.sparkfun.com/tutorials/sparkfun-inventors-kit-for-microbit-experiment-guide/introduction-to-the-sparkfun-inventors-kit-for-microbit",
|
||||||
|
@ -14,11 +14,20 @@ Are you ready to try JavaScript to write your code?
|
|||||||
"name": "Hello JavaScript",
|
"name": "Hello JavaScript",
|
||||||
"description": "Learn to convert your block code in JavaScript",
|
"description": "Learn to convert your block code in JavaScript",
|
||||||
"url": "/courses/blocks-to-javascript/hello-javascript",
|
"url": "/courses/blocks-to-javascript/hello-javascript",
|
||||||
"cardType": "side"
|
"cardType": "side",
|
||||||
|
"imageUrl": "/static/courses/blocks-to-javascript/hello-javascript.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Starter Blocks",
|
||||||
|
"description": "Start from blocks to jump into JavaScript",
|
||||||
|
"url": "/courses/blocks-to-javascript/starter-blocks",
|
||||||
|
"cardType": "side",
|
||||||
|
"imageUrl": "/static/courses/blocks-to-javascript/starter-blocks.png"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
## See Also
|
## See Also
|
||||||
|
|
||||||
[Hello JavaScript](/courses/blocks-to-javascript/hello-javascript)
|
[Hello JavaScript](/courses/blocks-to-javascript/hello-javascript),
|
||||||
|
[Starter Blocks](/courses/blocks-to-javascript/starter-blocks)
|
||||||
|
111
docs/courses/blocks-to-javascript/starter-blocks.md
Normal file
111
docs/courses/blocks-to-javascript/starter-blocks.md
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
# Starter Blocks
|
||||||
|
|
||||||
|
## ~ hint
|
||||||
|
|
||||||
|
Use your blocks knownledge to learn JavaScript faster.
|
||||||
|
|
||||||
|
## ~
|
||||||
|
|
||||||
|
MakeCode can convert your blocks to JavaScript and back. Start from blocks and jump into JavaScript for an easier start.
|
||||||
|
|
||||||
|
## Do it blocks then convert
|
||||||
|
|
||||||
|
So you are pretty familiar with the blocks editor and still getting used to JavaScript. MakeCode can convert any block code into JavaScript. Let's see it in action.
|
||||||
|
|
||||||
|
* create a simple program in the code editor
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
input.onButtonPressed(Button.A, function () {
|
||||||
|
basic.showLeds(`
|
||||||
|
. . . . .
|
||||||
|
. . . . .
|
||||||
|
. . # . .
|
||||||
|
. . . . .
|
||||||
|
. . . . .
|
||||||
|
`)
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
* click on the **{} JavaScript** button in the top menu to convert the blocks to JavaScript. Voila!
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
input.onButtonPressed(Button.A, function () {
|
||||||
|
basic.showLeds(`
|
||||||
|
. . . . .
|
||||||
|
. . . . .
|
||||||
|
. . # . .
|
||||||
|
. . . . .
|
||||||
|
. . . . .
|
||||||
|
`)
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
## Go back to blocks
|
||||||
|
|
||||||
|
Do you feel like editing blocks again? MakeCode can convert back your JavaScript code into blocks.
|
||||||
|
|
||||||
|
* replace a few dots '.' with hashmarks '#'
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
input.onButtonPressed(Button.A, function () {
|
||||||
|
basic.showLeds(`
|
||||||
|
. . . . .
|
||||||
|
. . # . .
|
||||||
|
. # # # .
|
||||||
|
. . # . .
|
||||||
|
. . . . .
|
||||||
|
`)
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### ~ hint
|
||||||
|
|
||||||
|
So you change your JavaScript code and nothing works anymore, there are tons of red squiggle and you don't understand why... Don't panic, use the **Undo** button to revert your changes until everything works again.
|
||||||
|
|
||||||
|
### ~
|
||||||
|
|
||||||
|
* click on the **Blocks** button in the top to convert the JavaScript back to blocks.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
input.onButtonPressed(Button.A, function () {
|
||||||
|
basic.showLeds(`
|
||||||
|
. . . . .
|
||||||
|
. . # . .
|
||||||
|
. # # # .
|
||||||
|
. . # . .
|
||||||
|
. . . . .
|
||||||
|
`)
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
## Grey blocks are a good sign!
|
||||||
|
|
||||||
|
If you start to writing more complex JavaScript (good job!), MakeCode might not be able to convert it back to blocks. In that case, you will see _grey blocks_ in your block code. They represent chunks of JavaScript that are too complicated for blocks.
|
||||||
|
|
||||||
|
* go back to **JavaScript** and add a second frame to create animation. This is something you can do in JavaScript but not in blocks.
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
input.onButtonPressed(Button.A, function () {
|
||||||
|
basic.showLeds(`
|
||||||
|
. . . . . . . . . .
|
||||||
|
. . # . . . # # # .
|
||||||
|
. # # # . . # # # .
|
||||||
|
. . # . . . # # # .
|
||||||
|
. . . . . . . . . .
|
||||||
|
`)
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
* go to the **Blocks** editor and you will see a big **grey** block in the button handler. This is because you are creating code too complex for the blocks. Take it as a compliment!
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
input.onButtonPressed(Button.A, function () {
|
||||||
|
basic.showLeds(`
|
||||||
|
. . . . . . . . . .
|
||||||
|
. . # . . . # # # .
|
||||||
|
. # # # . . # # # .
|
||||||
|
. . # . . . # # # .
|
||||||
|
. . . . . . . . . .
|
||||||
|
`)
|
||||||
|
})
|
||||||
|
```
|
BIN
docs/static/courses/blocks-to-javascript.png
vendored
Normal file
BIN
docs/static/courses/blocks-to-javascript.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
docs/static/courses/blocks-to-javascript/hello-javascript.png
vendored
Normal file
BIN
docs/static/courses/blocks-to-javascript/hello-javascript.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
docs/static/courses/blocks-to-javascript/starter-blocks.png
vendored
Normal file
BIN
docs/static/courses/blocks-to-javascript/starter-blocks.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Loading…
Reference in New Issue
Block a user