diff --git a/en/images/banner.png b/en/images/banner.png new file mode 100644 index 0000000..24790f7 Binary files /dev/null and b/en/images/banner.png differ diff --git a/en/images/hidden_list.png b/en/images/hidden_list.png deleted file mode 100644 index bcea6f8..0000000 Binary files a/en/images/hidden_list.png and /dev/null differ diff --git a/en/images/ids_list.png b/en/images/ids_list.png deleted file mode 100644 index a79b91e..0000000 Binary files a/en/images/ids_list.png and /dev/null differ diff --git a/en/images/levels_list.png b/en/images/levels_list.png new file mode 100644 index 0000000..e658706 Binary files /dev/null and b/en/images/levels_list.png differ diff --git a/en/meta.yml b/en/meta.yml index f40c67e..0dec736 100644 --- a/en/meta.yml +++ b/en/meta.yml @@ -8,10 +8,8 @@ steps: - title: Start your level completion: - engaged - - title: Postion your player and floor - - title: Add more sprites - - title: End your level + - title: Create your level + - title: Share your level completion: - complete - - title: Export your sprites diff --git a/en/step_1.md b/en/step_1.md index aed8ea8..f602c7a 100644 --- a/en/step_1.md +++ b/en/step_1.md @@ -1,3 +1,3 @@ ## What you will make -A collobatative platformer game, where each person creates a single level of the game. +A collaborative game, where each person creates a single level of the game. diff --git a/en/step_2.md b/en/step_2.md index 9c5f7ed..c0f9b14 100644 --- a/en/step_2.md +++ b/en/step_2.md @@ -2,84 +2,66 @@ --- task --- -Open the starter project at [rpf.io/pp-starter](https://rpf.io/pp-starter){:target="_blank"} +Open the starter project at [rpf.io/patchwork-game](https://rpf.io/patchwork-game){:target="_blank"} --- /task --- The project has two sprites. -- **player** is the sprite that will move between the levels. +Click the green flag to start the game. +1. On the first level the green player sprite will fall to the floor. Use the right arrow key (➡️) to move the player sprite to the end of the screen. +2. The next level will start, showing the Scratch cat appear for three seconds. +3. The next level will start. Move the purple player sprite to the end of the screen to start the game again. -- **id floor** is a sprite that will act as a floor to start. +You're going to make your own level, adding your own sprites and code. --- task --- -Choose an id or ask your club leader or teacher for one. +Choose a name for your level. It has to be unique to you, and something nobody else would choose. It's a little like a username. -- If you are making a colaborative project with other people in your club or class, it might be your name. *e.g. ellis* +Replace `my level`{:class="block3variables"} in the `levels`{:class="block3variables"} list, so that your level name appears as the second item. -- 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* +![](images/levels_list.png) --- /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 --- +`my level cat` is a sprite that has the scripts you need for your level. --- 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**. +This script makes sure that your sprites appears at the start of your level and dissappears when your level has been completed. + +Edit the `wait until`{:class="block3control"} blocks, so that `level`{:class="block3variables"} is compared to the level name you added to the list. ```blocks3 -when flag clicked +when i receive [start v] hide -+wait until <(id) = [my id]> -+wait until > ++ wait until <(level) = [my level]> //change this to your level name ++ wait until > //change this to your level name hide +stop [other scripts in sprite v] ``` --- /task --- --- task --- -Add a new message so that the `broadcast`{:class="block3control"} waits for your **id** to be broadcast. +Edit the script that starts your logic, by adding a broadcast that matches your level name. -```blocks3 -+when I receive [my id v] +Change the `say`{:class="block3looks"} block so the cat says something different. + ++ when I receive [my level v] //add a broadcast message matching your level name show -set [x position v] to (-180) -set [y position v] to (0) -go to x:(90) y:(-160) -``` ++ say [my easy level] for [3] seconds //add your own message here to test --- /task --- --- task --- -Add your **id** to the `ids`{:class="block3variables"} list. - -![](images/ids_list.png) - ---- /task --- - ---- task --- +Click the green flag. -Hide the `ids`{:class="block3variables"} list. +Complete the first level by moving the player sprite to the right of the screen. -![](images/hidden_list.png) +Make sure that the Scratch cat still appears and says the text your wrote. --- /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 e630e85..738c1e8 100644 --- a/en/step_3.md +++ b/en/step_3.md @@ -1,31 +1,40 @@ -## Postion your player and floor +## Create your level -At the start of your level, you can decide where the player sprite starts and where the floor is positioned. +You can add any sprites you like to the game, or duplicate the cat sprite and change its costume. Rename the sprites so that their name includes your unique level name. -The starting position of the player is set by the `x positon`{:class="block3variables"} and `y position`{:class="block3variables"} variables. +Your level can be about anything you choose. Here are the rules that you must follow. -The starting positon of the floor **must be set using** the `go to x: y:`{:class="block3motion"} +1. You can't use `when flag clicked`{:class="block3events"} blocks. +2. `when I receive my level`{:class="block3events"} is the block that will start your scripts. +3. All variables, lists, or custom blocks you add must be named using your unique level name. e.g. `my_level_name score`{:class="block3variables"} +4. You can not change the code on the sprites included in the starter project. Leave `start player`, `end player`, `start floor` and `end floor` alone. +5. You can not add or edit code on the Stage. You can not add Backdrops. If you want your own background scenery then it will have to be a sprite. +6. If the player needs instructions for your level, they need to be included by having sprites `say`{:class="block3looks"} what needs to be done. +7. Set the starting position of **all** your sprites, using `go to x: y:`{:class="block3motion"} blocks. ---- task --- +Your level needs to end at some point. Maybe the player reaches a goal, answers some questions, achieves a certain score. -Change the starting position of the floor and the starting position of the player. +The following code is included with the `my level cat`. This will end your level and progress to the next level. -This can be anywhere on the screen that you like. +```blocks3 +set [level change v] to [true] +hide +stop [this script v] +``` + +In testing, your sprites might not be visible. You can press **M** on your keyboard to reveal sprites, so long as they have this script on them. ```blocks3 -when I receive [my id v] +when I receive [edit mode 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. +In testing you might want to manually move to the next level. You can press **N** on your keyboard to set `level change`{:class="block3variables"} to `true` and move to the next level. ---- /task --- +--- 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. +Add sprites, variables and code blocks to make your own level. -It must have a black outline though, so that the player can collide with it. +When you are done you should be able to click the green flag, complete the first level, see your level and complete it, see the end level. -![](images/positon_platform.png) \ No newline at end of file +--- /task --- \ No newline at end of file diff --git a/en/step_4.md b/en/step_4.md index 5e434aa..b790ccf 100644 --- a/en/step_4.md +++ b/en/step_4.md @@ -1,37 +1,26 @@ -## Add more sprites +## Share your level -You can add more sprites to your game. +--- task --- -Every sprite needs a unique name, so use your id such as `ellis Bear-walking` or `hull code club Cheesy Puffs` +When you are happy that your level works, save your project and share it with your club leader, teacher, or whomever is going to stitch the levels together. -Every sprite must have the starting script and use your id. +--- /task --- -```blocks3 -when flag clicked -hide -wait until <(id) = [my id]> -wait until > -hide -stop [other scripts in sprite v] -``` +--- collapse --- -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:() -``` +title: Stitching the project together -- [ ] **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 +1. Open the project that has been shared with you. +2. Click on each of the sprites that are in the project and export them. +![](images/export.png) +3. Open the original starter project and remix it. +4. Import all the sprites you exported. +![](images/upload.png) +5. Repeat for each project that has been shared with you. -say [avoid me] for (1) seconds -``` \ No newline at end of file + +--- /collapse --- \ No newline at end of file diff --git a/en/step_5.md b/en/step_5.md deleted file mode 100644 index 2213bfc..0000000 --- a/en/step_5.md +++ /dev/null @@ -1,23 +0,0 @@ -## 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 deleted file mode 100644 index e3f3a91..0000000 --- a/en/step_6.md +++ /dev/null @@ -1,38 +0,0 @@ -## 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