diff --git a/en/images/export.png b/en/images/export.png new file mode 100644 index 0000000..bb16f70 Binary files /dev/null and b/en/images/export.png differ diff --git a/en/images/hidden_list.png b/en/images/hidden_list.png new file mode 100644 index 0000000..bcea6f8 Binary files /dev/null and b/en/images/hidden_list.png differ diff --git a/en/images/ids_list.png b/en/images/ids_list.png new file mode 100644 index 0000000..a79b91e Binary files /dev/null and b/en/images/ids_list.png differ diff --git a/en/images/positon_platform.png b/en/images/positon_platform.png new file mode 100644 index 0000000..65c5235 Binary files /dev/null and b/en/images/positon_platform.png differ diff --git a/en/images/upload.png b/en/images/upload.png new file mode 100644 index 0000000..e67b546 Binary files /dev/null and b/en/images/upload.png differ diff --git a/en/meta.yml b/en/meta.yml index 911a8ca..f40c67e 100644 --- a/en/meta.yml +++ b/en/meta.yml @@ -5,10 +5,13 @@ listed: false pdf: false steps: - title: What you will make - - title: Step title + - title: Start your level completion: - engaged - - title: Challenge - challenge: true + - title: Postion your player and floor + - title: Add more sprites + - title: End your level completion: - - external + - complete + - title: Export your sprites + diff --git a/en/step_1.md b/en/step_1.md index 9736879..aed8ea8 100644 --- a/en/step_1.md +++ b/en/step_1.md @@ -1,45 +1,3 @@ ## What you will make -OR -## What you will do - change meta if you use this -A brief description - one or two sentences. - ---- print-only --- - -![ALT TEXT](images/IMAGE.png) - ---- /print-only --- - ---- no-print --- - -[Editor embed](https://editor.raspberrypi.org/en/embed/viewer/project-slug) - ---- /no-print --- - ---- no-print --- - -Video embed - - - -Youtube embed - -
- -

- - -Scratch embed -
- -
- ---- /no-print --- - -### You will need: -- a -- b -- c +A collobatative platformer game, where each person creates a single level of the game. diff --git a/en/step_2.md b/en/step_2.md index a55cafd..d64797e 100644 --- a/en/step_2.md +++ b/en/step_2.md @@ -1,8 +1,85 @@ -## Step title +## Start your level --- task --- +Open the starter project at [rpf.io/pp](https://rpf.io/pp-starter){:target="_blank"} --- /task --- +The project has two sprites. +- **player** is the sprite that will move between the levels. + +- **id floor** is a sprite that will act as a floor to start. + +--- task --- + +Choose an id or ask your club leader or teacher for one. + +- If you are making a colaborative project with other people in your club or class, it might be your name. *e.g. ellis* + +- If you are making a colaborative project with other clubs or classes, it might be your club or class name. *e.g. hull code club or e.g. 7C* + +--- /task --- + +--- task --- + +Change the name of the **id floor** sprite to use your new **id**. *e.g. ellis floor or hull code club floor* + +--- /task --- + +--- task --- + +In the code for the floor sprite, change the `wait until`{:class="block3control"} blocks, to they are waiting until the `id`{:class="block3variables"} variable matches your new **id**. + +```blocks3 +when flag clicked +hide ++wait until <(id) = [my id]> ++wait until > +hide +``` + +--- /task --- + +--- task --- + +Add a new message so that the `broadcast`{:class="block3control"} waits for your **id** to be broadcast. + +```blocks3 ++when I receive [my id v] +show +set [x position v] to (-180) +set [y position v] to (0) +go to x:(90) y:(-160) +``` + +--- /task --- + +--- task --- + +Add your **id** to the `ids`{:class="block3variables"} list. + +![](images/ids_list.png) + +--- /task --- + +--- task --- + +Hide the `ids`{:class="block3variables"} list. + +![](images/hidden_list.png) + +--- /task --- + +--- task --- + +Click the green flag. The player sprite should be positioned in the bottom left of the screen. + +Press **n** on your keyboard. + +The floor sprite should appear, and the player sprite changes position and falls on to it. + +You can move the player sprite using the left and right arrow keys, and use the up arrow key to jump. (⬅️⬆️➡️) + +--- /task --- \ No newline at end of file diff --git a/en/step_3.md b/en/step_3.md index 3285a6d..e630e85 100644 --- a/en/step_3.md +++ b/en/step_3.md @@ -1,6 +1,31 @@ -## Challenge +## Postion your player and floor + +At the start of your level, you can decide where the player sprite starts and where the floor is positioned. + +The starting position of the player is set by the `x positon`{:class="block3variables"} and `y position`{:class="block3variables"} variables. + +The starting positon of the floor **must be set using** the `go to x: y:`{:class="block3motion"} --- task --- +Change the starting position of the floor and the starting position of the player. + +This can be anywhere on the screen that you like. + +```blocks3 +when I receive [my id v] +show ++set [x position v] to (-180) ++set [y position v] to (0) ++go to x:(90) y:(-160) +``` + +Click the green flag and then press **n** to test the positions. --- /task --- + +You can change the floor into a platform if you like. It depends on what your level is going to look like. You can change the size of the sprite, its colour, and then it's positon. + +It must have a black outline though, so that the player can collide with it. + +![](images/positon_platform.png) \ No newline at end of file diff --git a/en/step_4.md b/en/step_4.md new file mode 100644 index 0000000..5e434aa --- /dev/null +++ b/en/step_4.md @@ -0,0 +1,37 @@ +## Add more sprites + +You can add more sprites to your game. + +Every sprite needs a unique name, so use your id such as `ellis Bear-walking` or `hull code club Cheesy Puffs` + +Every sprite must have the starting script and use your id. + +```blocks3 +when flag clicked +hide +wait until <(id) = [my id]> +wait until > +hide +stop [other scripts in sprite v] +``` + +They will also need to `show`{:class="block3looks"} and have the starting position set using `go to x: y:`{:class="block3motion"} + +```blocks3 +when I receive [my id v] +show +go to x:() y:() +``` + +- [ ] **If the sprite needs to stop the player's motion, it needs to be `black` in colour.** +- [ ] You can add any code you like to your other sprites, underneath a `when I receive`{:class="block3events"} block. +- [ ] **If you are creating variables, lists, or custom blocks, make sure they have unique names such as `hull code club score`{:class="block3variables"} or `ellis random move`{:class="block3custom"}** +- [ ] New sprites can be things the player can move on, things the player might have to avoid, things the player might have to collect. +- [ ] **DO NOT ADD OR CHANGE THE BLOCKS ON THE PLAYER SPRITE** +- [ ] If a sprite needs to be interacted with, then it could use `say`{:class="block3looks"} blocks so that the player knows what they need to do. + +```blocks3 +say [collect me] for (1) seconds + +say [avoid me] for (1) seconds +``` \ No newline at end of file diff --git a/en/step_5.md b/en/step_5.md new file mode 100644 index 0000000..2213bfc --- /dev/null +++ b/en/step_5.md @@ -0,0 +1,23 @@ +## End your level + +You need a condition to end your level. + +Your level will end, and the next one will start, when the variable `level change`{:class="block3variables"} is set to `true`. + +You might end your level by the player reaching a score. + +```blocks3 +forever +if <(hull code club score)> [20]> then +set [level change v] to [true] +``` + +You could end your level when the player touches another sprite + +```blocks3 +forever +if then +set [level change v] to [true] +``` + +Or choose another way to end the level. Just remember, you **CAN'T CHANGE THE CODE ON THE PLAYER SPRITE** \ No newline at end of file diff --git a/en/step_6.md b/en/step_6.md new file mode 100644 index 0000000..e3f3a91 --- /dev/null +++ b/en/step_6.md @@ -0,0 +1,38 @@ +## Export your sprites + +Check that your level works and is ready to export. +1. Your sprites all have a name that includes your id +2. Your sprites all have the starter blocks +3. Other blocks are all triggered by a `when I receive my id`{:class="block3events"} block +4. All ner `variables`{:class="block3variables"} and `custom blocks`{:class="block3custom"} use your id in their names. +5. There is an end condition that sets `level change`{:class="block3variables"} to §true§ + +--- task --- + +Right click on each of your sprites and select **export** + +![](images/export.png) + +--- /task --- + +--- task --- + +Send your sprites to your club leader or teacher for them to stitch all the levels together. Make sure they know what your unique `id` is. + +--- /task --- + +--- collapse --- + +--- + +title: Club leaders and Teachers - stitching instructions + +--- + +1. Open and remix the original starter project [rpf.io/pp-starter](https://rpf.io/pp-starter) +2. Remix the project +3. Upload the sprites that have been sent to you. +![](images/upload.png) +4. Add each id to the ids list, in the order you want the levels to play +5. You can add your own starting and final level to the game if you like. +--- /collapse --- \ No newline at end of file