parent
6b94222a3e
commit
710abd50cb
@ -48,6 +48,11 @@ Fun project courses - make and experiment while learning about science and progr
|
||||
|
||||
```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",
|
||||
"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",
|
||||
|
@ -14,11 +14,20 @@ Are you ready to try JavaScript to write your code?
|
||||
"name": "Hello JavaScript",
|
||||
"description": "Learn to convert your block code in 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
|
||||
|
||||
[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