diff --git a/af-ZA/images/banner.png b/af-ZA/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/af-ZA/images/banner.png differ diff --git a/af-ZA/images/cats-finished.png b/af-ZA/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/af-ZA/images/cats-finished.png differ diff --git a/af-ZA/images/coin.png b/af-ZA/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/af-ZA/images/coin.png differ diff --git a/af-ZA/images/door.png b/af-ZA/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/af-ZA/images/door.png differ diff --git a/af-ZA/images/key.png b/af-ZA/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/af-ZA/images/key.png differ diff --git a/af-ZA/images/north-south-rooms.png b/af-ZA/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/af-ZA/images/north-south-rooms.png differ diff --git a/af-ZA/images/number-grid.png b/af-ZA/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/af-ZA/images/number-grid.png differ diff --git a/af-ZA/images/person.png b/af-ZA/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/af-ZA/images/person.png differ diff --git a/af-ZA/images/player.png b/af-ZA/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/af-ZA/images/player.png differ diff --git a/af-ZA/images/showcase.png b/af-ZA/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/af-ZA/images/showcase.png differ diff --git a/af-ZA/images/sign.png b/af-ZA/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/af-ZA/images/sign.png differ diff --git a/af-ZA/images/stage.png b/af-ZA/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/af-ZA/images/stage.png differ diff --git a/af-ZA/images/world-backdrops.png b/af-ZA/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/af-ZA/images/world-backdrops.png differ diff --git a/af-ZA/images/world-bribe.png b/af-ZA/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/af-ZA/images/world-bribe.png differ diff --git a/af-ZA/images/world-door.png b/af-ZA/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/af-ZA/images/world-door.png differ diff --git a/af-ZA/images/world-enemy2.png b/af-ZA/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/af-ZA/images/world-enemy2.png differ diff --git a/af-ZA/images/world-key.png b/af-ZA/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/af-ZA/images/world-key.png differ diff --git a/af-ZA/images/world-person-test.png b/af-ZA/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/af-ZA/images/world-person-test.png differ diff --git a/af-ZA/images/world-room-test.png b/af-ZA/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/af-ZA/images/world-room-test.png differ diff --git a/af-ZA/images/world-room.png b/af-ZA/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/af-ZA/images/world-room.png differ diff --git a/af-ZA/images/world-sign-test.png b/af-ZA/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/af-ZA/images/world-sign-test.png differ diff --git a/af-ZA/images/world-sign-test2.png b/af-ZA/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/af-ZA/images/world-sign-test2.png differ diff --git a/af-ZA/images/world-sign.png b/af-ZA/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/af-ZA/images/world-sign.png differ diff --git a/af-ZA/images/world-starter.png b/af-ZA/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/af-ZA/images/world-starter.png differ diff --git a/af-ZA/images/world-treasure.png b/af-ZA/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/af-ZA/images/world-treasure.png differ diff --git a/af-ZA/images/world-up.png b/af-ZA/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/af-ZA/images/world-up.png differ diff --git a/af-ZA/images/world-walls-test.png b/af-ZA/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/af-ZA/images/world-walls-test.png differ diff --git a/af-ZA/images/world-walls.png b/af-ZA/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/af-ZA/images/world-walls.png differ diff --git a/af-ZA/meta.yml b/af-ZA/meta.yml new file mode 100644 index 000000000..a8714a5db --- /dev/null +++ b/af-ZA/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introduction + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/af-ZA/resources/CreateYourOwnWorldResources.sb3 b/af-ZA/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/af-ZA/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/af-ZA/resources/chest.svg b/af-ZA/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/af-ZA/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/af-ZA/resources/coin.svg b/af-ZA/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/af-ZA/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/af-ZA/resources/door-blue.png b/af-ZA/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/af-ZA/resources/door-blue.png differ diff --git a/af-ZA/resources/enemy.png b/af-ZA/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/af-ZA/resources/enemy.png differ diff --git a/af-ZA/resources/key.svg b/af-ZA/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/af-ZA/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/af-ZA/resources/person.png b/af-ZA/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/af-ZA/resources/person.png differ diff --git a/af-ZA/resources/player.png b/af-ZA/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/af-ZA/resources/player.png differ diff --git a/af-ZA/resources/room1.png b/af-ZA/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/af-ZA/resources/room1.png differ diff --git a/af-ZA/resources/room2.png b/af-ZA/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/af-ZA/resources/room2.png differ diff --git a/af-ZA/resources/room3.png b/af-ZA/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/af-ZA/resources/room3.png differ diff --git a/af-ZA/resources/sign.svg b/af-ZA/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/af-ZA/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/af-ZA/scratch-translatable.txt b/af-ZA/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/af-ZA/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/af-ZA/solutions/CreateYourOwnWorld.sb3 b/af-ZA/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/af-ZA/solutions/CreateYourOwnWorld.sb3 differ diff --git a/af-ZA/step_1.md b/af-ZA/step_1.md new file mode 100644 index 000000000..40a1a2743 --- /dev/null +++ b/af-ZA/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introduction + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### What you will make + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: What you will need + +### Hardware + +- A computer capable of running Scratch 3 + +### Software + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: What you will learn + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Additional information for educators + +If you need to print this project, please use the [printer-friendly version](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +You can find the [completed project here](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/af-ZA/step_10.md b/af-ZA/step_10.md new file mode 100644 index 000000000..d3465ca9a --- /dev/null +++ b/af-ZA/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/af-ZA/step_11.md b/af-ZA/step_11.md new file mode 100644 index 000000000..132d1a6aa --- /dev/null +++ b/af-ZA/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/af-ZA/step_12.md b/af-ZA/step_12.md new file mode 100644 index 000000000..8b30457d7 --- /dev/null +++ b/af-ZA/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![screenshot](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/af-ZA/step_13.md b/af-ZA/step_13.md new file mode 100644 index 000000000..ff7a81725 --- /dev/null +++ b/af-ZA/step_13.md @@ -0,0 +1,21 @@ +## What next? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/af-ZA/step_2.md b/af-ZA/step_2.md new file mode 100644 index 000000000..50be3d2f6 --- /dev/null +++ b/af-ZA/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +If you have a Scratch account you can make a copy by clicking **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. If you need to download and install the Scratch offline editor, you can find it at [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/af-ZA/step_3.md b/af-ZA/step_3.md new file mode 100644 index 000000000..c35c898cf --- /dev/null +++ b/af-ZA/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/af-ZA/step_4.md b/af-ZA/step_4.md new file mode 100644 index 000000000..7343fe1de --- /dev/null +++ b/af-ZA/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/af-ZA/step_5.md b/af-ZA/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/af-ZA/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/af-ZA/step_6.md b/af-ZA/step_6.md new file mode 100644 index 000000000..f046657d5 --- /dev/null +++ b/af-ZA/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![screenshot](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/af-ZA/step_7.md b/af-ZA/step_7.md new file mode 100644 index 000000000..2368ef13a --- /dev/null +++ b/af-ZA/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/af-ZA/step_8.md b/af-ZA/step_8.md new file mode 100644 index 000000000..42966a563 --- /dev/null +++ b/af-ZA/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/af-ZA/step_9.md b/af-ZA/step_9.md new file mode 100644 index 000000000..02b33ad08 --- /dev/null +++ b/af-ZA/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/ar-SA/images/banner.png b/ar-SA/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/ar-SA/images/banner.png differ diff --git a/ar-SA/images/cats-finished.png b/ar-SA/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/ar-SA/images/cats-finished.png differ diff --git a/ar-SA/images/coin.png b/ar-SA/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/ar-SA/images/coin.png differ diff --git a/ar-SA/images/coin.svg b/ar-SA/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/ar-SA/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ar-SA/images/create-variable.png b/ar-SA/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/ar-SA/images/create-variable.png differ diff --git a/ar-SA/images/create-your-own-world.png b/ar-SA/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/ar-SA/images/create-your-own-world.png differ diff --git a/ar-SA/images/door.png b/ar-SA/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/ar-SA/images/door.png differ diff --git a/ar-SA/images/enemy.png b/ar-SA/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/ar-SA/images/enemy.png differ diff --git a/ar-SA/images/finished-move-down-right.png b/ar-SA/images/finished-move-down-right.png new file mode 100644 index 000000000..b6a658303 Binary files /dev/null and b/ar-SA/images/finished-move-down-right.png differ diff --git a/ar-SA/images/key.png b/ar-SA/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/ar-SA/images/key.png differ diff --git a/ar-SA/images/key.svg b/ar-SA/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/ar-SA/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ar-SA/images/north-south-rooms.png b/ar-SA/images/north-south-rooms.png new file mode 100644 index 000000000..d7e9da8b2 Binary files /dev/null and b/ar-SA/images/north-south-rooms.png differ diff --git a/ar-SA/images/number-grid.png b/ar-SA/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/ar-SA/images/number-grid.png differ diff --git a/ar-SA/images/person-sprite.png b/ar-SA/images/person-sprite.png new file mode 100644 index 000000000..cc1fe46ec Binary files /dev/null and b/ar-SA/images/person-sprite.png differ diff --git a/ar-SA/images/person.png b/ar-SA/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/ar-SA/images/person.png differ diff --git a/ar-SA/images/player.png b/ar-SA/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/ar-SA/images/player.png differ diff --git a/ar-SA/images/showcase.png b/ar-SA/images/showcase.png new file mode 100644 index 000000000..47ae8dae4 Binary files /dev/null and b/ar-SA/images/showcase.png differ diff --git a/ar-SA/images/sign.png b/ar-SA/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/ar-SA/images/sign.png differ diff --git a/ar-SA/images/sign.svg b/ar-SA/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/ar-SA/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ar-SA/images/stage.png b/ar-SA/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/ar-SA/images/stage.png differ diff --git a/ar-SA/images/variable-show.png b/ar-SA/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/ar-SA/images/variable-show.png differ diff --git a/ar-SA/images/world-backdrops.png b/ar-SA/images/world-backdrops.png new file mode 100644 index 000000000..ebdb585a5 Binary files /dev/null and b/ar-SA/images/world-backdrops.png differ diff --git a/ar-SA/images/world-bribe.png b/ar-SA/images/world-bribe.png new file mode 100644 index 000000000..b580b7239 Binary files /dev/null and b/ar-SA/images/world-bribe.png differ diff --git a/ar-SA/images/world-coins.png b/ar-SA/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/ar-SA/images/world-coins.png differ diff --git a/ar-SA/images/world-door.png b/ar-SA/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/ar-SA/images/world-door.png differ diff --git a/ar-SA/images/world-enemy-code.png b/ar-SA/images/world-enemy-code.png new file mode 100644 index 000000000..061c7f58a Binary files /dev/null and b/ar-SA/images/world-enemy-code.png differ diff --git a/ar-SA/images/world-enemy2.png b/ar-SA/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/ar-SA/images/world-enemy2.png differ diff --git a/ar-SA/images/world-final.png b/ar-SA/images/world-final.png new file mode 100644 index 000000000..75e4ea4b9 Binary files /dev/null and b/ar-SA/images/world-final.png differ diff --git a/ar-SA/images/world-key.png b/ar-SA/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/ar-SA/images/world-key.png differ diff --git a/ar-SA/images/world-north-south.png b/ar-SA/images/world-north-south.png new file mode 100644 index 000000000..4829594d2 Binary files /dev/null and b/ar-SA/images/world-north-south.png differ diff --git a/ar-SA/images/world-person-test.png b/ar-SA/images/world-person-test.png new file mode 100644 index 000000000..a7410f4e9 Binary files /dev/null and b/ar-SA/images/world-person-test.png differ diff --git a/ar-SA/images/world-person.png b/ar-SA/images/world-person.png new file mode 100644 index 000000000..0f3f26706 Binary files /dev/null and b/ar-SA/images/world-person.png differ diff --git a/ar-SA/images/world-player.png b/ar-SA/images/world-player.png new file mode 100644 index 000000000..61ddbede1 Binary files /dev/null and b/ar-SA/images/world-player.png differ diff --git a/ar-SA/images/world-resources.png b/ar-SA/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/ar-SA/images/world-resources.png differ diff --git a/ar-SA/images/world-room-test.png b/ar-SA/images/world-room-test.png new file mode 100644 index 000000000..8c5200410 Binary files /dev/null and b/ar-SA/images/world-room-test.png differ diff --git a/ar-SA/images/world-room.png b/ar-SA/images/world-room.png new file mode 100644 index 000000000..77c2311f6 Binary files /dev/null and b/ar-SA/images/world-room.png differ diff --git a/ar-SA/images/world-sign-test-left.png b/ar-SA/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/ar-SA/images/world-sign-test-left.png differ diff --git a/ar-SA/images/world-sign-test-right.png b/ar-SA/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/ar-SA/images/world-sign-test-right.png differ diff --git a/ar-SA/images/world-sign-test.png b/ar-SA/images/world-sign-test.png new file mode 100644 index 000000000..18fc58099 Binary files /dev/null and b/ar-SA/images/world-sign-test.png differ diff --git a/ar-SA/images/world-sign-test2.png b/ar-SA/images/world-sign-test2.png new file mode 100644 index 000000000..101967154 Binary files /dev/null and b/ar-SA/images/world-sign-test2.png differ diff --git a/ar-SA/images/world-sign.png b/ar-SA/images/world-sign.png new file mode 100644 index 000000000..0e8849159 Binary files /dev/null and b/ar-SA/images/world-sign.png differ diff --git a/ar-SA/images/world-starter.png b/ar-SA/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/ar-SA/images/world-starter.png differ diff --git a/ar-SA/images/world-treasure.png b/ar-SA/images/world-treasure.png new file mode 100644 index 000000000..654185f2e Binary files /dev/null and b/ar-SA/images/world-treasure.png differ diff --git a/ar-SA/images/world-up.png b/ar-SA/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/ar-SA/images/world-up.png differ diff --git a/ar-SA/images/world-walls-test.png b/ar-SA/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/ar-SA/images/world-walls-test.png differ diff --git a/ar-SA/images/world-walls.png b/ar-SA/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/ar-SA/images/world-walls.png differ diff --git a/ar-SA/meta.yml b/ar-SA/meta.yml new file mode 100644 index 000000000..9b9c7fe8c --- /dev/null +++ b/ar-SA/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: أنشئ عالمك الخاص +description: تعلَّم كيف تصنع لعبة تبتكر فيها عالمك الخاص من المغامرات +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: المقدمة + - + title: تحريك كائن اللاعب + - + title: جدران صلبة + completion: + - engaged + - + title: التحرك حول عالمك الخاص + - + title: 'تحدي: التحرك إلى الغرفة السابقة' + challenge: true + - + title: اللافتات + - + title: 'تحدي: الكنز!' + challenge: true + - + title: الأشخاص + - + title: 'تحدي: الأعداء' + challenge: true + - + title: جمع العملات الذهبية + - + title: الأبواب والمفاتيح + completion: + - internal + - + title: 'تحدي: وسِّع عالمك' + challenge: true + completion: + - external diff --git a/ar-SA/resources/CreateYourOwnWorld.sb2 b/ar-SA/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8a8d8cf75 Binary files /dev/null and b/ar-SA/resources/CreateYourOwnWorld.sb2 differ diff --git a/ar-SA/resources/CreateYourOwnWorldResources.sb2 b/ar-SA/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..3822002b0 Binary files /dev/null and b/ar-SA/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/ar-SA/resources/CreateYourOwnWorldResources.sb3 b/ar-SA/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..59fd62b44 Binary files /dev/null and b/ar-SA/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/ar-SA/resources/chest.svg b/ar-SA/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/ar-SA/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ar-SA/resources/coin.svg b/ar-SA/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/ar-SA/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ar-SA/resources/door-blue.png b/ar-SA/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/ar-SA/resources/door-blue.png differ diff --git a/ar-SA/resources/enemy.png b/ar-SA/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/ar-SA/resources/enemy.png differ diff --git a/ar-SA/resources/key.svg b/ar-SA/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/ar-SA/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/ar-SA/resources/person.png b/ar-SA/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/ar-SA/resources/person.png differ diff --git a/ar-SA/resources/player.png b/ar-SA/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/ar-SA/resources/player.png differ diff --git a/ar-SA/resources/room1.png b/ar-SA/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/ar-SA/resources/room1.png differ diff --git a/ar-SA/resources/room2.png b/ar-SA/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/ar-SA/resources/room2.png differ diff --git a/ar-SA/resources/room3.png b/ar-SA/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/ar-SA/resources/room3.png differ diff --git a/ar-SA/resources/sign.svg b/ar-SA/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/ar-SA/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ar-SA/scratch-translatable.txt b/ar-SA/scratch-translatable.txt new file mode 100644 index 000000000..6c533c0a4 --- /dev/null +++ b/ar-SA/scratch-translatable.txt @@ -0,0 +1,13 @@ +غرفة + +اللاعب + +مرحبا! هل يمكنك الوصول إلى الكنز؟ + +هل تعلم أنه يمكنك المرور عبر الأبواب البرتقالية والصفراء؟ + +عملات معدنية + +المفتاح الأزرق + +المخزن diff --git a/ar-SA/solutions/CreateYourOwnWorld.sb3 b/ar-SA/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..15fcecb71 Binary files /dev/null and b/ar-SA/solutions/CreateYourOwnWorld.sb3 differ diff --git a/ar-SA/step_1.md b/ar-SA/step_1.md new file mode 100644 index 000000000..1df3273b7 --- /dev/null +++ b/ar-SA/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +هذا هو الإصدار المتوافق مع ** Scratch 3 ** من المشروع. هناك أيضًا [ إصدار Scratch 2 للمشروع ](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## المقدمة + +في هذا المشروع، ستتعلم كيف تُنشئ عالم ألعاب المغامرات الخاص بك وبه مستويات متعددة ليستكشفها اللاعب. + +### ما الذي ستصنعه + +\--- no-print \--- + +انقر على العلم الأخضر للبدء. استخدم مفاتيح الأسهم لتحريك شخصيتك في أنحاء العالم. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +سوف تستخدم مفاتيح الأسهم لتحريك شخصيتك في أنحاء العالم. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: ما الذي ستحتاجه + +### الأجهزة + +- جهاز كمبيوتر يدعم تشغيل برنامج Scratch 3 + +### البرامج + +- برنامج Scratch 3 (سواء أكان [عبر الإنترنت](https://rpf.io/scratchon){:target="_blank"} أو [دون اتصال بالإنترنت](https://rpf.io/scratchoff){:target="_blank"}) + +### التنزيلات + +يمكنك أن تجد كل ما تحتاجه لإكمال هذا المشروع على [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- collapse \--- + +## \--- collapse \--- + +## title: ما الذي ستتعلمه + +- استخدام التحديد الشرطي للتفاعل مع ضغط المفاتيح +- استخدام المتغيرات لتخزين حالة اللعبة +- استخدام التحديد الشرطي بناءً على قيمة المتغير +- استخدام القوائم لتخزين البيانات + +\--- /collapse \--- + +## \--- collapse \--- + +## title: معلومات إضافية للمعلمين + +إذا كنت بحاجة إلى طباعة هذا المشروع ، فالرجاء استخدام الإصدار [الملائم للطابعة](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +يمكنك الحصول على [المشروع كاملاً من هنا](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/ar-SA/step_10.md b/ar-SA/step_10.md new file mode 100644 index 000000000..692fffb1e --- /dev/null +++ b/ar-SA/step_10.md @@ -0,0 +1,71 @@ +## جمع العملات الذهبية + +` لاعبك` يجب أن يكون قادراً على جمع العملات الذهبية أثناء تحركه عبر العالم. + +\--- task \--- + +أضف متغير جديد يُسمى`العملات الذهبية`{:class="blockdata"} إلى مشروعك. + +\---/task-- + +\--- task \--- + +انقر بزر الماوس الأيمن فوق كائن `coin` واختر ** إظهار **. + +![لقطة الشاشة](images/coin.png) + +\--- /task \--- + +\--- task \--- + +أضف تعليمة برمجية إلى كائن `العملات الذهبية` بحيث لا يظهر إلا في الغرفة 1. + +![لقطة الشاشة](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +أضف تعليمة برمجية لكائن `العملات الذهبية` بحيث `يختف` {:class="block3looks"} الكائن ويضاف `1 `{:class="block3variables"} الى المتغير `العملات الذهبية`{:class="block3variables"} عندما يلمس كائن ` player ` الكائن ` coin` لكي "يلتقطها". + +![العملات الذهبية](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +يجب استخدام التعليمة البرمجية `أوقف النصوص الأخرى في الكائن`{:class="blockcontrol"} بحيث يختفي كائن `العملات الذهبية` من الغرفة 1 بمجرد جمعِها. + +\--- /task \--- + +\--- task \--- + +الآن أضف تعليمة برمجية إلى المرحلة لاضافة متغير `العملات الذهبية`{:class="block3variables"} الخاص بك إلى `0 `{:class="block3variables"} في بداية اللعبة. + +![المنصة](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +قم بإختبار لعبتك. جمع عملة ذهبية يجب أن يغير النتيجة `العملات الذهبية` إلى `1 `{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/ar-SA/step_11.md b/ar-SA/step_11.md new file mode 100644 index 000000000..56913e7d7 --- /dev/null +++ b/ar-SA/step_11.md @@ -0,0 +1,104 @@ +## الأبواب والمفاتيح + +الآن ستضيف تعليمة برمجية حتى تكون بعض الأبواب في عالم اللعبة الخاص بك مقفلة، ويجب على اللاعب أن يجد المفتاح لفتحها والوصول إلى الغرفة التالية. + +\--- task \--- + +عُد إلى كائن `المفتاح`. انقر فوق ` إظهار`{:class="blocklooks"} في قائمة البرامج النصية بحيث يظهر الكائن على المنصة. + +\--- /task \--- + +\--- task \--- + +حرر مظهر كائن `المفتاح` بحيث يكون لونه أزرق. + +\--- /task \--- + +\--- task \--- + +حوِّل خلفية المنصة إلى الغرفة 3، وضَع كائن `المفتاح` في مكان ما بحيث يصعُب الوصول إليه! + +![لقطة الشاشة](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +أضف تعليمة برمجية إلى كائن `المفتاح` بحيث تضمن أنه لن يظهر إلّا في الغرفة 3. + +\--- /task \--- + +\--- task \--- + +إنشاء قائمة جديدة تسمى `مخزن`{:class="block3variables"} لتخزين العناصر الخاصة بك `اللاعب ` مجموعات الكائن. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +التعليمة البرمجية لجمع المفتاح تُشبه التعليمةَ البرمجية لجمع العملات الذهبية إلى حدٍ كبير. الفرق هو أنك تضيف المفتاح إلى `المخزن`{:class="block3variables"}. + +![مفتاح](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +اضف تعليمة برمجية إلى المنصة ليكون مخزنك فارغًا في بداية اللعبة. + +```blocks3 +delete all of [المخزن v] +``` + +\--- /task \--- + +\--- task \--- + +اختبر لعبتك للتحقق مما إذا كان يمكنك جمع الكائن `المفتاح ` وإضافته إلى مخزنك الخاص بك. + +\--- /task \--- + +\--- task \--- + +لنضِف الآن الباب المغلق. حدد الكائن `الباب الأزرق` وانقر على `عرض `{:class="blocklooks} في قائمة البرامج النصية ، ثم ضع الكائن عبر الفجوة بين الجدارين. + +![لقطة الشاشة](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +أضف تعليمة برمجية إلى الكائن `باب أزرق` بحيث لا يظهر إلّا في الغرفة 3. + +\--- /task \--- + +\--- task \--- + +أضف تعليمة برمجية إلى كائن `الباب الأزرق` بحيث عندما يكون المفتاح في `المخزن`{:class="block3variables"}، الكائن `hides`{:class="block3looks"} تسمح لكائن `اللاعب ` بالعبور. + +![باب](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +اختبر مشروعك، ثم لاحظ هل يمكنك التقاط المفتاح الأزرق لفتح الباب أم لا! + +\--- /task \--- \ No newline at end of file diff --git a/ar-SA/step_12.md b/ar-SA/step_12.md new file mode 100644 index 000000000..4e1727e94 --- /dev/null +++ b/ar-SA/step_12.md @@ -0,0 +1,28 @@ +## تحدي: وسِّع عالمك + +يمكنك الآن أن تُكمل إنشاء عالَمك الخاص! إليك بعض الأفكار: + ++ أضف المزيد من العملات الذهبية إلى لعبتك في غرف مختلفة. هل يمكنك السماح بحراسة بعض العملات المعدنية عن طريق دوريات الأعداء؟ ++ قم بتغيير خلفية لعبتك ++ أضف موسيقى ومؤثرات صوتية إلى اللعبة ++ أضف المزيد من الأشخاص والأعداء واللافتات (العلامات) ++ أضف أبوابًا حمراء وصفراء، ومفاتيح خاصة لفتحها ++ أضف المزيد من الغرف إلى اللعبة ++ أضف عناصر أخرى مفيدة إلى اللعبة + + + استخدم العملات الذهبية للحصول على معلومات من الأشخاص: + +![لقطة شاشة](images/world-bribe.png) + ++ يمكنك أيضًا إضافة أبواب في الحائطَين العلوي والسفلي للغرفة 1، بحيث يتمكن اللاعب من التحرك بين الغرف في كل الاتجاهات الأربعة. على سبيل المثال، لعبتك يمكن أن تحتوي على تسع غرف في شبكة 3×3. ثم يمكنك إضافة `3` إلى رقم الغرفة للنزول مستوى واحدًا. + +![لقطة شاشة](images/north-south-rooms.png) + +![لقطة الشاشة](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/ar-SA/step_13.md b/ar-SA/step_13.md new file mode 100644 index 000000000..7b701f1f1 --- /dev/null +++ b/ar-SA/step_13.md @@ -0,0 +1,21 @@ +## ما التالي؟ + +جرب إنشاء لعبة أخرى من خلال العمل على مشروع [ القطط! ](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +انقر واسحب بالماوس لرسم خط بالقلم الرصاص. هدفك هو منع القطط من السقوط في الحفر عن طريق إنشاء مسار آمن للخروج. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![انتهت لعبة القطط](images/cats-finished.png) + +\--- /print-only \--- + +إذا كنت ترغب في إنشاء لعبة باستخدام Python بدلاً من Scratch، جرب مشروع [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/ar-SA/step_2.md b/ar-SA/step_2.md new file mode 100644 index 000000000..8aad70c5d --- /dev/null +++ b/ar-SA/step_2.md @@ -0,0 +1,132 @@ +## ما ستحتاج إليه + +لنبدأ بإنشاء كائن `اللاعب` الذي يمكنه أن يتحرك في جميع أرجاء اللعبة. + +\--- task \--- + +افتح المشروع المبدئي "إنشاء عالمك الخاص". + +**بالاتصال بالانترنت**: افتح المشروع المبدئي من هنا [scratch.mit.edu/projects/396850938](https://scratch.mit.edu/projects/396850938){:target="_blank"}. + +اذا كنت تملك حساب على منصة السكراتش (Scratch) فيمكنك عمل نسخة بالضغط على **Remix**. + +**بدون اتصال انترنيت** حمّل المشروع المبدئي من [rpf.io/p/ar-SA/create-your-own-world-go](https://rpf.io/p/ar-SA/create-your-own-world-go){:target="_blank"} ثم اقتحه باستخدام محرر البرنامج بدون اتصال انترنيت. اذا تحتاج تنزيل وتنصيب برنامج السكراتش Scratch على جهازك الشخصي، ستجده في [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![لقطة الشاشة](images/world-starter.png) + +\--- /task \--- + +عند الضغط على مفاتيح الأسهم يجب أن يتحرك كائن `اللاعب ` بالارجاء. عند الضغط على سهم الأعلى، يجب أن يستجيب كائن `اللاعب ` بالتحرك إلى أعلى المنصة. + +\--- task \--- + +أضف هذه التعليمات البرمجية إلى كائن `اللاعب`: + +![اللاعب](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +انقر فوق العلم ثم اضغط على السهم لأعلى. هل تحرك كائن `اللاعب` إلى أعلى؟ + +![لقطة الشاشة](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +لتحريك كائن `اللاعب` إلى اليسار، تحتاج إلى إضافة كتلة `اذا` {:class="block3control"} اخرى مع نفس التعليمة البرمجية: + +![اللاعب](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +أضف تعليمات برمجية أخرى لكائن `اللاعب` بحيث يتحرك إلى أسفل وإلى اليمين أيضاً. استخدم التعليمة البرمجية التي لديك لمساعدتك. + +\--- hints \--- + +\--- hint \--- + +للتحرك للأعلى، اجعل كائن `اللاعب` بالاتجاه `0` درجة. مالذي ستفعله لتحريك الكائن إلى أسفل؟ + +للتحرك إلى اليسار، اجعل الكائن باتجاه `-90` درجة. مالذي ستفعله لتحريك الكائن إلى اليمين؟ + +\--- /hint \--- + +\--- hint \--- + +تحتاج إلى تغيير هاتين الكتلتين البرمجيتين: + +![اللاعب](images/player.png) + +```blocks3 + + +point in direction () +``` + +قم بتكرار التعليمات البرمجية التي تجعل كائن `اللاعب` يتحرك إلى أعلى، وتغيير هاتين الكتلتين البرمجية لجعل الكائن يتحرك إلى الأسفل. قم بتكرار التعليمة البرمجية مرة أخرى، وتغييرها لجعل الكائن يتحرك إلى اليمين. + +\--- /hint \--- + +\--- hint \--- + +هذا ما ينبغي ان تبدو عليه تعليماتك البرمجية: + +![اللاعب](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/ar-SA/step_3.md b/ar-SA/step_3.md new file mode 100644 index 000000000..65bd5066c --- /dev/null +++ b/ar-SA/step_3.md @@ -0,0 +1,48 @@ +## جدران صلبة + +\--- task \--- + +اختبر كائن `اللاعب ` الخاص بك مرة أخرى. هل ترى أنه يمكنه المشي من خلال الجدران الرمادية الفاتحة؟ + +![لقطة الشاشة](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +لإصلاح ذلك، يجب تحريك كائن `اللاعب` للخلف إذا كان يلامس الجدار الرمادي. هنا التعليمات البرمجية التي ستحتاج إضافتها داخل كتلة حلقة `كرر باستمرار`{:class="block3control"} أسفل القوالب البرمجية الخاصة بالإتجاهات: + +![اللاعب](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +حاول أن تجعل ` اللاعب` يتحرك من خلال الجدار. إذا كانت التعليمات البرمجية الجديدة تعمل، فلن يكون ذلك ممكنا. + +![لقطة الشاشة](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ar-SA/step_4.md b/ar-SA/step_4.md new file mode 100644 index 000000000..670ec393e --- /dev/null +++ b/ar-SA/step_4.md @@ -0,0 +1,141 @@ +## التحرك حول عالمك الخاص + +`اللاعب ` يجب أن يكون قادرا على التحرك عبر الأبواب للغرف الأخرى. + +يحتوي مشروعك على خلفيات لغرف إضافية: + +![لقطة شاشة](images/world-backdrops.png) + +\--- task \--- + +أنشىء متغير جديد لكل الكائنات يسمى `غرفة`{:class="block3variables"} لتتبع الغرفة التي يكون `اللاعب ` موجودا فيها. + +[[[generic-scratch3-add-variable]]] + +![لقطة الشاشة](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +عندما يلمس كائن `اللاعب` الباب البرتقالي في الغرفة الأولى، يجب أن تظهر الخلفية الثانية، ويجب أن يتحرك كائن `اللاعب` إلى الخلف ناحية اليسار من المنصة. أضف هذه التعليمة البرمجية إلى كائن `اللاعب` داخل حلقة التكرار `كرر باستمرار`{:class="block3control"}: + +![اللاعب](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +في كل مرة تبدأ فيها اللعبة، تحتاج الغرفة وموقع الشخصية والخلفية إلى إعادة تعيين. + +أضف هذه التعليمية البرمجية إلى **بداية** التعليمة البرمجية لكائن ` الاعب` الخاص بك أعلى التعليمة البرمجية `كرر باستمرار `{:class="block3control"} لتتأكد من عودة كل شيء إلى الحالة الأولى عند النقر على العلم: + +\--- hints \--- + +\--- hint \--- + +عندما تبدأ اللعبة: + ++ قيمة `الغرفة`{:class="block3variables"} يجب أن تكون مضبوطة على `1 ` ++ قيمة `الخلفية`{:class="block3looks"} يجب أن تكون مضبوطة على `غرفة1`{:class="block3looks"} ++ يجب تعيين موضع كائن `اللاعب ` إلى `س: -200 ص: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +هنا التعليمات البرمجية التي ستحتاج اليها: + +![اللاعب](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +إليك ما يجب أن يبدو عليه التعليمة البرمجية النهائي الخاصة بك: + +![اللاعب](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +انقر فوق العلم، ثم انقل كائن `اللاعب ` حتى يلمس الباب البرتقالي. هل ينتقل الكائن إلى الشاشة التالية؟ هل يتغير المتغير الخاص بــ `الغرفة`{:class="block3variables"} الي القيمة `2`؟ + +![لقطة الشاشة](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ar-SA/step_5.md b/ar-SA/step_5.md new file mode 100644 index 000000000..bc4d7a6ca --- /dev/null +++ b/ar-SA/step_5.md @@ -0,0 +1,3 @@ +## تحدي: التحرك إلى الغرفة السابقة + +هل يمكنك أن تجعل كائن`اللاعب` يتحرك إلى الغرفة السابقة عندما يلمس بابًا أصفر؟ التعليمة البرمجية التي تحتاج إليها مماثلة لتعليمة البرمجية التي اضفتها للتحريك الكائن إلى الغرفة التالية. \ No newline at end of file diff --git a/ar-SA/step_6.md b/ar-SA/step_6.md new file mode 100644 index 000000000..e14d48768 --- /dev/null +++ b/ar-SA/step_6.md @@ -0,0 +1,108 @@ +## اللافتات + +أضف الآن إشارات إلى عالمك لإرشاد اللاعبين في رحلتهم. + +يحتوي مشروعك على كائن `لافتة الترحيب`: + +![لقطة شاشة](images/world-sign.png) + +\--- task \--- + +يجب أن يكون كائن `علامة الترحيب` مرئيًا فقط في الغرفة 1، لذلك أضف بعض التعليمات البرمجية إلى الكائن للتأكد من حدوث ذلك: + +\--- hints \--- + +\--- hint \--- + +`عند النقر على العلم`{:class="block3events"}, في حلقة `كرر باستمرار`{:class="block3events"}, تحقق من `اذا`{:class="block3control"} كانت `الغرفة هي 1`{:class="block3variables"} في هذه الحالة `أظهر `{:class="block3looks"} كائن `علامة الترحيب` و`الا`{:class="block3control"} قم بـ`اخفاء`{:class="block3looks"} الكائن. + +\--- /hint \--- + +\--- hint \--- + +إليك التعليمات البرمجية التي تحتاجها: + +![لافتة](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +اليك التعليمة البرمجية الكاملة: + +![لافتة](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +اختبر الرمز الخاص بكائن `علامة الترحيب` عن طريق الانتقال بين الغرف. يجب أن تظهر اللافتة في الغرفة 1 فقط. + +![لقطة الشاشة](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +لا يكون للافتة ميزة في اللعبة إذا لم تظهر أي رسالة! أضف بعض الرموز لعرض رسالة إذا كان كائن `لافتة الترحيب` يلامس كائن `اللاعب`: + +![لافتة](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +اختبر كائن `علامة الترحيب` مرة أخرى. يجب أن تشاهد الآن رسالة عندما يتلامس `اللاعب ` و `علامة الترحيب`. + +![لقطة الشاشة](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/ar-SA/step_7.md b/ar-SA/step_7.md new file mode 100644 index 000000000..b4153992b --- /dev/null +++ b/ar-SA/step_7.md @@ -0,0 +1,7 @@ +## تحدي: الكنز! + +هل يمكنك إضافة بعض الكنز ليبحث عنه اللاعب ويجده؟ + +اجعل الكائن `صندوق الكنز` يظهر فقط في الغرفة 3، وجعل هذا الكائن يقول 'أحسنت!' عندما يلمسه الكائن `اللاعب `. + +![لقطة شاشة](images/world-treasure.png) \ No newline at end of file diff --git a/ar-SA/step_8.md b/ar-SA/step_8.md new file mode 100644 index 000000000..c896b5aab --- /dev/null +++ b/ar-SA/step_8.md @@ -0,0 +1,65 @@ +## الأشخاص + +لنُضِيف أشخاصًا آخرين إلى لعبتك ليتعامل معها كائن `اللاعب`. + +\--- task \--- + +عُد إلى كائن `الشخص`. + +![كائن الشخص](images/person.png) + +\--- /task \--- + +\--- task \--- + +أضف بعض التعليمات البرمجية إلى كائن `الشخص`، ليتحدث مع كائن `اللاعب`. هذه التعليمة البرمجية تشبه إلى حدٍ كبير التعليمة البرمجية التي أضفتها إلى كائن`لافتة`: + +![شخص](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +اسمح لكائن `الشخص` بالتحرك عن طريق إضافة هاتين الكتلتين البرمجيية في جزء كتلة`والا `{:class="block3control"}: + +![شخص](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +`شخصيتك` سوف تتحرك، لكن سوف تتوقف للتحدث مع كائن `اللاعب`. + +![لقطة الشاشة](images/world-person-test.png) + +\--- task \--- + +أضف تعليمة برمجية جديدة إلى كائن `الشخص` بحيث لا يظهر ذلك الكائن إلا في غرفة 1. التعليمية البرمجية التي تحتاجها هي بالضبط نفس التعليمية البرمجية التي تجعل الكائن `اللافتة` مرئيًا (ضاهرا) فقط في الغرفة 1. + +تأكد من اختبار التعليمة البرمجية الجديدة. + +\--- /task \--- \ No newline at end of file diff --git a/ar-SA/step_9.md b/ar-SA/step_9.md new file mode 100644 index 000000000..465b735b3 --- /dev/null +++ b/ar-SA/step_9.md @@ -0,0 +1,39 @@ +## تحدي: إضافة عدو + +إذا أردت ، يمكنك أيضًا إضافة دوريات أعداء إلى لعبتك. إذا لمس كائن `لاعب` عدو، تنتهي اللعبة. + ++ لعبتك تحتوي بالفعل على كائن `عدو`. أضف تعليمة برمجية إلى الكائن `عدو (enemy)` بحيث لا يظهر إلّا في الغرفة 2. + ++ أضف تعليمة برمجية لتحريك الكائن `عدو (enemy)`، ولتنتهي اللعبة إذا لمس الكائن `عدو (enemy)` الكائنَ `اللاعب`. من الأسهل أن تكون التعليمات البرمجية على هيئة قوالب منفصلة. يجب أن يكون الرمز للكائن `عدو` كما يلي: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ اختبر تعليمتك البرمجية للتأكد من أن: + + كائن `عدو` مرئي فقط في الغرفة 2 + + كائن عدو ` enemy ` يدور في الغرفة + + تنتهي اللعبة إذا قام كائن `اللاعب` بلمس كائن `العدو ` + +هل يمكنك إنشاء كائن `عدو (enemy)` آخر في الغرفة 3 يتحرك إلى أعلى وإلى أسفل لحراسة الفتحة الموجودة في الحائط؟ + +![لقطة شاشة](images/world-enemy2.png) \ No newline at end of file diff --git a/bn-BD/images/banner.png b/bn-BD/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/bn-BD/images/banner.png differ diff --git a/bn-BD/images/cats-finished.png b/bn-BD/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/bn-BD/images/cats-finished.png differ diff --git a/bn-BD/images/coin.png b/bn-BD/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/bn-BD/images/coin.png differ diff --git a/bn-BD/images/door.png b/bn-BD/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/bn-BD/images/door.png differ diff --git a/bn-BD/images/key.png b/bn-BD/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/bn-BD/images/key.png differ diff --git a/bn-BD/images/north-south-rooms.png b/bn-BD/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/bn-BD/images/north-south-rooms.png differ diff --git a/bn-BD/images/number-grid.png b/bn-BD/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/bn-BD/images/number-grid.png differ diff --git a/bn-BD/images/person.png b/bn-BD/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/bn-BD/images/person.png differ diff --git a/bn-BD/images/player.png b/bn-BD/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/bn-BD/images/player.png differ diff --git a/bn-BD/images/showcase.png b/bn-BD/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/bn-BD/images/showcase.png differ diff --git a/bn-BD/images/sign.png b/bn-BD/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/bn-BD/images/sign.png differ diff --git a/bn-BD/images/stage.png b/bn-BD/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/bn-BD/images/stage.png differ diff --git a/bn-BD/images/world-backdrops.png b/bn-BD/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/bn-BD/images/world-backdrops.png differ diff --git a/bn-BD/images/world-bribe.png b/bn-BD/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/bn-BD/images/world-bribe.png differ diff --git a/bn-BD/images/world-door.png b/bn-BD/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/bn-BD/images/world-door.png differ diff --git a/bn-BD/images/world-enemy2.png b/bn-BD/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/bn-BD/images/world-enemy2.png differ diff --git a/bn-BD/images/world-key.png b/bn-BD/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/bn-BD/images/world-key.png differ diff --git a/bn-BD/images/world-person-test.png b/bn-BD/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/bn-BD/images/world-person-test.png differ diff --git a/bn-BD/images/world-room-test.png b/bn-BD/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/bn-BD/images/world-room-test.png differ diff --git a/bn-BD/images/world-room.png b/bn-BD/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/bn-BD/images/world-room.png differ diff --git a/bn-BD/images/world-sign-test.png b/bn-BD/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/bn-BD/images/world-sign-test.png differ diff --git a/bn-BD/images/world-sign-test2.png b/bn-BD/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/bn-BD/images/world-sign-test2.png differ diff --git a/bn-BD/images/world-sign.png b/bn-BD/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/bn-BD/images/world-sign.png differ diff --git a/bn-BD/images/world-starter.png b/bn-BD/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/bn-BD/images/world-starter.png differ diff --git a/bn-BD/images/world-treasure.png b/bn-BD/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/bn-BD/images/world-treasure.png differ diff --git a/bn-BD/images/world-up.png b/bn-BD/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/bn-BD/images/world-up.png differ diff --git a/bn-BD/images/world-walls-test.png b/bn-BD/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/bn-BD/images/world-walls-test.png differ diff --git a/bn-BD/images/world-walls.png b/bn-BD/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/bn-BD/images/world-walls.png differ diff --git a/bn-BD/meta.yml b/bn-BD/meta.yml new file mode 100644 index 000000000..6a8a93ded --- /dev/null +++ b/bn-BD/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: ভূমিকা + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/bn-BD/resources/CreateYourOwnWorldResources.sb3 b/bn-BD/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/bn-BD/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/bn-BD/resources/chest.svg b/bn-BD/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/bn-BD/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bn-BD/resources/coin.svg b/bn-BD/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/bn-BD/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bn-BD/resources/door-blue.png b/bn-BD/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/bn-BD/resources/door-blue.png differ diff --git a/bn-BD/resources/enemy.png b/bn-BD/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/bn-BD/resources/enemy.png differ diff --git a/bn-BD/resources/key.svg b/bn-BD/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/bn-BD/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/bn-BD/resources/person.png b/bn-BD/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/bn-BD/resources/person.png differ diff --git a/bn-BD/resources/player.png b/bn-BD/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/bn-BD/resources/player.png differ diff --git a/bn-BD/resources/room1.png b/bn-BD/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/bn-BD/resources/room1.png differ diff --git a/bn-BD/resources/room2.png b/bn-BD/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/bn-BD/resources/room2.png differ diff --git a/bn-BD/resources/room3.png b/bn-BD/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/bn-BD/resources/room3.png differ diff --git a/bn-BD/resources/sign.svg b/bn-BD/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/bn-BD/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bn-BD/scratch-translatable.txt b/bn-BD/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/bn-BD/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/bn-BD/solutions/CreateYourOwnWorld.sb3 b/bn-BD/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/bn-BD/solutions/CreateYourOwnWorld.sb3 differ diff --git a/bn-BD/step_1.md b/bn-BD/step_1.md new file mode 100644 index 000000000..c43f6daa3 --- /dev/null +++ b/bn-BD/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## পরিচিতি + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### যা তৈরি করতে হবে + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: যা যা প্রয়োজন + +### হার্ডওয়্যার + +- একটি কম্পিউটার যেথানে স্ক্র্যাচ ৩. ০ (Scratch 3) চালানো যাবে + +### সফটওয়্যার + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### ডাউনলোডগুলি + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: যা শিখতে পারবেন + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## শিরোনাম : শিক্ষাবিদদের জন্য অতিরিক্ত তথ্য + +আপনি যদি এই প্রজেক্টটি প্রিন্ট করতে চান তবে [প্রিন্টার সহযোগী সংষ্করণ](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"} ব্যবহার করুন।. + +আপনি এখানে সমাপ্ত প্রকল্প সমূহ [completed project here](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"} সন্ধান করতে পারেন।. + +\--- /collapse \--- \ No newline at end of file diff --git a/bn-BD/step_10.md b/bn-BD/step_10.md new file mode 100644 index 000000000..d3465ca9a --- /dev/null +++ b/bn-BD/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/bn-BD/step_11.md b/bn-BD/step_11.md new file mode 100644 index 000000000..132d1a6aa --- /dev/null +++ b/bn-BD/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/bn-BD/step_12.md b/bn-BD/step_12.md new file mode 100644 index 000000000..98436dbd5 --- /dev/null +++ b/bn-BD/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![স্ক্রিনশট](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/bn-BD/step_13.md b/bn-BD/step_13.md new file mode 100644 index 000000000..faaa784b3 --- /dev/null +++ b/bn-BD/step_13.md @@ -0,0 +1,21 @@ +## এরপর কি? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/bn-BD/step_2.md b/bn-BD/step_2.md new file mode 100644 index 000000000..ad93701b5 --- /dev/null +++ b/bn-BD/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +আপনার যদি স্ক্র্যাচ অ্যাকাউন্ট থাকে তবে আপনি ** রিমিক্স ক্লিক করে একটি অনুলিপি তৈরি করতে পারেন ** ।. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. আপনার যদি স্ক্র্যাচ অফলাইন সম্পাদক ডাউনলোড এবং ইনস্টল করতে হয় তবে আপনি এটি [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"} এ খুঁজে পেতে পারেন।. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/bn-BD/step_3.md b/bn-BD/step_3.md new file mode 100644 index 000000000..c35c898cf --- /dev/null +++ b/bn-BD/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/bn-BD/step_4.md b/bn-BD/step_4.md new file mode 100644 index 000000000..7343fe1de --- /dev/null +++ b/bn-BD/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/bn-BD/step_5.md b/bn-BD/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/bn-BD/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/bn-BD/step_6.md b/bn-BD/step_6.md new file mode 100644 index 000000000..f046657d5 --- /dev/null +++ b/bn-BD/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![screenshot](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/bn-BD/step_7.md b/bn-BD/step_7.md new file mode 100644 index 000000000..2368ef13a --- /dev/null +++ b/bn-BD/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/bn-BD/step_8.md b/bn-BD/step_8.md new file mode 100644 index 000000000..42966a563 --- /dev/null +++ b/bn-BD/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/bn-BD/step_9.md b/bn-BD/step_9.md new file mode 100644 index 000000000..02b33ad08 --- /dev/null +++ b/bn-BD/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/bn-IN/images/banner.png b/bn-IN/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/bn-IN/images/banner.png differ diff --git a/bn-IN/images/cats-finished.png b/bn-IN/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/bn-IN/images/cats-finished.png differ diff --git a/bn-IN/images/coin.png b/bn-IN/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/bn-IN/images/coin.png differ diff --git a/bn-IN/images/door.png b/bn-IN/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/bn-IN/images/door.png differ diff --git a/bn-IN/images/key.png b/bn-IN/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/bn-IN/images/key.png differ diff --git a/bn-IN/images/north-south-rooms.png b/bn-IN/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/bn-IN/images/north-south-rooms.png differ diff --git a/bn-IN/images/number-grid.png b/bn-IN/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/bn-IN/images/number-grid.png differ diff --git a/bn-IN/images/person.png b/bn-IN/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/bn-IN/images/person.png differ diff --git a/bn-IN/images/player.png b/bn-IN/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/bn-IN/images/player.png differ diff --git a/bn-IN/images/showcase.png b/bn-IN/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/bn-IN/images/showcase.png differ diff --git a/bn-IN/images/sign.png b/bn-IN/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/bn-IN/images/sign.png differ diff --git a/bn-IN/images/stage.png b/bn-IN/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/bn-IN/images/stage.png differ diff --git a/bn-IN/images/world-backdrops.png b/bn-IN/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/bn-IN/images/world-backdrops.png differ diff --git a/bn-IN/images/world-bribe.png b/bn-IN/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/bn-IN/images/world-bribe.png differ diff --git a/bn-IN/images/world-door.png b/bn-IN/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/bn-IN/images/world-door.png differ diff --git a/bn-IN/images/world-enemy2.png b/bn-IN/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/bn-IN/images/world-enemy2.png differ diff --git a/bn-IN/images/world-key.png b/bn-IN/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/bn-IN/images/world-key.png differ diff --git a/bn-IN/images/world-person-test.png b/bn-IN/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/bn-IN/images/world-person-test.png differ diff --git a/bn-IN/images/world-room-test.png b/bn-IN/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/bn-IN/images/world-room-test.png differ diff --git a/bn-IN/images/world-room.png b/bn-IN/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/bn-IN/images/world-room.png differ diff --git a/bn-IN/images/world-sign-test.png b/bn-IN/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/bn-IN/images/world-sign-test.png differ diff --git a/bn-IN/images/world-sign-test2.png b/bn-IN/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/bn-IN/images/world-sign-test2.png differ diff --git a/bn-IN/images/world-sign.png b/bn-IN/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/bn-IN/images/world-sign.png differ diff --git a/bn-IN/images/world-starter.png b/bn-IN/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/bn-IN/images/world-starter.png differ diff --git a/bn-IN/images/world-treasure.png b/bn-IN/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/bn-IN/images/world-treasure.png differ diff --git a/bn-IN/images/world-up.png b/bn-IN/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/bn-IN/images/world-up.png differ diff --git a/bn-IN/images/world-walls-test.png b/bn-IN/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/bn-IN/images/world-walls-test.png differ diff --git a/bn-IN/images/world-walls.png b/bn-IN/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/bn-IN/images/world-walls.png differ diff --git a/bn-IN/meta.yml b/bn-IN/meta.yml new file mode 100644 index 000000000..a957795f7 --- /dev/null +++ b/bn-IN/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: আপনার নিজস্ব বিশ্ব তৈরি করুন +description: আপনার নিজের ওপেন-ওয়ার্ল্ড অ্যাডভেঞ্চার গেমটি তৈরি করুন +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: ভূমিকা + - + title: প্লেয়ার sprite টি সরান + - + title: শক্ত দেওয়াল + completion: + - engaged + - + title: আপনার জগতের চারদিকে ঘুরুন + - + title: 'Challenge: আগের ঘরে ফিরে যান' + challenge: true + - + title: লক্ষণ বা signs + - + title: 'Challenge: ধনসম্পত্তি!' + challenge: true + - + title: জনগণ + - + title: 'Challenge: প্রতিপক্ষ' + challenge: true + - + title: মুদ্রাগুলি সংগ্রহ করুন + - + title: দরজা এবং চাবি + completion: + - internal + - + title: 'Challenge: আপনার বিশ্ব প্রসারিত করুন' + challenge: true + completion: + - external diff --git a/bn-IN/resources/CreateYourOwnWorldResources.sb3 b/bn-IN/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/bn-IN/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/bn-IN/resources/chest.svg b/bn-IN/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/bn-IN/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bn-IN/resources/coin.svg b/bn-IN/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/bn-IN/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bn-IN/resources/door-blue.png b/bn-IN/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/bn-IN/resources/door-blue.png differ diff --git a/bn-IN/resources/enemy.png b/bn-IN/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/bn-IN/resources/enemy.png differ diff --git a/bn-IN/resources/key.svg b/bn-IN/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/bn-IN/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/bn-IN/resources/person.png b/bn-IN/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/bn-IN/resources/person.png differ diff --git a/bn-IN/resources/player.png b/bn-IN/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/bn-IN/resources/player.png differ diff --git a/bn-IN/resources/room1.png b/bn-IN/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/bn-IN/resources/room1.png differ diff --git a/bn-IN/resources/room2.png b/bn-IN/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/bn-IN/resources/room2.png differ diff --git a/bn-IN/resources/room3.png b/bn-IN/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/bn-IN/resources/room3.png differ diff --git a/bn-IN/resources/sign.svg b/bn-IN/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/bn-IN/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bn-IN/scratch-translatable.txt b/bn-IN/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/bn-IN/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/bn-IN/solutions/CreateYourOwnWorld.sb3 b/bn-IN/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/bn-IN/solutions/CreateYourOwnWorld.sb3 differ diff --git a/bn-IN/step_1.md b/bn-IN/step_1.md new file mode 100644 index 000000000..67f4c9bab --- /dev/null +++ b/bn-IN/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +এটি ** scratch 3 ** প্রকল্পের একটি সংস্করণ।. এই প্রকল্পের একটি [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2) ও রয়েছে. + +\--- /no-print \--- + +## ভূমিকা + +এই প্রকল্পে আপনি আপনার নিজের অ্যাডভেঞ্চার গেম ওয়ার্ল্ড তৈরি করতে শিখবেন এবং এই গেমএ আপনি একাধিক স্তর অন্বষণে করতে পারবেন. + +### আপনি যা বানাবেন + +\--- no-print \--- + +শুরু করতে সবুজ পতাকায় ক্লিক করুন।. আপনার character টিকে বিশ্বের চারদিকে ঘোরাতে তীর চিহ্ন টি ব্যবহার করুন. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +আপনার character টিকে বিশ্বের চারদিকে ঘোরাতে তীর চিহ্ন টি ব্যবহার করুন. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: আপনার যা প্রয়োজন হবে + +### Hardware + +- Scratch 3 চালানোর জন্য সক্ষম একটি কম্পিউটার + +### Software + +- Scratch 3 (either [online](http://rpf.io/scratchon){:target="_blank"} or [offline](http://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +এই প্রকল্পটি সম্পন্ন করার জন্য আপনার প্রয়োজনীয় সমস্ত কিছু আপনি এখানে পাবেন[rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go)।. + +\--- /collapse \--- + +## \--- collapse \--- + +## title: যা আপনি শিখবেন + +- কী চাপার প্রতিক্রিয়া জানাতে conditional selection ব্যবহার করুন +- গেমের অবস্থা সঞ্চয় করতে ভেরিয়েবল ব্যবহার করুন +- একটি ভেরিয়েবলের মানের ভিত্তিতে শর্তসাপেক্ষ নির্বাচন ব্যবহার করুন +- ডেটা সঞ্চয় করতে তালিকাগুলি ব্যবহার করুন + +\--- /collapse \--- + +## \--- collapse \--- + +## title: শিক্ষাবিদদের জন্য অতিরিক্ত তথ্য + +আপনি যদি এই প্রজেক্টটি প্রিন্ট করতে চান তবে [printer-friendly version](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"} ব্যবহার করুন ।. + +আপনি সমাপ্ত প্রকল্প গুলি [completed project here](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"} এখানে পেতে পারেন. + +\--- /collapse \--- \ No newline at end of file diff --git a/bn-IN/step_10.md b/bn-IN/step_10.md new file mode 100644 index 000000000..2b378a63e --- /dev/null +++ b/bn-IN/step_10.md @@ -0,0 +1,71 @@ +## মুদ্রা সংগ্রহ + +আপনার `player` sprite বিশ্বব্যাপী চলার সাথে সাথে কয়েন সংগ্রহ করতে সক্ষম হওয়া উচিত।. + +\--- task \--- + +আপনার প্রকল্পে একটি নতুন variable যুক্ত করুন `coins`{:class="block3variables"}. + +\--- /task \--- + +\--- task \--- + +`coin` sprite নির্বাচন করুন এবং **show** ক্লিক করুন।. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +আপনার নতুন কোড `coin` sprite যুক্ত করুন যাতে sprite কেবলমাত্র রুম 1 এ উপস্থিত হয়।. + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +কোড `stop other scripts in sprite`{:class="block3control"} যাতে প্রয়োজন হয় যে `coin` sprite একবার সংগ্রহ করার পরে রুম 1 এ প্রদর্শিত হবে।. + +\--- /task \--- + +\--- task \--- + +গেমের শুরুতে আপনার`coins`{:class="block3variables"} সেট করতে স্টেজটিতে কোড যুক্ত করুন ভেরিয়েবল `0`{:class="block3variables"} গেমের শুরুতে।. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +আপনার খেলা পরীক্ষা করুন।. একটি মুদ্রা সংগ্রহ করলে আপনার স্কোর পরিবর্তন হওয়া উচিত`coins`থেকে `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/bn-IN/step_11.md b/bn-IN/step_11.md new file mode 100644 index 000000000..a26fc277c --- /dev/null +++ b/bn-IN/step_11.md @@ -0,0 +1,104 @@ +## দরজা এবং চাবি + +এখন আপনি কোড যুক্ত করবেন যাতে আপনার গেম এ কয়েকটি দরজা লক হয়ে যায় এবং প্লেয়ারকে অবশ্যই সেগুলি খোলার জন্য এবং পরবর্তী ঘরে যেতে হবে চাবিটি খুঁজে পেতে. + +\--- task \--- + +`key` sprite স্যুইচ করুন।. স্ক্রিপ্ট মেনুতে `show`{:class="blocklooks"} ক্লিক করুন যাতে sprite স্টেজটিতে উপস্থিত হয়।. + +\--- /task \--- + +\--- task \--- + +`key` sprite's costume এমনভাবে সম্পাদনা করুন যাতে এটি নীল হয়. + +\--- /task \--- + +\--- task \--- + +আপনার স্টেজের ব্যাকড্রপটি রুম 3 তে স্যুইচ করুন এবং `key` sprite কোথাও পৌঁছানোর পক্ষে শক্ত করুন! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +কেবলমাত্র ঘরে 3 এ দৃশ্যমান করতে `Key` sprite কোড যুক্ত করুন।. + +\--- /task \--- + +\--- task \--- + +নতুন লিস্ট তৈরী করুন `inventory`{:class="block3variables"}যেখানে আপনি আপনার `player` আইটেম স্টোরে করতে পারবেন এবং sprite সংগ্রহ করতে পারবেন. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +Key টি সংগ্রহ করার জন্য আপনার যে কোডটি যুক্ত করতে হবে তা মুদ্রা সংগ্রহের কোডের সাথে খুব মিল।. পার্থক্য হ'ল আপনি চাবি টি `inventory`{:class="block3variables"} যুক্ত করেছেন. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +গেমের শুরুতে আপনার জায়াগুলি খালি করতে আপনার পর্যায়ে কোড যুক্ত করুন।. + +```blocks3 +delete (all v) of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +আপনি `key` sprite সংগ্রহ করতে এবং এটি আপনার জায়টিতে যুক্ত করতে পারেন কিনা তা পরীক্ষা করতে আপনার গেমটি পরীক্ষা করে দেখুন।. + +\--- /task \--- + +\--- task \--- + +এবার তালাবদ্ধ দরজাটি যুক্ত করুন।. `door-blue` sprite নির্বাচন করুন এবং স্ক্রিপ্ট মেনুতে `show`{:class="blocklooks} এ ক্লিক করুন এবং তারপরে দুটি প্রাচীরের মধ্যবর্তী ফাঁক জুড়ে sprite অবস্থান দিন।. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +`door-blue` sprite কোড যুক্ত করুন যাতে এটি কেবল 3 নম্বর ঘরে দৃশ্যমান হয়।. + +\--- /task \--- + +\--- task \--- + +কোড যুক্ত করুন `door-blue` sprite যাতে চাবি `inventory`{:class="block3variables"}, sprite `hides`{:class="block3looks"} আপনাকে অনুমতি দিতে `player` sprite পাস করতে. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +আপনার গেমটি পরীক্ষা করুন এবং দেখুন যে আপনি দরজা খোলার জন্য নীল কীটি সংগ্রহ করতে পারেন কিনা! + +\--- /task \--- \ No newline at end of file diff --git a/bn-IN/step_12.md b/bn-IN/step_12.md new file mode 100644 index 000000000..790e6db45 --- /dev/null +++ b/bn-IN/step_12.md @@ -0,0 +1,28 @@ +## Challenge: আপনার জগৎ প্রসারিত করুন + +আপনি এখন আপনার নিজের জগৎ তৈরি চালিয়ে যেতে পারেন! এখানে কিছু ধারনা দেওয়া হলো: + ++ বিভিন্ন ঘরে আপনার গেমটিতে আরও কয়েন যুক্ত করুন।. প্রতিপক্ষদের পাহারা দিয়ে আপনি কি আপনার মুদ্রা রক্ষা করতে পারেন? ++ আপনার গেমের ব্যাকড্রপগুলি পরিবর্তন করুন ++ আপনার গেমটিতে শব্দ এবং সঙ্গীত যুক্ত করুন ++ আরও লোক, প্রতিপক্ষ এবং চিহ্ন যুক্ত করুন ++ লাল এবং হলুদ দরজা যুক্ত করুন এবং এগুলি খোলার জন্য বিশেষ চাবি যুক্ত করুন ++ আপনার গেম এ আরো কক্ষ যুক্ত করুন ++ আপনার গেমটিতে অন্যান্য দরকারী আইটেম যুক্ত করুন + + + অন্যান্য লোকের কাছ থেকে তথ্য পেতে কয়েন ব্যবহার করুন: + +![screenshot](images/world-bribe.png) + ++ এমনকি আপনি কক্ষ 1 এর উত্তর এবং দক্ষিণ দেয়ালগুলিতে দরজা যুক্ত করতে পারেন, যাতে প্লেয়ারটি চার দিকের কক্ষগুলির মধ্যে যাতায়াত করতে পারে।. উদাহরণস্বরূপ, আপনার গেমটিতে 3 × 3 গ্রিডে নয়টি কক্ষ থাকতে পারে।. তারপরে আপনি এক স্তর নীচে যেতে রুম নম্বরটিতে `3` যুক্ত করতে পারেন।. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/bn-IN/step_13.md b/bn-IN/step_13.md new file mode 100644 index 000000000..3981cd459 --- /dev/null +++ b/bn-IN/step_13.md @@ -0,0 +1,21 @@ +## এরপর কি? + +আপনি আর একটা গেম তৈরী করতে পারেন এই প্রজেক্ট দিয়ে [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +পেন্সিল দিয়ে একটি লাইন আঁকতে মাউসের সাহায্যে ক্লিক করুন এবং টেনে আনুন।. আপনার লক্ষ্য হ'ল প্রস্থানটির নিরাপদ পথ তৈরি করা যাতে বিড়াল গুলো গর্তের মধ্যে পড়ে না যায়. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +আপনি যদি Scratch এর পরিবর্তে Python দিয়া গেম বানাতে চান তাহলে এই [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) প্রজেক্ট ব্যাবহার করুন. \ No newline at end of file diff --git a/bn-IN/step_2.md b/bn-IN/step_2.md new file mode 100644 index 000000000..58c320f1a --- /dev/null +++ b/bn-IN/step_2.md @@ -0,0 +1,132 @@ +## প্লেয়ার sprite টি সরান + +`player` sprite তৈরি করে শুরু করুন যা আপনার বিশ্বজুড়ে চলাফেরা করতে পারে।. + +\--- task \--- + +'Create your own world' scratch স্টার্টার প্রকল্পটি খুলুন।. + +**Online**: [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"} অনলাইন স্টার্টার প্রকল্পটি খুলুন. + +আপনার যদি scratch অ্যাকাউন্ট থাকে তবে আপনি **Remix** ক্লিক করে একটি অনুলিপি তৈরি করতে পারেন।. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. আপনার যদি স্ক্র্যাচ অফলাইন সম্পাদক ডাউনলোড ও ইনস্টল করতে হয় তবে আপনি এটি [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"} এ খুঁজে পেতে পারেন. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +তীর কীগুলি টিপলে ` player ` স্প্রিটকে চারদিকে সরিয়ে নেওয়া উচিত।. যখন উপরের তীরটি টিপানো হয় তখন ` player ` sprite র প্রতিক্রিয়া হিসাবে স্টেজের উপরের দিকে সরে যেতে হবে।. + +\--- task \--- + +` player ` স্প্রাইটে এই কোডটি যুক্ত করুন: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +পতাকাটিতে ক্লিক করুন এবং তারপরে উপরের তীরটি ধরে রাখুন।. ` player ` sprite কি উপরে চলেছে? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +`player` sprite কে বাম দিকে সরানোর জন্য, আপনাকে অনুরূপ কোড সহ `if`{:class="block3control"} ব্লক যোগ করতে হবে: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +আপনার ` player ` sprite আরও কোড যুক্ত করুন যাতে এটি নীচে এবং ডানদিকেও যেতে পারে।. সাহায্য পেতে যে কোডটি আপনার কাছে রয়েছে সেটি ব্যবহার করুন।. + +\--- hints \--- + +\--- hint \--- + +উপরে যেতে, আপনি `player` sprite ` 0 ` ডিগ্রি দিকে নির্দেশ করুন।. Sprite টি নীচে নামাতে আপনাকে কী করতে হবে? + +বাম দিকে যেতে, আপনি sprite টি `-90` ডিগ্রি দিকে নির্দেশ করুন।. স্প্রাইটটি ডানদিকে সরানোর জন্য আপনাকে কী করতে হবে? + +\--- /hint \--- + +\--- hint \--- + +আপনাকে এই দুটি ব্লক পরিবর্তন করতে হবে: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +কোডটিকে নকল করুন যা `player` sprite কে উপরের দিকে সরায় এবং sprite টি নীচে সরানোর জন্য এই দুটি ব্লক পরিবর্তন করুন।. কোডটি আবার নকল করুন এবং sprite টি ডানদিকে সরানোর জন্য এটি পরিবর্তন করুন।. + +\--- /hint \--- + +\--- hint \--- + +আপনার কোডটি দেখতে কেমন হবে তা এখানে: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/bn-IN/step_3.md b/bn-IN/step_3.md new file mode 100644 index 000000000..094a4a9ab --- /dev/null +++ b/bn-IN/step_3.md @@ -0,0 +1,50 @@ +## শক্ত দেওয়াল + +\--- task \--- + +আপনার ` player` sprite আবার পরীক্ষা করুন।. এটি কি হালকা ধূসর দেওয়াল দিয়ে হাঁটতে পারে? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +এটি ঠিক করার জন্য, আপনাকে হালকা ধূসর প্রাচীরের ছোঁয়ায় `player` sprite টি আবার সরানো দরকার।. আপনার `forever`{:class="block3control"} নিচের দিকের ব্লকগুলিতে আপনার যে কোডটি যুক্ত করতে হবে তা এখানে: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +`player` sprite টিকে কোনও প্রাচীরের মধ্যে দিয়ে নিয়ে যাওয়ার চেষ্টা করুন।. যদি আপনার নতুন কোডটি কাজ করে তবে এটি সম্ভব হবে না।. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/bn-IN/step_4.md b/bn-IN/step_4.md new file mode 100644 index 000000000..40b5cbe22 --- /dev/null +++ b/bn-IN/step_4.md @@ -0,0 +1,142 @@ +## আপনার জগতের চারপাশে ঘুরুন + +` player ` স্প্রিটের দরজা দিয়ে অন্যান্য ঘরে ঢুকতে পারা উচিত।. + +আপনার প্রকল্পে অতিরিক্ত কক্ষগুলির জন্য ব্যাকড্রপ রয়েছে: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +`player` Sprite কোন রুমে আছে সেদিকে নজর রাখার জন্য `room`{:class="block3variables"} নামে পরিচিত সকল sprite র ভেরিয়েবলের জন্য একটি নতুন 'for all sprite' variable তৈরি করুন।. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +`player` sprite যখন প্রথম ঘরে কমলা দরজা স্পর্শ করে, গেমটি পরবর্তী পটভূমি প্রদর্শিত হবে এবং `player` sprite টিকে স্টেজের বাম দিকে ফিরে যেতে হবে।. `player` sprite র`forever`{:class="block3control"} loop এ এই কোড যুক্ত করুন: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +প্রতিবার খেলা শুরু হওয়ার সাথে সাথে ঘর, character র অবস্থান এবং ব্যাকড্রপগুলি পুনরায় সেট করা দরকার।. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +খেলাটি যখন শুরু হয়: + ++ `room`{:class="block3variables"} এর মান `1`{:class="block3variables"} হওয়া উচিত ++ `backdrop`{:class="block3looks"} টি `room1`{:class="block3looks"} হওয়া উচিত ++ `player` sprite এর অবস্থান `x: -200 y: 0`{:class="block3motion"} হওয়া উচিত + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +আপনার সমাপ্ত script টি দেখতে কেমন হওয়া উচিত তা এখানে আছে: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +পতাকাটিতে ক্লিক করুন এবং তারপরে কমলার দরজাটি স্পর্শ না করা পর্যন্ত আপনার `player` sprite কে সরান।. Sprite টি কি পরের পর্দায় চলে আসে? `room`{:class="block3variables"} variable কি পরিবর্তিত হয়ে `2` হয়? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/bn-IN/step_5.md b/bn-IN/step_5.md new file mode 100644 index 000000000..7f713eb41 --- /dev/null +++ b/bn-IN/step_5.md @@ -0,0 +1,3 @@ +## Challenge: আগের ঘরে ফিরে যান + +হলুদ দরজা স্পর্শ করার পরে আপনি কি আপনার `player` sprite টিকে আগের ঘরে ফিরিয়ে নিয়ে যেতে পারবেন? এর জন্য আপনার যে কোডটি প্রয়োজন তা আগের কোডটির সাথে সাদৃশ্যপূর্ণ যা আপনি ইতিমধ্যে পরবর্তী ঘরে sprite স্থানান্তরিত করার জন্য যুক্ত করেছেন।. \ No newline at end of file diff --git a/bn-IN/step_6.md b/bn-IN/step_6.md new file mode 100644 index 000000000..e0bbc7565 --- /dev/null +++ b/bn-IN/step_6.md @@ -0,0 +1,108 @@ +## লক্ষণ বা signs + +খেলোয়াড়দের ভ্রমণের পথে তাদের নির্দেশ দেবার জন্য এখন আপনার বিশ্বে লক্ষণ/signs যুক্ত করুন।. + +আপনার প্রকল্পে একটি `welcome sign` sprite রয়েছে: + +![screenshot](images/world-sign.png) + +\--- task \--- + +`welcome sign` sprite টি কেবলমাত্র কক্ষ 1 এ দৃশ্যমান হওয়া উচিত, সুতরাং sprite এ কিছু কোড যুক্ত করুন তা নিশ্চিত হওয়ার জন্য: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +এখানে আছে সম্পূর্ণ কোড: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +আপনার `welcome sign` র জন্য ঘর গুলোর মধ্যে চলাচল করে কোডটি পরীক্ষা করুন।. সাইনটি কেবল রুম 1 এ দৃশ্যমান হওয়া উচিত।. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +কোনও চিহ্ন না বললে কিছু ভাল হয় না! যদি `welcome sign` sprite, `player` sprite কে স্পর্শ করে তবে একটি বার্তা প্রদর্শন করতে আরও কিছু কোড যুক্ত করুন: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +আপনার `welcome sign` আবার পরীক্ষা করুন।. `player` sprite, `welcome sign` sprite স্পর্শ করলে আপনার এখন একটি বার্তা দেখা উচিত।. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/bn-IN/step_7.md b/bn-IN/step_7.md new file mode 100644 index 000000000..3d9f30b56 --- /dev/null +++ b/bn-IN/step_7.md @@ -0,0 +1,7 @@ +## Challenge: ধনসম্পত্তি! + +আপনি কি খেলোয়াড়ের খুঁজবে এমন কিছু ধনসম্পত্তি যোগ করতে পারেন? + +`treasure chest` sprite টি কেবলমাত্র 3 টি ঘরে হাজির করুন এবং এই sprite টি 'well done!' বলবে `player` sprite যখন এটি স্পর্শ করবে।. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/bn-IN/step_8.md b/bn-IN/step_8.md new file mode 100644 index 000000000..32af08a45 --- /dev/null +++ b/bn-IN/step_8.md @@ -0,0 +1,65 @@ +## জনগণ + +আপনার `player` sprite র সাথে যোগাযোগ করতে পারে এমন জনগণ আপনার বিশ্বে যুক্ত করুন।. + +\--- task \--- + +`person` sprite তে স্যুইচ করুন।. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +`person` sprite কিছু কোড যুক্ত করুন যাতে ব্যক্তিটির `player` sprite র সাথে কথা হয়।. এই কোডটি আপনার `sign` sprite এ যুক্ত কোডের সাথে খুব মিল: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +`person` sprit কে আপনার অনুমতি দিন, এই দুটি ব্লক যুক্ত করে সরাতে `else`{:class="block3control"} স্থানে আপনার কোড বিভাগে: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +আপনার `person` sprite এখন স্থানান্তরিত হবে, তবে `player` sprite র সাথে কথা বলা বন্ধ করবে।. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +আপনার নতুন `person` sprite কোড যুক্ত করুন যাতে sprite টি কেবলমাত্র রুম 1 এ উপস্থিত হয়।. আপনার প্রয়োজনীয় কোডটি কোডের মতো হ'ল `sign` sprite কে কেবল রুম 1 এ দৃশ্যমান করে তোলে।. + +নিশ্চিত হয়ে নিন যে আপনি আপনার নতুন কোডটি পরীক্ষা করেছেন।. + +\--- /task \--- \ No newline at end of file diff --git a/bn-IN/step_9.md b/bn-IN/step_9.md new file mode 100644 index 000000000..4972d91c2 --- /dev/null +++ b/bn-IN/step_9.md @@ -0,0 +1,39 @@ +## Challenge: একটি পতিপক্ষ যুক্ত করুন + +আপনি যদি চান তবে আপনার গেমটিতে পতিপক্ষ দেরও টহল দিতে যুক্ত করতে পারেন।. যদি `player` sprite কোনও শত্রূকে স্পর্শ করে, খেলাটি শেষ হয়।. + ++ আপনার গেমটিতে ইতিমধ্যে একটি `enemy` sprite রয়েছে।. `enemy` sprite কোড যুক্ত করুন যাতে এটি কেবল রুম 2 এ প্রদর্শিত হয়।. + ++ `enemy` sprite স্থানান্তর করতে এবং `enemy` sprite যদি `player` sprite স্পর্শ করে তবে খেলাটি শেষ করতে কোড যুক্ত করুন।. এটি আলাদা কোড ব্লকগুলিতে করা সহজ।. আপনার `enemy` sprite কোডটি কি রকম দেখতে হবে: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ আপনার নতুন কোডটি পরীক্ষা করে নিশ্চিত করুন: + + `enemy` sprite কেবল রুম 2 এ দৃশ্যমান + + `enemy` sprite কক্ষটি টহল দিচ্ছে + + গেমটি শেষ হয় যদি `player` sprite যদি `enemy` sprite স্পর্শ করে + +আপনি কি 3 নম্বর রুমে আরও `enemy` sprite তৈরি করতে পারেন যা উপর নিচে টহল দেবে? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/ca-ES/images/banner.png b/ca-ES/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/ca-ES/images/banner.png differ diff --git a/ca-ES/images/cats-finished.png b/ca-ES/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/ca-ES/images/cats-finished.png differ diff --git a/ca-ES/images/coin.png b/ca-ES/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/ca-ES/images/coin.png differ diff --git a/ca-ES/images/door.png b/ca-ES/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/ca-ES/images/door.png differ diff --git a/ca-ES/images/key.png b/ca-ES/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/ca-ES/images/key.png differ diff --git a/ca-ES/images/north-south-rooms.png b/ca-ES/images/north-south-rooms.png new file mode 100644 index 000000000..c17c7a432 Binary files /dev/null and b/ca-ES/images/north-south-rooms.png differ diff --git a/ca-ES/images/number-grid.png b/ca-ES/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/ca-ES/images/number-grid.png differ diff --git a/ca-ES/images/person.png b/ca-ES/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/ca-ES/images/person.png differ diff --git a/ca-ES/images/player.png b/ca-ES/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/ca-ES/images/player.png differ diff --git a/ca-ES/images/showcase.png b/ca-ES/images/showcase.png new file mode 100644 index 000000000..34ee8e7cc Binary files /dev/null and b/ca-ES/images/showcase.png differ diff --git a/ca-ES/images/sign.png b/ca-ES/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/ca-ES/images/sign.png differ diff --git a/ca-ES/images/stage.png b/ca-ES/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/ca-ES/images/stage.png differ diff --git a/ca-ES/images/world-backdrops.png b/ca-ES/images/world-backdrops.png new file mode 100644 index 000000000..d3ec6d4e8 Binary files /dev/null and b/ca-ES/images/world-backdrops.png differ diff --git a/ca-ES/images/world-bribe.png b/ca-ES/images/world-bribe.png new file mode 100644 index 000000000..bb6c416b4 Binary files /dev/null and b/ca-ES/images/world-bribe.png differ diff --git a/ca-ES/images/world-door.png b/ca-ES/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/ca-ES/images/world-door.png differ diff --git a/ca-ES/images/world-enemy2.png b/ca-ES/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/ca-ES/images/world-enemy2.png differ diff --git a/ca-ES/images/world-key.png b/ca-ES/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/ca-ES/images/world-key.png differ diff --git a/ca-ES/images/world-person-test.png b/ca-ES/images/world-person-test.png new file mode 100644 index 000000000..7c7dd7aa1 Binary files /dev/null and b/ca-ES/images/world-person-test.png differ diff --git a/ca-ES/images/world-room-test.png b/ca-ES/images/world-room-test.png new file mode 100644 index 000000000..212241d1f Binary files /dev/null and b/ca-ES/images/world-room-test.png differ diff --git a/ca-ES/images/world-room.png b/ca-ES/images/world-room.png new file mode 100644 index 000000000..d11a2acf8 Binary files /dev/null and b/ca-ES/images/world-room.png differ diff --git a/ca-ES/images/world-sign-test.png b/ca-ES/images/world-sign-test.png new file mode 100644 index 000000000..e4af89a8a Binary files /dev/null and b/ca-ES/images/world-sign-test.png differ diff --git a/ca-ES/images/world-sign-test2.png b/ca-ES/images/world-sign-test2.png new file mode 100644 index 000000000..8b827b2d7 Binary files /dev/null and b/ca-ES/images/world-sign-test2.png differ diff --git a/ca-ES/images/world-sign.png b/ca-ES/images/world-sign.png new file mode 100644 index 000000000..e2a34afeb Binary files /dev/null and b/ca-ES/images/world-sign.png differ diff --git a/ca-ES/images/world-starter.png b/ca-ES/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/ca-ES/images/world-starter.png differ diff --git a/ca-ES/images/world-treasure.png b/ca-ES/images/world-treasure.png new file mode 100644 index 000000000..dee654813 Binary files /dev/null and b/ca-ES/images/world-treasure.png differ diff --git a/ca-ES/images/world-up.png b/ca-ES/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/ca-ES/images/world-up.png differ diff --git a/ca-ES/images/world-walls-test.png b/ca-ES/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/ca-ES/images/world-walls-test.png differ diff --git a/ca-ES/images/world-walls.png b/ca-ES/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/ca-ES/images/world-walls.png differ diff --git a/ca-ES/meta.yml b/ca-ES/meta.yml new file mode 100644 index 000000000..8cd44833a --- /dev/null +++ b/ca-ES/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Crea el teu propi món +description: Crea el teu propi joc d’aventura obert al món +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introducció + - + title: Mou el personatge del jugador + - + title: Murs massissos + completion: + - engaged + - + title: Mou-te pel teu món + - + title: 'Repte: tornar a l''habitació anterior' + challenge: true + - + title: Senyals + - + title: 'Repte: tresor!' + challenge: true + - + title: Gent + - + title: 'Repte: enemics' + challenge: true + - + title: Recollida de monedes + - + title: Portes i claus + completion: + - internal + - + title: 'Repte: amplia el teu món' + challenge: true + completion: + - external diff --git a/ca-ES/resources/CreateYourOwnWorldResources.sb3 b/ca-ES/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..605a50ab9 Binary files /dev/null and b/ca-ES/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/ca-ES/resources/chest.svg b/ca-ES/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/ca-ES/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ca-ES/resources/coin.svg b/ca-ES/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/ca-ES/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ca-ES/resources/door-blue.png b/ca-ES/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/ca-ES/resources/door-blue.png differ diff --git a/ca-ES/resources/enemy.png b/ca-ES/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/ca-ES/resources/enemy.png differ diff --git a/ca-ES/resources/key.svg b/ca-ES/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/ca-ES/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/ca-ES/resources/person.png b/ca-ES/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/ca-ES/resources/person.png differ diff --git a/ca-ES/resources/player.png b/ca-ES/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/ca-ES/resources/player.png differ diff --git a/ca-ES/resources/room1.png b/ca-ES/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/ca-ES/resources/room1.png differ diff --git a/ca-ES/resources/room2.png b/ca-ES/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/ca-ES/resources/room2.png differ diff --git a/ca-ES/resources/room3.png b/ca-ES/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/ca-ES/resources/room3.png differ diff --git a/ca-ES/resources/sign.svg b/ca-ES/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/ca-ES/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ca-ES/scratch-translatable.txt b/ca-ES/scratch-translatable.txt new file mode 100644 index 000000000..6608083c4 --- /dev/null +++ b/ca-ES/scratch-translatable.txt @@ -0,0 +1,13 @@ +habitació + +jugador + +Benvingut! Pots arribar al tresor? + +Saps que pots passar per portes taronges i grogues? + +monedes + +clau blava + +inventari diff --git a/ca-ES/solutions/CreateYourOwnWorld.sb3 b/ca-ES/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..3fa4e68b0 Binary files /dev/null and b/ca-ES/solutions/CreateYourOwnWorld.sb3 differ diff --git a/ca-ES/step_1.md b/ca-ES/step_1.md new file mode 100644 index 000000000..d895ab086 --- /dev/null +++ b/ca-ES/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Es tracta de la versió **Scratch 3** del projecte. També hi ha una [versió de Scratch 2 del projecte](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introducció + +En aquest projecte, aprendràs a crear el teu propi món de jocs d’aventura amb diversos nivells per explorar. + +### Què faràs + +\--- no-print \--- + +Fes clic a la bandera verda per començar. Utilitza les tecles de fletxa per moure el teu personatge pel món. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Utilitza les tecles de fletxa per moure el teu personatge pel món. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Què necessitaràs + +### Maquinari + +- Un ordinador capaç d'executar Scratch 3 + +### Programari + +- Scratch 3 (tant [en línia](https://rpf.io/scratchon){:target="_blank"} o [fora de línia](https://rpf.io/scratchoff){:target="_blank"}) + +### Descàrregues + +Pots trobar tot el que necessites per completar aquest projecte a [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## títol: Què aprendràs + +- Fer servir condicions per reaccionar en prémer les tecles +- Utilitzar variables per emmagatzemar l’estat d’un joc +- Fer servir condicions en funció del valor d’una variable +- Utilitzar llistes per emmagatzemar dades + +\--- /collapse \--- + +## \--- collapse \--- + +## títol: Informació addicional per educadors + +Si necessites imprimir aquest projecte, si us plau, utilitza la [versió per imprimir](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Pots trobar el [projecte complet aquí](https://rpf.io/p/en/create-your-own-world-get)"}{:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/ca-ES/step_10.md b/ca-ES/step_10.md new file mode 100644 index 000000000..5a1f9ddee --- /dev/null +++ b/ca-ES/step_10.md @@ -0,0 +1,71 @@ +## Recollida de monedes + +El teu personatge `jugador` hauria de ser capaç de recollir monedes a mesura que es mou pel món. + +\--- task \--- + +Afegeix una nova variable anomenada `monedes`{:class="block3variables"} pel teu projecte. + +\--- /task \--- + +\--- task \--- + +Selecciona el personatge `moneda` i fes clic a **mostra**. + +![captura de pantalla](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Afegeix codi al teu personatge `moneda` de manera que només aparegui a l'habitació 1. + +![captura de pantalla](images/coin.png) + +```blocks3 +quan la bandera es cliqui +per sempre +si <(habitació :: variables) =[1]> llavors +mostra't +si no +amaga't +``` + +\--- /task \--- + +\--- task \--- + +Afegeix codi al teu personatge `moneda` de manera que el personatge `s’amagui`{:class="block3looks"} i suma `1`{:class="block3variables"} a la variable `monedes`{:class="block3variables"} un cop el personatge del `jugador` toqui el personatge `moneda` per "recollir-la". + +![moneda](images/coin.png) + +```blocks3 +quan la bandera es cliqui +espera fins +suma (1) a [monedes v] +amaga't +atura [altres programes del personatge v] +``` + +El codi `atura altres programes del personatge`{:class="block3control"} és necessari perquè el personatge `moneda` deixi de mostrar-se a l'habitació 1 un cop ha estat recollida. + +\--- /task \--- + +\--- task \--- + +Afegeix ara codi a l'Escenari per assignar a la teva variable `monedes`{:class="block3variables"} el valor `0`{:class="block3variables"} al començament del joc. + +![escenari](images/stage.png) + +```blocks3 +quan fas clic a la bandera +posa [monedes v] a [0] +``` + +\--- /task \--- + +\--- task \--- + +Prova el teu joc. La recollida d'una moneda hauria de canviar la teva puntuació de `monedes` a `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/ca-ES/step_11.md b/ca-ES/step_11.md new file mode 100644 index 000000000..7e1871573 --- /dev/null +++ b/ca-ES/step_11.md @@ -0,0 +1,104 @@ +## Portes i claus + +Ara afegiràs codi perquè algunes de les portes del món del joc estiguin bloquejades i el jugador hagi de trobar la clau per obrir-les i arribar a la sala següent. + +\--- task \--- + +Canvia al personatge `clau`. Fes clic a `mostra't`{:class="blocklooks"} del menú Codi de manera que el personatge aparegui a l'Escenari. + +\--- /task \--- + +\--- task \--- + +Edita el vestit del personatge `clau` perquè quedi de color blau. + +\--- /task \--- + +\--- task \--- + +Canvia el fons de l'habitació 3 i posa el personatge de la `clau` en algun lloc difícil d’arribar! + +![captura de pantalla](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Afegeix codi al teu personatge de la `clau` de manera que només sigui visible a l'habitació 3. + +\--- /task \--- + +\--- task \--- + +Crea una llista nova anomenada `inventari`{:class="block3variables"} per emmagatzemar els articles que el teu personatge `jugador` recull. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +El codi que has d'afegir per recollir la clau és molt similar al codi de recollida de monedes. La diferència és que afegeixes la clau a l'`inventari`{:class="block3variables"}. + +![clau](images/key.png) + +```blocks3 +quan la bandera es cliqui +espera fins +afegeix [clau blava] a [inventari v] +amaga't +atura [altres programes del personatge v] +``` + +\--- /task \--- + +\--- task \--- + +Afegeix codi al teu Escenari per buidar l’inventari al començament del joc. + +```blocks3 +esborra-ho tot de [inventari v] +``` + +\--- /task \--- + +\--- task \--- + +Prova el teu joc per comprovar si pots recollir el personatge de la `clau` i afegir-lo al teu inventari. + +\--- /task \--- + +\--- task \--- + +Ara afegeix la porta bloquejada. Selecciona el personatge `porta blava` i fes clic a `mostra't`{:class="blocklooks} del menú Codi i, a continuació, col·loca el personatge a l'espai entre les dues parets. + +![captura de pantalla](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Afegeix codi al personatge de la `porta blava` de manera que només sigui visible a l'habitació 3. + +\--- /task \--- + +\--- task \--- + +Afegeix codi al personatge de la `porta blava` de manera que, quan la clau es troba a l'`inventari`{:class="block3variables"}, el personatge `s'amaga`{:class="block3looks"} per permetre al teu `jugador` passar. + +![porta](images/door.png) + +```blocks3 +quan la bandera es cliqui +espera fins <[inventari v] conté [clau blava]?> +atura [altres programes del personatge v] +amaga't +``` + +\--- /task \--- + +\--- task \--- + +Prova el teu joc i mira si pots recollir la clau blava per obrir la porta! + +\--- /task \--- \ No newline at end of file diff --git a/ca-ES/step_12.md b/ca-ES/step_12.md new file mode 100644 index 000000000..2ab3721a3 --- /dev/null +++ b/ca-ES/step_12.md @@ -0,0 +1,28 @@ +## Repte: amplia el teu món + +Ara pots continuar creant el teu propi món! Aquí tens algunes idees: + ++ Afegeix més monedes al teu joc a diferents habitacions. Pots deixar que patrulles d'enemics guardin algunes monedes? ++ Canvia l'escenari del joc ++ Afegeix so i música al teu joc ++ Afegeix més persones, enemics i senyals ++ Afegeix portes vermelles i grogues i claus especials per obrir-les ++ Afegeix més habitacions al teu món ++ Afegeix altres elements útils al teu joc + + + Utilitza monedes per obtenir informació d'altres persones: + +![captura de pantalla](images/world-bribe.png) + ++ Fins i tot podries afegir portes a les parets nord i sud de l'habitació 1, de manera que el jugador es pugui moure entre habitacions en les quatre direccions. Per exemple, el joc pot tenir nou habitacions en una graella 3 × 3. Pots afegir ` 3 ` al número de l’habitació per baixar un nivell. + +![captura de pantalla](images/north-south-rooms.png) + +![captura de pantalla](images/number-grid.png) + +```blocks3 +si aleshores +canvia el fons a ((vestit [número v]) + (3)) +ves a x:(0) y:(200) +augmenta [habitació v] en (3) +``` \ No newline at end of file diff --git a/ca-ES/step_13.md b/ca-ES/step_13.md new file mode 100644 index 000000000..124906344 --- /dev/null +++ b/ca-ES/step_13.md @@ -0,0 +1,21 @@ +## I ara què ve? + +Intenta crear un altre joc treballant amb el projecte [GATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Fes clic i arrossega amb el ratolí per dibuixar una línia amb el llapis. El teu objectiu és evitar que els gats caiguin en forats creant un camí segur fins a la sortida. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Gats acabats](images/cats-finished.png) + +\--- /print-only \--- + +Si vols crear un joc fent servir Python en lloc de l'Scratch, intenta-ho amb el projecte [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/ca-ES/step_2.md b/ca-ES/step_2.md new file mode 100644 index 000000000..b171f6ee0 --- /dev/null +++ b/ca-ES/step_2.md @@ -0,0 +1,132 @@ +## Mou el personatge del jugador + +Comença per crear un personatge `jugador` que pugui moure's pel teu món. + +\--- task \--- + +Obre el projecte d'arrencada de Scratch "Crea el teu propi món". + +**En línia**: obre el projecte d'inici a [scratch.mit.edu/projects/395712734](https://scratch.mit.edu/projects/395712734){:target="_blank"}. + +Si tens un compte a Scratch pots fer una còpia fent clic a **Reinventa**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Si necessites descarregar i instal·lar l'editor fora de línia d'Scratch, el pots trobar a [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![captura de pantalla](images/world-starter.png) + +\--- /task \--- + +Prement les tecles de fletxa hauries de moure el personatge del `jugador` pels voltants. En prémer la fletxa cap amunt, el personatge del `jugador` hauria de moure's cap a l'Escenari com a resposta. + +\--- task \--- + +Afegeix aquest codi al personatge del `jugador`: + +![jugador](images/player.png) + +```blocks3 +quan la bandera es cliqui +per sempre + si llavors + apunta en direcció (0) + mou-te (4) passos + fi +fi +``` + +\--- /task \--- + +\--- task \--- + +Fes clic a la bandera i, a continuació, mantén premuda la fletxa amunt. El personatge del `jugador` es mou cap amunt? + +![captura de pantalla](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Per moure el personatge del `jugador` a l'esquerra, has d'afegir un altre bloc `si`{:class="block3control"} amb un codi com aquest: + +![jugador](images/player.png) + +```blocks3 +quan la bandera es cliqui +per sempre + si llavors + apunta en direcció (0) + mou-te (4) passos + fi ++ si llavors + apunta en direcció (-90) + mou-te (4) passos + fi +fi +``` + +\--- /task \--- + +\--- task \--- + +Afegeix més codi al teu personatge del `jugador` perquè també es pugui moure cap a baix i cap a la dreta. Utilitza el codi que ja tens per ajudar-te. + +\--- hints \--- + +\--- hint \--- + +Per pujar cap amunt, apunta el personatge del `jugador` en la direcció `0` graus. Què has de fer per fer baixar el personatge? + +Per moure'l cap a l'esquerra, apunta el personatge en la direcció `-90` graus. Què has de fer per moure el personatge cap a la dreta? + +\--- /hint \--- + +\--- hint \--- + +Has de canviar aquests dos blocs: + +![jugador](images/player.png) + +```blocks3 + + +apunta en direcció () +``` + +Duplica el codi que fa que el personatge del `jugador` es desplaci cap amunt i canvia aquests dos blocs per fer què el personatge es mogui cap avall. Duplica el codi de nou i canvia'l per tal què el personatge es desplaci cap a la dreta. + +\--- /hint \--- + +\--- hint \--- + +Així és com s'hauria de veure el teu codi: + +![jugador](images/player.png) + +```blocks3 +quan la bandera es cliqui +per sempre + si llavors + apunta en direcció (0) + mou-te (4) passos + fi + si llavors + apunta en direcció (-90) + mou-te (4) passos + fi + ++ si llavors + apunta en direcció (180) + mou-te (4) passes + fi ++ si llavors + apunta en direcció (90) + mou-te (4) passos + fi +fi +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/ca-ES/step_3.md b/ca-ES/step_3.md new file mode 100644 index 000000000..b63a1f7cb --- /dev/null +++ b/ca-ES/step_3.md @@ -0,0 +1,50 @@ +## Murs massissos + +\--- task \--- + +Prova el teu personatge de `jugador` de nou. Do you see that it can walk through the light grey walls? + +![captura de pantalla](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Per solucionar-ho, has de fer que el personatge del `jugador` es desplaci enrere si toca una paret de color gris clar. Aquí tens el codi que cal afegir dins del teu bloc `per sempre`{:class="block3control"} sota els blocs de direcció: + +![jugador](images/player.png) + +```blocks3 +quan la bandera es cliqui +per sempre + si < tecla (fletxa amunt v) premuda? > llavors + apunta en direcció (0) + mou-te (4) passos + fi + si < tecla (fletxa esquerra v) premuda? > llavors + apunta en direcció (-90) + mou-te (4) passos + fi + si < tecla (fletxa avall v) premuda? > then + point in direction (180) + move (4) steps + end + if llavors + apunta en direcció (90) + mou-te (4) passos + fi ++ si < tocant el color [#BABABA]? > llavors + mou-te (-4) passos + fi +fi +``` + +\--- /task \--- + +\--- task \--- + +Prova de fer moure el personatge del `jugador` per una paret. Si el teu codi nou funciona, això no hauria de ser possible. + +![captura de pantalla](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ca-ES/step_4.md b/ca-ES/step_4.md new file mode 100644 index 000000000..71ee3e25a --- /dev/null +++ b/ca-ES/step_4.md @@ -0,0 +1,142 @@ +## Mou-te pel teu món + +El personatge del `jugador` hauria de poder entrar per les portes a altres habitacions. + +El teu projecte conté escenaris per a habitacions addicionals: + +![captura de pantalla](images/world-backdrops.png) + +\--- task \--- + +Crea una nova variable "per a tots els personatges" anomenada `habitació`{:class="block3variables"} per fer un seguiment de en quina habitació està el personatge del `jugador`. + +[[[generic-scratch3-add-variable]]] + +![captura de pantalla](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Quan el personatge del `jugador` toca la porta taronja a la primera habitació, el joc hauria de mostrar el següent decorat i el personatge del `jugador` hauria de tornar al costat esquerre de l'Escenari. Afegeix aquest codi dins del bucle `per sempre`{:class="block3control"} del personatge del `jugador`: + +![jugador](images/player.png) + +```blocks3 +quan la bandera es cliqui +per sempre + si < tecla (fletxa amunt v) premuda? > llavors + apunta en direcció (0) + mou-te (4) passos + fi + si < tecla (fletxa esquerra v) premuda? > llavors + apunta en direcció (-90) + mou-te (4) passos + fi + si < tecla (fletxa avall v) premuda? > then + point in direction (180) + move (4) steps + end + if llavors + apunta en direcció (90) + mou-te (4) passos + fi + si < tocant el color [#BABABA]? > llavors + mou-te (-4) passos + fi ++ if < tocant el color [#F2A24A] > llavors + canvia el fons a (següent fons de pantalla v) + vés a x: (-200) y: (0) + augmenta [habitació v] en (1) + fi +fi +``` + +\--- /task \--- + +\--- task \--- + +Cada cop que comença el joc, cal restablir l'habitació, la posició del personatge i el fons. + +Afegeix codi a l'**inici** del codi del teu personatge `jugador` per sobre del bucle `per sempre`{:class="block3control"}, per restablir-ho tot quan es faci clic a la bandera: + +\--- hints \--- + +\--- hint \--- + +Quan el joc comença: + ++ El valor d'`habitació`{:class="block3variables"} s'ha de definir a `1`{:class="block3variables"} ++ El `fons`{:class="block3variables"} s'ha de definir a `habitació1`{:class="block3variables"} ++ La posició del personatge del `jugador` s'ha de definir a `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Aquí tens els blocs addicionals que necessites: + +![jugador](images/player.png) + +```blocks3 +vés a x: (-200) y: (0) + +assigna a [habitació1 v] el valor (1) + +canvia el fons a (habitació1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Així és com s'hauria de veure el teu codi una vegada acabat: + +![jugador](images/player.png) + +```blocks3 +quan la bandera es cliqui ++assigna a [habitació v] el valor (1) ++vés a x: (-200) y: (0) ++canvia el fons a (habitació1 v) +per sempre + si < tecla (fletxa amunt v) premuda? > llavors + apunta en direcció (0) + mou-te (4) passos + fi + si < tecla (fletxa esquerra v) premuda? > llavors + apunta en direcció (-90) + mou-te (4) passos + fi + si < tecla (fletxa avall v) premuda? > then + point in direction (180) + move (4) steps + end + if llavors + apunta en direcció (90) + mou-te (4) passos + fi + si < tocant el color [#BABABA]? > llavors + mou-te (-4) passos + fi + si < tocant el color [#F2A24A] > aleshores + canvia el fons a (següent fons de pantalla v) + vés a x: (-200) y: (0) + augmenta [habitació v] en (1) + fi +fi +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Fes clic a la bandera i, a continuació, mou el teu personatge de `jugador` fins que toqui la porta taronja. El personatge passa a la pantalla següent? La variable `habitació` {:class="block3variables"} canvia a `2`? + +![captura de pantalla](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ca-ES/step_5.md b/ca-ES/step_5.md new file mode 100644 index 000000000..60ab3385b --- /dev/null +++ b/ca-ES/step_5.md @@ -0,0 +1,3 @@ +## Repte: tornar a l'habitació anterior + +Pots fer que el teu personatge de `jugador` torni a l'habitació anterior quan toca una porta groga? El codi que necessites per això és molt similar al que ja has afegit per fer que el personatge es mogui a l'habitació següent. \ No newline at end of file diff --git a/ca-ES/step_6.md b/ca-ES/step_6.md new file mode 100644 index 000000000..a2d83be74 --- /dev/null +++ b/ca-ES/step_6.md @@ -0,0 +1,108 @@ +## Senyals + +Ara afegeix senyals al teu món per guiar els jugadors en el seu viatge. + +El teu projecte inclou un personatge de `senyal de benvinguda`: + +![captura de pantalla](images/world-sign.png) + +\--- task \--- + +El personatge de `senyal de benvinguda` només hauria de ser visible a l'habitació 1, així que afegeix algun codi al personatge per assegurar-te que això passi: + +\--- hints \--- + +\--- hint \--- + +`Quan la bandera es cliqui`{:class="block3events"}, en un bucle `per sempre`{:class="block3control"}, comprova `si`{:class="block3control"} l'`habitació és 1`{:class="block3variables"} i en aquest cas `mostra`{:class="block3looks"} el personatge `senyal de benvinguda`, `si no`{:class="block3control"} `amaga`{:class="block3looks"} el personatge. + +\--- /hint \--- + +\--- hint \--- + +Aquí tens els blocs que necessites: + +![senyal](images/sign.png) + +```blocks3 +
si < > llavors +si no +fi + +< (habitació :: variables) = [1] > + +amaga't + +mostra't + +per sempre +fi + +quan la bandera es cliqui + +``` + +\--- /hint \--- + +\--- hint \--- + +Aquí tens el codi complet: + +![senyal](images/sign.png) + +```blocks3 +quan la bandera es cliqui +per sempre + si < (habitació :: variables) = [1] > llavors, + mostra't + si no + amaga't + fi +fi +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Prova el codi del teu personatge `senyal de benvinguda` movent-te entre habitacions. El senyal només ha de ser visible a l'habitació 1. + +![captura de pantalla](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +Un senyal no és gaire bo si no diu res! Afegeix més codi per mostrar un missatge si el personatge de `senyal de benvinguda` toca el personatge `jugador`: + +![senyal](images/sign.png) + +```blocks3 +quan la bandera es cliqui +per sempre +si < (habitació :: variables) = [1] > llavors, +mostra't +si no +amaga't +fi ++ si < tocant (jugador v)? > llavors +digues [Benvingut! Pots arribar al tresor?] +si no +digues [] +fi +fi +``` + +\--- /task \--- + +\--- task \--- + +Prova el teu personatge `senyal de benvinguda` de nou. Ara hauries de veure un missatge quan el personatge del `jugador` toca el personatge `senyal de benvinguda`. + +![captura de pantalla](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/ca-ES/step_7.md b/ca-ES/step_7.md new file mode 100644 index 000000000..f5ccc926e --- /dev/null +++ b/ca-ES/step_7.md @@ -0,0 +1,7 @@ +## Repte: tresor! + +Pots afegir algun tresor per a què el jugador el trobi? + +Fes que el personatge del `cofre del tresor` aparegui només a l'habitació 3 i que aquest personatge digui "Ben fet!" quan el personatge del `jugador` la toqui. + +![captura de pantalla](images/world-treasure.png) \ No newline at end of file diff --git a/ca-ES/step_8.md b/ca-ES/step_8.md new file mode 100644 index 000000000..480d6a329 --- /dev/null +++ b/ca-ES/step_8.md @@ -0,0 +1,65 @@ +## Gent + +Afegeix altres persones al teu món amb les que el teu personatge `jugador` pugui interaccionar. + +\--- task \--- + +Canvia al personatge `persona`. + +![Personatge de persona](images/person.png) + +\--- /task \--- + +\--- task \--- + +Afegeix algun codi al personatge `persona` de manera que parli amb el personatge `jugador`. Aquest codi és molt similar al que has afegit al teu personatge `senyal`: + +![persona](images/person.png) + +```blocks3 +quan la bandera es cliqui +ves a x: (0) y: (-150) +per sempre + si tocant < (jugador v)? > llavors + digues [Sabies que pots passar per les portes taronges i grogues?] + si no + digues [] + fi +fi +``` + +\--- /task \--- + +\--- task \--- + +Permet al teu personatge `persona` moure's afegint aquests dos blocs a la secció `si no`{:class="block3control"} del teu codi: + +![persona](images/person.png) + +```blocks3 +quan la bandera es cliqui +ves a x: (0) y: (-150) +per sempre + si tocant < (jugador v)? > llavors + digues [Sabies que pots passar per les portes taronges i grogues?] + si no + digues [] ++ mou-te (1) passos ++ rebota en tocar una vora + fi +fi +``` + +\--- /task \--- + +El teu personatge `persona` ara es mourà, però s’aturarà per parlar amb el personatge del `jugador `. + +![captura de pantalla](images/world-person-test.png) + +\--- task \--- + +Afegeix codi al teu personatge `persona` de manera que aquest només aparegui a l'habitació 1. El codi que necessites és exactament el mateix que el que fa el personatge del `senyal` només visible a l'habitació 1. + +Assegura't de provar el nou codi. + +\--- /task \--- \ No newline at end of file diff --git a/ca-ES/step_9.md b/ca-ES/step_9.md new file mode 100644 index 000000000..94dfc4755 --- /dev/null +++ b/ca-ES/step_9.md @@ -0,0 +1,39 @@ +## Repte: afegeix un enemic + +Si vols, també pots afegir patrulles d'enemics al teu joc. Si el personatge del `jugador` toca un enemic, el joc s’acaba. + ++ El teu joc ja conté un personatge d'`enemic`. Afegeix codi al teu personatge d'`enemic` de manera que només aparegui a l'habitació 2. + ++ Afegeix codi per moure el personatge `enemic` i per acabar el joc si l'`enemic `toca el personatge del `jugador`. És més fàcil fer-ho en blocs de codi separats. Aquí tens com hauria de ser el codi del personatge `enemic`: + +```blocks3 +quan la bandera es cliqui +per sempre +si <(habitació :: variables) =[2]> llavors +mostra't +si no +amaga't + +quan la bandera es cliqui +per sempre +si llavors +atura [tot v] + +quan la bandera es cliqui +vés a x: (170) y:(0) +per sempre +repeteix (130) +suma (-1) a x +fi +repeteix (130) +suma (1) a x +``` + ++ Prova el teu nou codi per assegurar-te que: + + El personatge `enemic` només és visible a l'habitació 2 + + El personatge `enemic` es mou per tota l'habitació + + El joc s’acaba si el personatge `jugador` toca el personatge `enemic` + +Pots crear un altre personatge `enemic` a l'habitació 3 que faci ronda amunt i avall per l'escletxa de la paret? + +![captura de pantalla](images/world-enemy2.png) \ No newline at end of file diff --git a/cs-CZ/images/banner.png b/cs-CZ/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/cs-CZ/images/banner.png differ diff --git a/cs-CZ/images/cats-finished.png b/cs-CZ/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/cs-CZ/images/cats-finished.png differ diff --git a/cs-CZ/images/coin.png b/cs-CZ/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/cs-CZ/images/coin.png differ diff --git a/cs-CZ/images/door.png b/cs-CZ/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/cs-CZ/images/door.png differ diff --git a/cs-CZ/images/key.png b/cs-CZ/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/cs-CZ/images/key.png differ diff --git a/cs-CZ/images/north-south-rooms.png b/cs-CZ/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/cs-CZ/images/north-south-rooms.png differ diff --git a/cs-CZ/images/number-grid.png b/cs-CZ/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/cs-CZ/images/number-grid.png differ diff --git a/cs-CZ/images/person.png b/cs-CZ/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/cs-CZ/images/person.png differ diff --git a/cs-CZ/images/player.png b/cs-CZ/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/cs-CZ/images/player.png differ diff --git a/cs-CZ/images/showcase.png b/cs-CZ/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/cs-CZ/images/showcase.png differ diff --git a/cs-CZ/images/sign.png b/cs-CZ/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/cs-CZ/images/sign.png differ diff --git a/cs-CZ/images/stage.png b/cs-CZ/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/cs-CZ/images/stage.png differ diff --git a/cs-CZ/images/world-backdrops.png b/cs-CZ/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/cs-CZ/images/world-backdrops.png differ diff --git a/cs-CZ/images/world-bribe.png b/cs-CZ/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/cs-CZ/images/world-bribe.png differ diff --git a/cs-CZ/images/world-door.png b/cs-CZ/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/cs-CZ/images/world-door.png differ diff --git a/cs-CZ/images/world-enemy2.png b/cs-CZ/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/cs-CZ/images/world-enemy2.png differ diff --git a/cs-CZ/images/world-key.png b/cs-CZ/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/cs-CZ/images/world-key.png differ diff --git a/cs-CZ/images/world-person-test.png b/cs-CZ/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/cs-CZ/images/world-person-test.png differ diff --git a/cs-CZ/images/world-room-test.png b/cs-CZ/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/cs-CZ/images/world-room-test.png differ diff --git a/cs-CZ/images/world-room.png b/cs-CZ/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/cs-CZ/images/world-room.png differ diff --git a/cs-CZ/images/world-sign-test.png b/cs-CZ/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/cs-CZ/images/world-sign-test.png differ diff --git a/cs-CZ/images/world-sign-test2.png b/cs-CZ/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/cs-CZ/images/world-sign-test2.png differ diff --git a/cs-CZ/images/world-sign.png b/cs-CZ/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/cs-CZ/images/world-sign.png differ diff --git a/cs-CZ/images/world-starter.png b/cs-CZ/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/cs-CZ/images/world-starter.png differ diff --git a/cs-CZ/images/world-treasure.png b/cs-CZ/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/cs-CZ/images/world-treasure.png differ diff --git a/cs-CZ/images/world-up.png b/cs-CZ/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/cs-CZ/images/world-up.png differ diff --git a/cs-CZ/images/world-walls-test.png b/cs-CZ/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/cs-CZ/images/world-walls-test.png differ diff --git a/cs-CZ/images/world-walls.png b/cs-CZ/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/cs-CZ/images/world-walls.png differ diff --git a/cs-CZ/meta.yml b/cs-CZ/meta.yml new file mode 100644 index 000000000..2041ddc64 --- /dev/null +++ b/cs-CZ/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Úvod + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/cs-CZ/resources/CreateYourOwnWorldResources.sb3 b/cs-CZ/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/cs-CZ/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/cs-CZ/resources/chest.svg b/cs-CZ/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/cs-CZ/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cs-CZ/resources/coin.svg b/cs-CZ/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/cs-CZ/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cs-CZ/resources/door-blue.png b/cs-CZ/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/cs-CZ/resources/door-blue.png differ diff --git a/cs-CZ/resources/enemy.png b/cs-CZ/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/cs-CZ/resources/enemy.png differ diff --git a/cs-CZ/resources/key.svg b/cs-CZ/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/cs-CZ/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/cs-CZ/resources/person.png b/cs-CZ/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/cs-CZ/resources/person.png differ diff --git a/cs-CZ/resources/player.png b/cs-CZ/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/cs-CZ/resources/player.png differ diff --git a/cs-CZ/resources/room1.png b/cs-CZ/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/cs-CZ/resources/room1.png differ diff --git a/cs-CZ/resources/room2.png b/cs-CZ/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/cs-CZ/resources/room2.png differ diff --git a/cs-CZ/resources/room3.png b/cs-CZ/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/cs-CZ/resources/room3.png differ diff --git a/cs-CZ/resources/sign.svg b/cs-CZ/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/cs-CZ/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cs-CZ/scratch-translatable.txt b/cs-CZ/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/cs-CZ/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/cs-CZ/solutions/CreateYourOwnWorld.sb3 b/cs-CZ/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/cs-CZ/solutions/CreateYourOwnWorld.sb3 differ diff --git a/cs-CZ/step_1.md b/cs-CZ/step_1.md new file mode 100644 index 000000000..9d6302e64 --- /dev/null +++ b/cs-CZ/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Úvod + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Co budeš dělat + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Co budeš potřebovat + +### Hardware + +- Počítač schopný spustit aplikaci Scratch 3 + +### Software + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Ke stažení + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Co se naučíš + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Přídavné informace pro učitele + +Potřebujete-li tento projekt vytisknout, použijte verzi [pro-tisk](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Projekt [najdeš zde](https://rpf.io/p/en/create-your-own-world-get){: target = "_ blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/cs-CZ/step_10.md b/cs-CZ/step_10.md new file mode 100644 index 000000000..bcd000d85 --- /dev/null +++ b/cs-CZ/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![scéna](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/cs-CZ/step_11.md b/cs-CZ/step_11.md new file mode 100644 index 000000000..132d1a6aa --- /dev/null +++ b/cs-CZ/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/cs-CZ/step_12.md b/cs-CZ/step_12.md new file mode 100644 index 000000000..8b30457d7 --- /dev/null +++ b/cs-CZ/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![screenshot](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/cs-CZ/step_13.md b/cs-CZ/step_13.md new file mode 100644 index 000000000..ee33cbbe2 --- /dev/null +++ b/cs-CZ/step_13.md @@ -0,0 +1,21 @@ +## Co dál? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/cs-CZ/step_2.md b/cs-CZ/step_2.md new file mode 100644 index 000000000..c69a42a2a --- /dev/null +++ b/cs-CZ/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +If you have a Scratch account you can make a copy by clicking **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Scratch offline editor si můžete stáhnout na [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/cs-CZ/step_3.md b/cs-CZ/step_3.md new file mode 100644 index 000000000..c35c898cf --- /dev/null +++ b/cs-CZ/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/cs-CZ/step_4.md b/cs-CZ/step_4.md new file mode 100644 index 000000000..7343fe1de --- /dev/null +++ b/cs-CZ/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/cs-CZ/step_5.md b/cs-CZ/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/cs-CZ/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/cs-CZ/step_6.md b/cs-CZ/step_6.md new file mode 100644 index 000000000..f046657d5 --- /dev/null +++ b/cs-CZ/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![screenshot](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/cs-CZ/step_7.md b/cs-CZ/step_7.md new file mode 100644 index 000000000..2368ef13a --- /dev/null +++ b/cs-CZ/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/cs-CZ/step_8.md b/cs-CZ/step_8.md new file mode 100644 index 000000000..42966a563 --- /dev/null +++ b/cs-CZ/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/cs-CZ/step_9.md b/cs-CZ/step_9.md new file mode 100644 index 000000000..02b33ad08 --- /dev/null +++ b/cs-CZ/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/cy-GB/images/banner.png b/cy-GB/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/cy-GB/images/banner.png differ diff --git a/cy-GB/images/cats-finished.png b/cy-GB/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/cy-GB/images/cats-finished.png differ diff --git a/cy-GB/images/coin.png b/cy-GB/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/cy-GB/images/coin.png differ diff --git a/cy-GB/images/door.png b/cy-GB/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/cy-GB/images/door.png differ diff --git a/cy-GB/images/key.png b/cy-GB/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/cy-GB/images/key.png differ diff --git a/cy-GB/images/north-south-rooms.png b/cy-GB/images/north-south-rooms.png new file mode 100644 index 000000000..7e1f23ba4 Binary files /dev/null and b/cy-GB/images/north-south-rooms.png differ diff --git a/cy-GB/images/number-grid.png b/cy-GB/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/cy-GB/images/number-grid.png differ diff --git a/cy-GB/images/person.png b/cy-GB/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/cy-GB/images/person.png differ diff --git a/cy-GB/images/player.png b/cy-GB/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/cy-GB/images/player.png differ diff --git a/cy-GB/images/showcase.png b/cy-GB/images/showcase.png new file mode 100644 index 000000000..cb2e57b3e Binary files /dev/null and b/cy-GB/images/showcase.png differ diff --git a/cy-GB/images/sign.png b/cy-GB/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/cy-GB/images/sign.png differ diff --git a/cy-GB/images/stage.png b/cy-GB/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/cy-GB/images/stage.png differ diff --git a/cy-GB/images/world-backdrops.png b/cy-GB/images/world-backdrops.png new file mode 100644 index 000000000..230b68414 Binary files /dev/null and b/cy-GB/images/world-backdrops.png differ diff --git a/cy-GB/images/world-bribe.png b/cy-GB/images/world-bribe.png new file mode 100644 index 000000000..1d4f4c0c5 Binary files /dev/null and b/cy-GB/images/world-bribe.png differ diff --git a/cy-GB/images/world-door.png b/cy-GB/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/cy-GB/images/world-door.png differ diff --git a/cy-GB/images/world-enemy2.png b/cy-GB/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/cy-GB/images/world-enemy2.png differ diff --git a/cy-GB/images/world-key.png b/cy-GB/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/cy-GB/images/world-key.png differ diff --git a/cy-GB/images/world-person-test.png b/cy-GB/images/world-person-test.png new file mode 100644 index 000000000..27813fa2d Binary files /dev/null and b/cy-GB/images/world-person-test.png differ diff --git a/cy-GB/images/world-room-test.png b/cy-GB/images/world-room-test.png new file mode 100644 index 000000000..74fd774e5 Binary files /dev/null and b/cy-GB/images/world-room-test.png differ diff --git a/cy-GB/images/world-room.png b/cy-GB/images/world-room.png new file mode 100644 index 000000000..5c2be0747 Binary files /dev/null and b/cy-GB/images/world-room.png differ diff --git a/cy-GB/images/world-sign-test.png b/cy-GB/images/world-sign-test.png new file mode 100644 index 000000000..7bbeec25b Binary files /dev/null and b/cy-GB/images/world-sign-test.png differ diff --git a/cy-GB/images/world-sign-test2.png b/cy-GB/images/world-sign-test2.png new file mode 100644 index 000000000..677347cf6 Binary files /dev/null and b/cy-GB/images/world-sign-test2.png differ diff --git a/cy-GB/images/world-sign.png b/cy-GB/images/world-sign.png new file mode 100644 index 000000000..0a7d76f7e Binary files /dev/null and b/cy-GB/images/world-sign.png differ diff --git a/cy-GB/images/world-starter.png b/cy-GB/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/cy-GB/images/world-starter.png differ diff --git a/cy-GB/images/world-treasure.png b/cy-GB/images/world-treasure.png new file mode 100644 index 000000000..f8e638402 Binary files /dev/null and b/cy-GB/images/world-treasure.png differ diff --git a/cy-GB/images/world-up.png b/cy-GB/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/cy-GB/images/world-up.png differ diff --git a/cy-GB/images/world-walls-test.png b/cy-GB/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/cy-GB/images/world-walls-test.png differ diff --git a/cy-GB/images/world-walls.png b/cy-GB/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/cy-GB/images/world-walls.png differ diff --git a/cy-GB/meta.yml b/cy-GB/meta.yml new file mode 100644 index 000000000..79c3c1dc1 --- /dev/null +++ b/cy-GB/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/create-your-own-world.png +title: Creu dy fyd dy hunan +description: Dysga sut i greu gêm antur +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Cyflwyniad + - + title: Symud dy chwareuwr + - + title: Waliau cadarn + completion: + - engaged + - + title: Symud o gwmpas dy fyd + - + title: 'Her: symud yn ôl i''r ystafell flaenorol' + challenge: true + - + title: Arwyddion + - + title: 'Her: trysor!' + challenge: true + - + title: Pobl + - + title: 'Her: gelynion' + challenge: true + - + title: Casglu darnau arian + - + title: Drysau ac allweddi + completion: + - internal + - + title: 'Her: ymestyn dy fyd' + challenge: true + completion: + - external diff --git a/cy-GB/resources/CreateYourOwnWorldResources.sb3 b/cy-GB/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/cy-GB/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/cy-GB/resources/chest.svg b/cy-GB/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/cy-GB/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cy-GB/resources/coin.svg b/cy-GB/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/cy-GB/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cy-GB/resources/door-blue.png b/cy-GB/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/cy-GB/resources/door-blue.png differ diff --git a/cy-GB/resources/enemy.png b/cy-GB/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/cy-GB/resources/enemy.png differ diff --git a/cy-GB/resources/key.svg b/cy-GB/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/cy-GB/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/cy-GB/resources/person.png b/cy-GB/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/cy-GB/resources/person.png differ diff --git a/cy-GB/resources/player.png b/cy-GB/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/cy-GB/resources/player.png differ diff --git a/cy-GB/resources/room1.png b/cy-GB/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/cy-GB/resources/room1.png differ diff --git a/cy-GB/resources/room2.png b/cy-GB/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/cy-GB/resources/room2.png differ diff --git a/cy-GB/resources/room3.png b/cy-GB/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/cy-GB/resources/room3.png differ diff --git a/cy-GB/resources/sign.svg b/cy-GB/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/cy-GB/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cy-GB/scratch-translatable.txt b/cy-GB/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/cy-GB/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/cy-GB/solutions/CreateYourOwnWorld.sb3 b/cy-GB/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..fc521f36e Binary files /dev/null and b/cy-GB/solutions/CreateYourOwnWorld.sb3 differ diff --git a/cy-GB/step_1.md b/cy-GB/step_1.md new file mode 100644 index 000000000..6fd4786cc --- /dev/null +++ b/cy-GB/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Dyma'r fersiwn ** Scratch 3 ** y prosiect. Mae yna hefyd fersiwn [ Scratch 2 y prosiect ](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Cyflwyniad + +Yn y prosiect hwn, byddi di'n dysgu sut i greu byd gêm antur dy hunan gyda sawl lefel i'w archwilio. + +### Yr hyn byddi di'n ei greu + +\--- no-print \--- + +Clicia'r faner werdd i ddechrau. Defnyddia'r bysellau saeth i symud dy gymeriad o gwmpas y byd. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Byddi di'n defnyddio'r bysellau saeth i symud dy gymeriad o gwmpas y byd. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \---collapse\--- + +## title: Beth fydd ei angen arno ti + +### Caledwedd + +- Cyfrifiadur sy'n gallu rhedeg Scratch 3 + +### Meddalwedd + +- Scratch 3 (unai [arlein](https://rpf.io/scratchon){:target="_blank"} neu [all-lein](https://rpf.io/scratchoff){:target="_blank"}) + +### Lawrlwythiadau + +Gallwch ddod o hyd i bopeth sydd ei angen arnoch i gwblhau'r prosiect hwn yn [ rpf.io/p/en/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \---collapse\--- + +## title: Yr hyn byddi di'n ei ddysgu + +- Defnyddio detholiad amodol i ymateb i wasgu botymau +- Defnyddio newidynnau i storio cyflwr y gêm +- Defnyddio detholiad amodol yn seiliedig ar werth newidyn +- Defnyddio rhestrau i storio data + +\--- /collapse \--- + +## \---collapse\--- + +## title: Gwybodaeth ychwanegol i addysgwyr + +Os oes angen i chi argraffu y prosiect, defnyddiwch [fersiwn i'w argraffu](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Gallwch chi ddod o hyd i'r ateb ar gyfer y prosiect hwn [yma](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/cy-GB/step_10.md b/cy-GB/step_10.md new file mode 100644 index 000000000..a8d53def1 --- /dev/null +++ b/cy-GB/step_10.md @@ -0,0 +1,73 @@ +## Casglu darnau arian + +Fe ddylai dy `chwaraewr` allu casglu darnau arian wrth iddo symud trwy'r byd. + +\--- task \--- + +\--- task \--- Dewisa'r `arian` a chlicio **dangos**. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![sgrinlun](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Mae angen y côd `stopiwch sgriptiau eraill yn y ciplun`{:class="block3control"} fel bod y darn `arian` yn stopio ymddangos yn ystafell 1 unwaith mae’n cael ei gasglu. + +![sgrinlun](images/coin.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os <(ystafell :: variables) = [1]> yna + dangos + fel arall + cuddio + end +end +``` + +\--- /task \--- + +\--- task \--- + +Ychwanega gôd i dy `arian` fel fod y corlun yn `cuddio`{:class="block3looks"} a bod `1`{:class="block3variables"} yn cael ei ychwanegu i'r newidyn `arian`{:class="block3variables"} unwaith mae'r `chwaraewr` yn cyffwrdd y darn `arian` i'w 'bigo fyny'. + +![darn arian](images/coin.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +aros hyd at +newid [arian v] gan (1) +cuddio +aros [other scripts in sprite v] +``` + +Mae angen y côd `stopiwch sgriptiau eraill yn y ciplun`{:class="block3control"} fel bod y darn `arian` yn stopio ymddangos yn ystafell 1 unwaith mae’n cael ei gasglu. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![llwyfan](images/stage.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +gosod [arian v] i [0] +``` + +\--- /task \--- + +\--- task \--- + +Profwch eich gêm. Dylai casglu darn arian newid sgôr dy `arian` i `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/cy-GB/step_11.md b/cy-GB/step_11.md new file mode 100644 index 000000000..175dd9d1c --- /dev/null +++ b/cy-GB/step_11.md @@ -0,0 +1,104 @@ +## Drysau ac allweddi + +Rwyt ti nawr am ychwanegu côd i rai o dy ddrysau fel bod rhai o'r drysau yn y gêm wedi eu cloi, ac mae'n rhaid i'r chwaraewr ddod o hyd i allwedd i'w datgloi nhw a symud i'r ystafell nesaf. + +\--- task \--- + +Switch to the `key` sprite. Clicia ar `dangor`{:class="blocklooks"} yn y dewislen fel bod y corlun yn ymddangos ar y Llwyfan. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +[[[generic-scratch3-make-list]]] \--- /task \--- + +![sgrinlun](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ychwanega gôd i'r Llwyfan i wagio dy restr ar gychwyn gêm. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. Y gwahaniaeth yw fod angen ychwanegu allwedd i'r `rhestr`{:class="block3variables"}. + +![allwedd](images/key.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +aros hyd at +ychwanegu [blue key] i [wedi casglu v] +cuddio +aros [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +dileu (y cyfan v) o [wedi casglu v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Dewisa'r corlun `drws-glas` a chlicio `dangos`{:class="blocklooks} yn y ddewislen, yna gosod y corlun ar draws y bwlch rhwng y ddwy wal. + +![sgrinlun](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![drws](images/door.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +aros hyd at <[wedi casglu v] yn cynnwys [blue key] ?> +aros [other scripts in sprite v] +cuddio +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/cy-GB/step_12.md b/cy-GB/step_12.md new file mode 100644 index 000000000..fccc54698 --- /dev/null +++ b/cy-GB/step_12.md @@ -0,0 +1,29 @@ +## Her: ymestyn dy fyd + +Alli di nawr barhau i greu dy fyd dy hunan! Dyma rai syniadau: + ++ Ychwanegu mwy o arian mewn gwahanol ystafelloedd. Alli di adael i'r arian gael ei warchod gan elynion? ++ Newid cefndir y gêm ++ Ychwanegu sain a cherddoriaeth i'r gêm ++ Ychwanegu mwy o bobl, gelynion ac arwyddion ++ Ychwanegu drysau coch a melyn, ac allweddi i'w agor nhw ++ Ychwanegu mwy o ystafelloedd ++ Ychwanegu mwy o eitemau defnyddiol i'r gêm + + + Defnyddio arian i gael gwybodaeth gan bobl arall: + +![sgrinlun](images/world-bribe.png) + ++ Fe alli di hyd yn oed ychwanegu drysau gogledd a de, fel bod y chwaraewr yn symud rhwng ystafelloedd mewn pedwar cyfeiriad. Er enghraifft, os oes gen ti 9 ystafell, fe alli di feddwl amdanynt mewn grid 3x3. Fe alli di wedyn ychwanegu `3` i rif yr ystafell i symud lawr un lefel. + +![sgrinlun](images/north-south-rooms.png) + +![sgrinlun](images/number-grid.png) + +```blocks3 +os yna + newid cefndir i ((gwisg [number v]) + (3)) + mynd i x: (0) y: (200) + newid [ystafell v] gan (3) +end +``` \ No newline at end of file diff --git a/cy-GB/step_13.md b/cy-GB/step_13.md new file mode 100644 index 000000000..3a325b6ac --- /dev/null +++ b/cy-GB/step_13.md @@ -0,0 +1,21 @@ +## Beth nesaf? + +Rho gynnig ar greu gêm trwy weithio trwy'r prosiect [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Dy fwriad yw stopio'r cathod rhag cwympo mewn i dyllau gan greu llwybrau saff iddynt ddianc. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +Os hoffet ti greu gêm yn defnyddio Python yn lle Scratch, rho gynnig ar y prosiect [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/cy-GB/step_2.md b/cy-GB/step_2.md new file mode 100644 index 000000000..3f8a4fe8f --- /dev/null +++ b/cy-GB/step_2.md @@ -0,0 +1,132 @@ +## Symud dy chwareuwr + +Fe awn ati i greu `chwareuwr` sydd yn symud o gwmpas dy fydysawd. + +\--- task \--- + +Agora'r prosiect cychwynnol 'Creu dy fyd dy hunan'. + +**Arlein:** agora brosiect Scratch newydd yma [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Os oes ganddot ti gyfrif Scratch galli di wneud copi drwy glicio ar ** Remix **. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Os oes angen i ti lawrlwytho a gosod golygydd Scratch all-lein, mae modd dod o hyd iddo yma [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![sgrinlun](images/world-starter.png) + +\--- /task \--- + +Dylai gwasgu'r bysellau saeth symud y `chwaraewr` o gwmpas. Pan fydd y saeth i fyny yn cael ei gwasgu, fe ddylai y `chwaraewr` symud i fyny ar y Llwyfan mewn ymateb. + +\--- task \--- + +Ychwanega’r côd canlynol i’r corlun `chwareuwr`: + +![chwaraewr](images/player.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os yna + pwyntio i gyfeiriad (0) + symud (4) cam + end +end +``` + +\--- /task \--- + +\--- task \--- + +Clicia'r faner a dal y saeth i fyny. Ydy'r `chwareuwr` yn symud fyny? + +![sgrinlun](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +I symud y `chwareuwr` i'r chwith, bydd angen i ti ychwanegu bloc arall `os`{:class="block3control"} gyda chôd tebyg: + +![chwaraewr](images/player.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os yna + pwyntio i gyfeiriad (0) + symud (4) cam + end + + os yna + pwyntio i gyfeiriad (-90) + symud (4) cam + end +end +``` + +\--- /task \--- + +\--- task \--- + +Ychwanega mwy o gôd i'r `chwareuwr` fel ei fod yn symud lawr ac i'r dde hefyd. Defnyddia'r côd sydd gen ti yn barod i dy helpu. + +\--- hints \--- + +\--- hint \--- + +I symud fyny, pwyntia'r `chwareuwr` yng nghyfeiriad `0` gradd. Beth sydd angen i ti wneud i symud y corlun lawr? + +I symud i'r chwith, pwyntia'r corlun yng nghyfeiriad `90` gradd. Beth sydd angen i ti ei wneud i symud y corlun i'r dde? + +\--- /hint \--- + +\--- hint \--- + +Mae angen i ti newid y ddau floc yma: + +![chwaraewr](images/player.png) + +```blocks3 + + +pwyntio i gyfeiriad () +``` + +Dyblyga'r côd sy'n gwneud i'r `chwareuwr` symud fyny, ac yna newidia'r ddau floc i wneud i'r corlun symud lawr. Dyblyga'r côd eto a'i newid fel fod y corlun yn symud i'r dde. + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \--- \--- /hints \--- + +![chwaraewr](images/player.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os yna + pwyntio i gyfeiriad (0) + symud (4) cam + end + os yna + pwyntio i gyfeiriad (-90) + symud (4) cam + end + + + os then + point in direction (180) + move (4) steps + end ++ if yna + pwyntio i gyfeiriad (90) + symud (4) cam + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/cy-GB/step_3.md b/cy-GB/step_3.md new file mode 100644 index 000000000..3a2575c52 --- /dev/null +++ b/cy-GB/step_3.md @@ -0,0 +1,50 @@ +## Waliau cadarn + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![sgrinlun](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Dyma'r côd sydd angen ei osod o fewn y bloc `am byth` {:class="block3control"} o dan y blociau cyfeiriad: + +![chwaraewr](images/player.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os yna + pwyntio i gyfeiriad (0) + symud (4) cam + end + os yna + pwyntio i gyfeiriad (-90) + symud (4) cam + end + os then + point in direction (180) + move (4) steps + end + if yna + pwyntio i gyfeiriad (90) + symud (4) cam + end + + os yna + + symud (-4) cam + + end +end +``` + +\--- /task \--- + +\--- task \--- + +Ceisia wneud i'r `chwaraewr` symud trwy wal. Os yw'r côd newydd yn gweithio, ni ddylai hyn fod yn bosib. + +![sgrinlun](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/cy-GB/step_4.md b/cy-GB/step_4.md new file mode 100644 index 000000000..48ee397e2 --- /dev/null +++ b/cy-GB/step_4.md @@ -0,0 +1,142 @@ +## Symud o gwmpas dy fyd + +Fe ddylai'r `chwaraewr` allu gerdded trwy ddrysau i ystafelloedd eraill. + +Mae dy brosiect yn cynnwys cefndir ar gyfer ystafelloedd ychwanegol: + +![sgrinlun](images/world-backdrops.png) + +\--- task \--- + +Byddi di angen newidyn newydd ‘ar gyfer pob ciplun’ o’r enw `ystafell`{:class="block3variables"} i wybod pa ystafell mae’r `chwaraewr` ynddo. + +[[[generic-scratch3-add-variable]]] + +![sgrinlun](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Dyma’r côd fydd ei angen arno ti - fe ddylai gael ei osod tu fewn dolen `am byth`{:class="block3control"} y `chwaraewr`: + +![chwaraewr](images/player.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os yna + pwyntio i gyfeiriad (0) + symud (4) cam + end + os yna + pwyntio i gyfeiriad (-90) + symud (4) cam + end + os then + point in direction (180) + move (4) steps + end + if yna + pwyntio i gyfeiriad (90) + symud (4) cam + end + os yna + symud (-4) cam + end + + os yna + newid cefndir i (next backdrop v) + mynd i x: (-200) y: (0) + newid [room v] gan (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +\--- /hint \--- \--- hint \--- Dyma sut ddylai dy gôd edrych: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ Fe ddylai gwerth `ystafell`{:class="block3variables"} gael ei osod i `1`{:class="block3variables"} ++ Fe ddylai y `cefndir`{:class="block3looks"} gael ei osod i `room1`{:class="block3looks"} ++ Fe ddylai lleoliad y `chwaraewr` gael ei osod i `x: -200 y: 0`{:class="block3motion"} \--- /hint \--- \--- hint \--- Dyma'r blociau ychwanegol sydd eu hangen: + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![chwaraewr](images/player.png) + +```blocks3 +mynd i x: (-200) y: (0) + +gosod [ystafell v] i (1) + +newid cefndir i (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![chwaraewr](images/player.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio ++gosod [ystafell v] i (1) ++mynd i x: (-200) y: (0) ++newid cefndir i (room1 v) +am byth + os yna + pwyntio i gyfeiriad (0) + symud (4) cam + end + os yna + pwyntio i gyfeiriad (-90) + symud (4) cam + end + os then + point in direction (180) + move (4) steps + end + if yna + pwyntio i gyfeiriad (90) + symud (4) cam + end + os yna + symud (-4) cam + end + os yna + newid cefndir i (next backdrop v) + mynd i x: (-200) y: (0) + newid [ystafell v] gan (1) + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Ydy'r corlun yn symud i'r sgrin nesaf? Ydy'r `ystafell`{:class="block3variables"} yn newid i `2`? + +![sgrinlun](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/cy-GB/step_5.md b/cy-GB/step_5.md new file mode 100644 index 000000000..f95341d26 --- /dev/null +++ b/cy-GB/step_5.md @@ -0,0 +1,3 @@ +## Her: symud yn ôl i'r ystafell flaenorol + +Wyt ti’n gallu gwneud i dy `chwaraewr` symud i’r ystafell flaenorol pan mae’n cyffwrdd drws melyn? Cofia bydd y côd yma yn debyg iawn i’r côd rwyt ti wedi ychwanegu yn barod i symud i’r ystafell nesaf. \ No newline at end of file diff --git a/cy-GB/step_6.md b/cy-GB/step_6.md new file mode 100644 index 000000000..ce2b847c4 --- /dev/null +++ b/cy-GB/step_6.md @@ -0,0 +1,109 @@ +## Arwyddion + +Fe awn ati i ychwanegu arwyddion i dy fyd i fod o gymorth i’r chwaraewr ar y daith. + +Mae dy brosiect yn cynnwys corlun `arwydd croeso`: + +![sgrinlun](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Dyma'r blociau côd rwyt ti eu hangen: + +![arwydd](images/sign.png) + +```blocks3 +
os <> yna + +fel arall +end + +<(ystafell :: variables) = [1]> + +cuddio + +dangos + +am byth +end + +pan fo'r flag werdd yn cael ei glicio + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![arwydd](images/sign.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os <(ystafell :: variables) = [1]> yna + dangos + fel arall + cuddio + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. Fe ddylai'r arwydd ond fod yn weledol yn ystafell 1. + +![sgrinlun](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Ychwanega mwy o gôd i ddangos neges os yw yr `arwydd croeso` yn cyffwrdd y `chwaraewr`: + +![arwydd](images/sign.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os <(ystafell :: variables) = [1]> yna + dangos + fel arall + cuddio + end + + os yna + + dweud [Croeso! Wyt t'in gallu cyrraedd y trysor?] + + fel arall + + dweud [] + + end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. Fe ddylet ti nawr weld neges pan mae'r `chwaraewr` yn cyffwrdd yr `arwydd croeso`. + +![sgrinlun](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/cy-GB/step_7.md b/cy-GB/step_7.md new file mode 100644 index 000000000..1076f0712 --- /dev/null +++ b/cy-GB/step_7.md @@ -0,0 +1,7 @@ +## Her: trysor! + +Alli di ychwanegu trysor sydd angen i'r chwaraewr ddarganfod? + +Gwna i'r `gist trysor` ymddangos yn ystafell 3 yn unig a dweud ‘Da iawn!’ pan mae’r `chwaraewr` yn ei gyffwrdd. + +![sgrinlun](images/world-treasure.png) \ No newline at end of file diff --git a/cy-GB/step_8.md b/cy-GB/step_8.md new file mode 100644 index 000000000..e44f56901 --- /dev/null +++ b/cy-GB/step_8.md @@ -0,0 +1,65 @@ +## Pobl + +Fe awn ati i ychwanegu pobl arall i dy fyd mae modd i dy `chwaraewr` ryngweithio â nhw. + +\--- task \--- + +Switch to the `person` sprite. + +![Corlun person](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. Mae'r côd yn derbyg iawn i'r un wnes di ei ychwanegu i'r `arwydd`: + +![person](images/person.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +mynd i x: (0) y: (-150) +am byth + os yna + dweud [Oeddet ti'n gwybod dy fod di'n gallu mynd trwy drysau oren a melyn?] + fel arall + dweud [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +mynd i x: (0) y: (-150) +am byth + os yna + dweud [Oeddet ti'n gwybod dy fod di'n gallu mynd trwy drysau oren a melyn?] + fel arall + dweud [] + + symud (1) cam + + os ar ymyl, bowndio + end +end +``` + +\--- /task \--- + +Bydd dy `berson` nawr yn symud, ond yn stopio i siarad gyda'r `chwaraewr`. + +![sgrinlun](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. Fe ddylai'r côd fod union yr un peth â'r côd sydd yn gwneud i'r `arwydd` ymddangos yn ystafell 1. + +Gwna'n siwr dy fod di'n profi dy gôd. + +\--- /task \--- \ No newline at end of file diff --git a/cy-GB/step_9.md b/cy-GB/step_9.md new file mode 100644 index 000000000..22f9b3616 --- /dev/null +++ b/cy-GB/step_9.md @@ -0,0 +1,45 @@ +## Her: ychwanegu gelyn + +Os hoffet ti, mae modd ychwanegu gelynion i dy gêm. Pan mae'r `chwaraewr` yn cyffwrdd gelyn, daw'r gêm i ben. + ++ Mae dy gêm yn cynnwys `gelyn` yn barod. Ychwanega gôd i'r `gelyn` fel ei fod ond yn ymddangos yn ystafell 2. + ++ Ychwanega gôd i symud y `gelyn` i ddiwedd y gêm os yw'r `gelyn` yn cyffwrdd y `chwaraewr`. Mae'n haws gwneud hyn mewn blociau côd ar wahân. Dyma sut bydd côd y `gelyn` yn edrych o bosib: + +```blocks3 +pan fo'r flag werdd yn cael ei glicio +am byth + os <(ystafell :: variables) = [2]> yna + dangos + fel arall + cuddio + end +end + +pan fo'r flag werdd yn cael ei glicio +am byth + os yna + aros [all v] + end +end + +pan fo'r flag werdd yn cael ei glicio +mynd i x: (170) y: (0) +am byth + ailadrodd (130) + newid x gan (-1) + end + ailadrodd (130) + newid x gan (1) + end +end +``` + ++ Profa dy gôd i sicrhau fod: + + Y `gelyn` ond yn ymddangos yn ystafell 2 + + Bod y `gelyn` yn symud o gwmpas yr ystafell + + Bod y gêm yn dod i ben pan mae'r `chwaraewr` yn cyffwrdd y `gelyn` + +Wyt ti'n gallu creu `gelyn` yn ystafell 3 sy'n symud lan a lawr trwy'r gap yn y wal? + +![sgrinlun](images/world-enemy2.png) \ No newline at end of file diff --git a/da-DK/images/banner.png b/da-DK/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/da-DK/images/banner.png differ diff --git a/da-DK/images/cats-finished.png b/da-DK/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/da-DK/images/cats-finished.png differ diff --git a/da-DK/images/coin.png b/da-DK/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/da-DK/images/coin.png differ diff --git a/da-DK/images/door.png b/da-DK/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/da-DK/images/door.png differ diff --git a/da-DK/images/key.png b/da-DK/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/da-DK/images/key.png differ diff --git a/da-DK/images/north-south-rooms.png b/da-DK/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/da-DK/images/north-south-rooms.png differ diff --git a/da-DK/images/number-grid.png b/da-DK/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/da-DK/images/number-grid.png differ diff --git a/da-DK/images/person.png b/da-DK/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/da-DK/images/person.png differ diff --git a/da-DK/images/player.png b/da-DK/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/da-DK/images/player.png differ diff --git a/da-DK/images/showcase.png b/da-DK/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/da-DK/images/showcase.png differ diff --git a/da-DK/images/sign.png b/da-DK/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/da-DK/images/sign.png differ diff --git a/da-DK/images/stage.png b/da-DK/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/da-DK/images/stage.png differ diff --git a/da-DK/images/world-backdrops.png b/da-DK/images/world-backdrops.png new file mode 100644 index 000000000..6bbd01bfa Binary files /dev/null and b/da-DK/images/world-backdrops.png differ diff --git a/da-DK/images/world-bribe.png b/da-DK/images/world-bribe.png new file mode 100644 index 000000000..2771dc526 Binary files /dev/null and b/da-DK/images/world-bribe.png differ diff --git a/da-DK/images/world-door.png b/da-DK/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/da-DK/images/world-door.png differ diff --git a/da-DK/images/world-enemy2.png b/da-DK/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/da-DK/images/world-enemy2.png differ diff --git a/da-DK/images/world-key.png b/da-DK/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/da-DK/images/world-key.png differ diff --git a/da-DK/images/world-person-test.png b/da-DK/images/world-person-test.png new file mode 100644 index 000000000..bea6d947a Binary files /dev/null and b/da-DK/images/world-person-test.png differ diff --git a/da-DK/images/world-room-test.png b/da-DK/images/world-room-test.png new file mode 100644 index 000000000..2eedbdb0b Binary files /dev/null and b/da-DK/images/world-room-test.png differ diff --git a/da-DK/images/world-room.png b/da-DK/images/world-room.png new file mode 100644 index 000000000..d7aac269c Binary files /dev/null and b/da-DK/images/world-room.png differ diff --git a/da-DK/images/world-sign-test.png b/da-DK/images/world-sign-test.png new file mode 100644 index 000000000..dca1ed09e Binary files /dev/null and b/da-DK/images/world-sign-test.png differ diff --git a/da-DK/images/world-sign-test2.png b/da-DK/images/world-sign-test2.png new file mode 100644 index 000000000..e7a2b2b9c Binary files /dev/null and b/da-DK/images/world-sign-test2.png differ diff --git a/da-DK/images/world-sign.png b/da-DK/images/world-sign.png new file mode 100644 index 000000000..0188e497f Binary files /dev/null and b/da-DK/images/world-sign.png differ diff --git a/da-DK/images/world-starter.png b/da-DK/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/da-DK/images/world-starter.png differ diff --git a/da-DK/images/world-treasure.png b/da-DK/images/world-treasure.png new file mode 100644 index 000000000..2dfc4886f Binary files /dev/null and b/da-DK/images/world-treasure.png differ diff --git a/da-DK/images/world-up.png b/da-DK/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/da-DK/images/world-up.png differ diff --git a/da-DK/images/world-walls-test.png b/da-DK/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/da-DK/images/world-walls-test.png differ diff --git a/da-DK/images/world-walls.png b/da-DK/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/da-DK/images/world-walls.png differ diff --git a/da-DK/meta.yml b/da-DK/meta.yml new file mode 100644 index 000000000..3809b6f9d --- /dev/null +++ b/da-DK/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/create-your-own-world.png +title: Skab Din Egen Verden +description: I dette projekt skal du lære, hvordan du laver dit eget ‘åben verden’ eventyrsspil. +listed: true +copyedit: false +version: 4 +last_tested: 2017-01-01 +steps: + - + title: Skab Din Egen Verden + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/da-DK/resources/CreateYourOwnWorldResources.sb3 b/da-DK/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/da-DK/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/da-DK/resources/chest.svg b/da-DK/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/da-DK/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/da-DK/resources/coin.svg b/da-DK/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/da-DK/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/da-DK/resources/door-blue.png b/da-DK/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/da-DK/resources/door-blue.png differ diff --git a/da-DK/resources/enemy.png b/da-DK/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/da-DK/resources/enemy.png differ diff --git a/da-DK/resources/key.svg b/da-DK/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/da-DK/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/da-DK/resources/person.png b/da-DK/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/da-DK/resources/person.png differ diff --git a/da-DK/resources/player.png b/da-DK/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/da-DK/resources/player.png differ diff --git a/da-DK/resources/room1.png b/da-DK/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/da-DK/resources/room1.png differ diff --git a/da-DK/resources/room2.png b/da-DK/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/da-DK/resources/room2.png differ diff --git a/da-DK/resources/room3.png b/da-DK/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/da-DK/resources/room3.png differ diff --git a/da-DK/resources/sign.svg b/da-DK/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/da-DK/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/da-DK/scratch-translatable.txt b/da-DK/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/da-DK/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/da-DK/solutions/CreateYourOwnWorld.sb3 b/da-DK/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/da-DK/solutions/CreateYourOwnWorld.sb3 differ diff --git a/da-DK/step_1.md b/da-DK/step_1.md new file mode 100644 index 000000000..e7c95169f --- /dev/null +++ b/da-DK/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introduktion + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Hvad du vil lave + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## titel: Du får brug for følgende + +### Hardware + +- En computer, der er i stand til at køre Scratch 3 + +### Software + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## Hvad du vil lære + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Additional information for educators + +If you need to print this project, please use the [printer-friendly version](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +You can find the [completed project here](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/da-DK/step_10.md b/da-DK/step_10.md new file mode 100644 index 000000000..7ec2f512b --- /dev/null +++ b/da-DK/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![skærmbillede](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![skærmbillede](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/da-DK/step_11.md b/da-DK/step_11.md new file mode 100644 index 000000000..2d0854f82 --- /dev/null +++ b/da-DK/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![skærmbillede](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![skærmbillede](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/da-DK/step_12.md b/da-DK/step_12.md new file mode 100644 index 000000000..962504e1d --- /dev/null +++ b/da-DK/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![skærmbillede](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![skærmbillede](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/da-DK/step_13.md b/da-DK/step_13.md new file mode 100644 index 000000000..78ced46e2 --- /dev/null +++ b/da-DK/step_13.md @@ -0,0 +1,21 @@ +## Hvad er næste skridt? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/da-DK/step_2.md b/da-DK/step_2.md new file mode 100644 index 000000000..9a8a57ceb --- /dev/null +++ b/da-DK/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Hvis du har en Scratch-konto, kan du oprette en kopi ved at klikke på **Remix** . + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. If you need to download and install the Scratch offline editor, you can find it at [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![skærmbillede](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![skærmbillede](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/da-DK/step_3.md b/da-DK/step_3.md new file mode 100644 index 000000000..b3e8e0069 --- /dev/null +++ b/da-DK/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![skærmbillede](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![skærmbillede](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/da-DK/step_4.md b/da-DK/step_4.md new file mode 100644 index 000000000..57dd40835 --- /dev/null +++ b/da-DK/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![skærmbillede](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![skærmbillede](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![skærmbillede](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/da-DK/step_5.md b/da-DK/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/da-DK/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/da-DK/step_6.md b/da-DK/step_6.md new file mode 100644 index 000000000..1a2fbb2eb --- /dev/null +++ b/da-DK/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![skærmbillede](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![skærmbillede](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![skærmbillede](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/da-DK/step_7.md b/da-DK/step_7.md new file mode 100644 index 000000000..bf08ee7c4 --- /dev/null +++ b/da-DK/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![skærmbillede](images/world-treasure.png) \ No newline at end of file diff --git a/da-DK/step_8.md b/da-DK/step_8.md new file mode 100644 index 000000000..3fa81d49b --- /dev/null +++ b/da-DK/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![skærmbillede](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/da-DK/step_9.md b/da-DK/step_9.md new file mode 100644 index 000000000..c9ef73ac9 --- /dev/null +++ b/da-DK/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![skærmbillede](images/world-enemy2.png) \ No newline at end of file diff --git a/de-DE/images/banner.png b/de-DE/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/de-DE/images/banner.png differ diff --git a/de-DE/images/cats-finished.png b/de-DE/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/de-DE/images/cats-finished.png differ diff --git a/de-DE/images/coin.png b/de-DE/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/de-DE/images/coin.png differ diff --git a/de-DE/images/coin.svg b/de-DE/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/de-DE/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/de-DE/images/create-variable.png b/de-DE/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/de-DE/images/create-variable.png differ diff --git a/de-DE/images/create-your-own-world.png b/de-DE/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/de-DE/images/create-your-own-world.png differ diff --git a/de-DE/images/door.png b/de-DE/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/de-DE/images/door.png differ diff --git a/de-DE/images/enemy.png b/de-DE/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/de-DE/images/enemy.png differ diff --git a/de-DE/images/finished-move-down-right.png b/de-DE/images/finished-move-down-right.png new file mode 100644 index 000000000..1d47cf8af Binary files /dev/null and b/de-DE/images/finished-move-down-right.png differ diff --git a/de-DE/images/key.png b/de-DE/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/de-DE/images/key.png differ diff --git a/de-DE/images/key.svg b/de-DE/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/de-DE/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/de-DE/images/north-south-rooms.png b/de-DE/images/north-south-rooms.png new file mode 100644 index 000000000..70c5ec74e Binary files /dev/null and b/de-DE/images/north-south-rooms.png differ diff --git a/de-DE/images/number-grid.png b/de-DE/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/de-DE/images/number-grid.png differ diff --git a/de-DE/images/person-sprite.png b/de-DE/images/person-sprite.png new file mode 100644 index 000000000..872628e12 Binary files /dev/null and b/de-DE/images/person-sprite.png differ diff --git a/de-DE/images/person.png b/de-DE/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/de-DE/images/person.png differ diff --git a/de-DE/images/player.png b/de-DE/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/de-DE/images/player.png differ diff --git a/de-DE/images/showcase.png b/de-DE/images/showcase.png new file mode 100644 index 000000000..4b5cd0bc2 Binary files /dev/null and b/de-DE/images/showcase.png differ diff --git a/de-DE/images/sign.png b/de-DE/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/de-DE/images/sign.png differ diff --git a/de-DE/images/sign.svg b/de-DE/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/de-DE/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/de-DE/images/stage.png b/de-DE/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/de-DE/images/stage.png differ diff --git a/de-DE/images/variable-show.png b/de-DE/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/de-DE/images/variable-show.png differ diff --git a/de-DE/images/world-backdrops.png b/de-DE/images/world-backdrops.png new file mode 100644 index 000000000..dfab95c0a Binary files /dev/null and b/de-DE/images/world-backdrops.png differ diff --git a/de-DE/images/world-bribe.png b/de-DE/images/world-bribe.png new file mode 100644 index 000000000..157ed90c4 Binary files /dev/null and b/de-DE/images/world-bribe.png differ diff --git a/de-DE/images/world-coins.png b/de-DE/images/world-coins.png new file mode 100644 index 000000000..8a7ffac57 Binary files /dev/null and b/de-DE/images/world-coins.png differ diff --git a/de-DE/images/world-door.png b/de-DE/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/de-DE/images/world-door.png differ diff --git a/de-DE/images/world-enemy-code.png b/de-DE/images/world-enemy-code.png new file mode 100644 index 000000000..3d15c32ca Binary files /dev/null and b/de-DE/images/world-enemy-code.png differ diff --git a/de-DE/images/world-enemy2.png b/de-DE/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/de-DE/images/world-enemy2.png differ diff --git a/de-DE/images/world-final.png b/de-DE/images/world-final.png new file mode 100644 index 000000000..3ce24cf83 Binary files /dev/null and b/de-DE/images/world-final.png differ diff --git a/de-DE/images/world-key.png b/de-DE/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/de-DE/images/world-key.png differ diff --git a/de-DE/images/world-north-south.png b/de-DE/images/world-north-south.png new file mode 100644 index 000000000..9f6024ba6 Binary files /dev/null and b/de-DE/images/world-north-south.png differ diff --git a/de-DE/images/world-person-test.png b/de-DE/images/world-person-test.png new file mode 100644 index 000000000..66880fa1a Binary files /dev/null and b/de-DE/images/world-person-test.png differ diff --git a/de-DE/images/world-person.png b/de-DE/images/world-person.png new file mode 100644 index 000000000..d100f5f5d Binary files /dev/null and b/de-DE/images/world-person.png differ diff --git a/de-DE/images/world-player.png b/de-DE/images/world-player.png new file mode 100644 index 000000000..57955e10d Binary files /dev/null and b/de-DE/images/world-player.png differ diff --git a/de-DE/images/world-resources.png b/de-DE/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/de-DE/images/world-resources.png differ diff --git a/de-DE/images/world-room-test.png b/de-DE/images/world-room-test.png new file mode 100644 index 000000000..5b753d164 Binary files /dev/null and b/de-DE/images/world-room-test.png differ diff --git a/de-DE/images/world-room.png b/de-DE/images/world-room.png new file mode 100644 index 000000000..fce1d5729 Binary files /dev/null and b/de-DE/images/world-room.png differ diff --git a/de-DE/images/world-sign-test-left.png b/de-DE/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/de-DE/images/world-sign-test-left.png differ diff --git a/de-DE/images/world-sign-test-right.png b/de-DE/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/de-DE/images/world-sign-test-right.png differ diff --git a/de-DE/images/world-sign-test.png b/de-DE/images/world-sign-test.png new file mode 100644 index 000000000..d7b8f5bbb Binary files /dev/null and b/de-DE/images/world-sign-test.png differ diff --git a/de-DE/images/world-sign-test2.png b/de-DE/images/world-sign-test2.png new file mode 100644 index 000000000..bd43f4c5c Binary files /dev/null and b/de-DE/images/world-sign-test2.png differ diff --git a/de-DE/images/world-sign.png b/de-DE/images/world-sign.png new file mode 100644 index 000000000..9db9b75a9 Binary files /dev/null and b/de-DE/images/world-sign.png differ diff --git a/de-DE/images/world-starter.png b/de-DE/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/de-DE/images/world-starter.png differ diff --git a/de-DE/images/world-treasure.png b/de-DE/images/world-treasure.png new file mode 100644 index 000000000..db3aff389 Binary files /dev/null and b/de-DE/images/world-treasure.png differ diff --git a/de-DE/images/world-up.png b/de-DE/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/de-DE/images/world-up.png differ diff --git a/de-DE/images/world-walls-test.png b/de-DE/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/de-DE/images/world-walls-test.png differ diff --git a/de-DE/images/world-walls.png b/de-DE/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/de-DE/images/world-walls.png differ diff --git a/de-DE/meta.yml b/de-DE/meta.yml new file mode 100644 index 000000000..4c3913eb9 --- /dev/null +++ b/de-DE/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Erschaffe deine eigene Welt +description: Lerne, wie du dein eigenes Open-World Abenteuerspiel erstellen kannst +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Einleitung + - + title: Bewege die Spieler-Figur + - + title: Massive Wände + completion: + - engaged + - + title: Bewege dich in deiner Welt + - + title: 'Herausforderung: Zurück zum vorherigen Raum' + challenge: true + - + title: Schilder + - + title: 'Herausforderung: Der Schatz!' + challenge: true + - + title: Personen + - + title: 'Herausforderung: Feinde' + challenge: true + - + title: Münzen sammeln + - + title: Türen und Schlüssel + completion: + - internal + - + title: 'Herausforderung: Erweitere deine Welt' + challenge: true + completion: + - external diff --git a/de-DE/resources/CreateYourOwnWorld.sb2 b/de-DE/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8682d05f8 Binary files /dev/null and b/de-DE/resources/CreateYourOwnWorld.sb2 differ diff --git a/de-DE/resources/CreateYourOwnWorldResources.sb2 b/de-DE/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8a9935e60 Binary files /dev/null and b/de-DE/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/de-DE/resources/CreateYourOwnWorldResources.sb3 b/de-DE/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..2f8061a84 Binary files /dev/null and b/de-DE/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/de-DE/resources/chest.svg b/de-DE/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/de-DE/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/de-DE/resources/coin.svg b/de-DE/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/de-DE/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/de-DE/resources/door-blue.png b/de-DE/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/de-DE/resources/door-blue.png differ diff --git a/de-DE/resources/enemy.png b/de-DE/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/de-DE/resources/enemy.png differ diff --git a/de-DE/resources/key.svg b/de-DE/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/de-DE/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/de-DE/resources/person.png b/de-DE/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/de-DE/resources/person.png differ diff --git a/de-DE/resources/player.png b/de-DE/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/de-DE/resources/player.png differ diff --git a/de-DE/resources/room1.png b/de-DE/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/de-DE/resources/room1.png differ diff --git a/de-DE/resources/room2.png b/de-DE/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/de-DE/resources/room2.png differ diff --git a/de-DE/resources/room3.png b/de-DE/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/de-DE/resources/room3.png differ diff --git a/de-DE/resources/sign.svg b/de-DE/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/de-DE/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/de-DE/scratch-translatable.txt b/de-DE/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/de-DE/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/de-DE/solutions/CreateYourOwnWorld.sb3 b/de-DE/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..3ae1c3009 Binary files /dev/null and b/de-DE/solutions/CreateYourOwnWorld.sb3 differ diff --git a/de-DE/step_1.md b/de-DE/step_1.md new file mode 100644 index 000000000..eb732a2e8 --- /dev/null +++ b/de-DE/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Dies ist die **Scratch 3** Version des Projekts. Es gibt auch eine [Scratch 2 Version des Projekts](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Einleitung + +In diesem Projekt lernst du, wie du dein eigenes Abenteuerspiel programmieren kannst - mit mehreren Leveln, die der Spieler erkunden kann. + +### Was du machen wirst + +\--- no-print \--- + +Klicke zum Starten auf die grüne Flagge. Benutze die Pfeiltasten, um deinen Charakter in der Welt zu bewegen. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Benutze die Pfeiltasten, um deinen Charakter in der Welt zu bewegen. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Was du brauchen wirst + +### Hardware + +- Ein Computer, auf dem Scratch 3 ausgeführt werden kann + +### Software + +- Scratch 3 (entweder [online](https://rpf.io/scratchon){:target="_blank"} oder [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +Alles, was du zum Abschließen dieses Projekts benötigst, findest du unter [ rpf.io/p/en/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Was du lernen wirst + +- Verwende die bedingte Auswahl um auf Tastendrücke zu reagieren +- Verwende Variablen, um den Status eines Spiels zu speichern +- Verwende bedingte Auswahl basierend auf dem Wert einer Variable +- Verwende Listen zum Speichern von Daten + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Zusätzliche Informationen für Pädagogen + +Wenn Sie dieses Projekt ausdrucken möchten, dann verwenden Sie bitte die [druckfreundliche Version](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){: target = "_ blank"}. + +Du findest das [abgeschlossene Projekt hier](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/de-DE/step_10.md b/de-DE/step_10.md new file mode 100644 index 000000000..cacd7dcc5 --- /dev/null +++ b/de-DE/step_10.md @@ -0,0 +1,73 @@ +## Münzen sammeln + +Deine `Spieler` Figur sollte in der Lage sein, Münzen zu sammeln, während sie sich durch die Welt bewegt. + +\--- task \--- + +\--- task \--- Füge Code zu deiner `Münzen`-Figur hinzu, sodass sie nur in Raum 1 erscheint. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Wähle die `Münze`-Figur aus und klicke auf **zeige dich**. + +![Screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Der Code `stoppe andere Skripte der Figur`{:class="block3control"} wird benötigt, damit das `Münze`-Objekt nicht mehr in Raum 1 angezeigt wird, sobald das Objekt eingesammelt wurde. + +![Screenshot](images/coin.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls <(Raum :: variables) = [1]> , dann + zeige dich + sonst + verstecke dich + end +end +``` + +\--- /task \--- + +\--- task \--- + +Füge Code zu deiner `Münze`-Figur hinzu, sodass sie `sich versteckt`{:class="block3looks"} und `1`{:class="block3variables"} zu der `Münzen`{:class="block3variables"} Variablen hinzugefügt wird, sobald die `Spieler`-Figur die `Münzen`-Figur berührt, um sie aufzuheben. + +![Münze](images/coin.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +warte bis +ändere [Münzen v] um (1) +verstecke dich +stoppe [andere Skripte der Figur v] +``` + +Der Code `stoppe andere Skripte der Figur`{:class="block3control"} wird benötigt, damit das `Münze`-Objekt nicht mehr in Raum 1 angezeigt wird, sobald das Objekt eingesammelt wurde. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Füge nun Code zur Bühne hinzu, um deine `Münzen`{:class="block3variables"} Variable, zu Beginn des Spiels, auf `0`{:class= "block3variables"} zu setzen. + +![Bühne](images/stage.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +setze [Münzen v] auf [0] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste dein Spiel. Das Sammeln einer Münze sollte deine `Münzen` auf `1`{:class="block3variables"} ändern. + +\--- /task \--- \ No newline at end of file diff --git a/de-DE/step_11.md b/de-DE/step_11.md new file mode 100644 index 000000000..b61f58598 --- /dev/null +++ b/de-DE/step_11.md @@ -0,0 +1,104 @@ +## Türen und Schlüssel + +Jetzt wirst du Code hinzufügen, damit einige Türen in deiner Spielwelt gesperrt sind, und der Spieler den Schlüssel findenmuss, um sie zu öffnen und zum nächsten Raum zu gelangen. + +\--- task \--- + +\--- task \--- Wechsel zur `Schlüssel`-Figur. Klicke auf `zeige dich`{:class="block3looks"}, damit das Objekt auf der Bühne erscheint. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Bearbeite das Kostüm des `Schlüssels` so, dass es blau ist. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Wechsle nun zum Bühnenbil in Raum 3 und platziere die `Schlüssel`-Figur an einer schwer erreichbaren Stelle! + +![Screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Füge Code zu deiner `Schlüssel`-Figur hinzu, sodass sie nur in Raum 3 erscheint. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Erstelle eine neue Liste namens `Inventar`{:class="block3variables"}, um die Gegenstände zu speichern, die deine `Spieler`-Figur sammelt. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +\--- task \--- Der Code zum Einsammeln des Schlüssels ist dem Code zum Einsammeln von Münzen sehr ähnlich. Der Unterschied ist, dass du den Schlüssel zum `Inventar`{:class="block3variables"}} hinzufügst. + +![key](images/key.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +warte bis +füge [blauer Schlüssel] zu [Inventar v] hinzu +verstecke dich +stoppe [andere Skripte der Figur v] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Füge Code zu deiner Bühne hinzu, um das Inventar bei Spielbeginn zu leeren. + +```blocks3 +lösche (alles v) aus [Inventar v] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste dein Spiel, um zu überprüfen, ob du den `Schlüssel` sammeln und in dein Inventar einfügen kannst. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Wähle die `Tür-blau`-Figur aus und klicke auf `zeige dich`{:class="block3looks}. Und platziere die Figur dann über die Lücke zwischen den beiden Wänden. + +![Screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Füge Code zur `Tür-blau`-Figur hinzu, sodass sie nur in Raum 3 erscheint. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Füge Code zur `Tür-blau`-Figur hinzu damit sich die Figur `versteckt`{:class="block3looks"}, wenn der Schlüssel im `Inventar`{:class="block3variables"} ist, sodass deine `Spieler`-Figur durchgehen kann. + +![Tür](images/door.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +warte bis <[Inventar v] enthält [blauer Schlüssel] ?> +stoppe [andere Skripte der Figur v] +verstecke dich +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste dein Spiel und überprüfe, ob du den blauen Schlüssel einsammeln kannst um die Tür zu öffnen! + +\--- /task \--- \ No newline at end of file diff --git a/de-DE/step_12.md b/de-DE/step_12.md new file mode 100644 index 000000000..81579cb1c --- /dev/null +++ b/de-DE/step_12.md @@ -0,0 +1,29 @@ +## Herausforderung: Erweitere deine Welt + +Du kannst jetzt mit dem Bau deiner eigenen Welt weitermachen! Hier sind ein paar Vorschläge: + ++ Füge deinem Spiel mehr Münzen, in verschiedenen Räumen, hinzu. Kannst Du einige Münzen von patrouillierenden Feinden bewachen lassen? ++ Ändere die Hintergründe deines Spiels ++ Füge deinem Spiel Töne und Musik hinzu ++ Füge mehr Menschen, Feinde und Schilder hinzu ++ Füge rote und gelbe Türen - und spezielle Schlüssel - hinzu, um sie zu öffnen ++ Füge deiner Welt mehr Zimmer hinzu ++ Füge dem Spiel weitere nützliche Gegenstände hinzu + + + Verwende Münzen, um Informationen von anderen Personen zu erhalten: + +![Screenshot](images/world-bribe.png) + ++ Du kannst sogar Türen in den nördlichen und südlichen Wänden von Zimmer 1 hinzufügen, so dass sich der Spieler in allen vier Richtungen zwischen den Zimmern bewegen kann. Zum Beispiel kann dein Spiel neun Räume in einem 3 × 3-Raster haben. Du kannst dann `3` zu der Zimmernummer addieren, um eine Ebene tiefer zu kommen. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +falls , dann + wechsle zu Bühnenbild ((Kostüm [Nummer v]) + (3)) + gehe zu x: (0) y: (200) + ändere [Raum v] um (3) +end +``` \ No newline at end of file diff --git a/de-DE/step_13.md b/de-DE/step_13.md new file mode 100644 index 000000000..5d4685af9 --- /dev/null +++ b/de-DE/step_13.md @@ -0,0 +1,21 @@ +## Wie geht es weiter? + +Versuche ein anderes Spiel zu Erstellen, indem du das [Katzen!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects)-Projekt durcharbeitest. + +\--- no-print \--- + +\--- no-print \--- Klicke und ziehe mit der Maus, um eine Linie mit dem Bleistift zu zeichnen. Dein Ziel ist es, die Katzen davon abzuhalten, in Löcher zu fallen, indem du einen sicheren Weg zum Ausgang erschaffst. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +Wenn du ein Spiel mit Python anstelle von Scratch erstellen möchten, probiere das [RPG](https://projects.raspberrypi.org/de-DE/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) Projekt aus. \ No newline at end of file diff --git a/de-DE/step_2.md b/de-DE/step_2.md new file mode 100644 index 000000000..2a5783bea --- /dev/null +++ b/de-DE/step_2.md @@ -0,0 +1,126 @@ +## Programmiere deinen Spieler + +Beginne mit der Erstellung einer `Spieler`-Figur, die sich in deiner Welt umher bewegen kann. + +\--- task \--- + +Öffne das "Erstelle deine eigene Welt" Scratch Starter Projekt. + +**Online:** öffne das Basisprojekt auf [scratch.mit.edu/projects/339073366](https://scratch.mit.edu/projects/339073366){:target="_blank"}. + +Wenn du bereits einen Scratch-Account besitzt, kannst du dir durch Klick auf **Remix** eine Kopie anlegen. + +**Offline:** Wenn du offline arbeiten möchtest, kannst du dir die benötigte Datei unter [rpf.io/p/de-DE/create-your-own-world-go](https://rpf.io/p/de-DE/create-your-own-world-go){:target="_blank"} herunterladen und diese dann mit dem Offline-Editor bearbeiten. Wenn du Scratch herunterladen und auf deinem Rechner installieren möchtest, dann findest du die Datei unter diesem Link: [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Durch Drücken der Pfeiltasten sollte sich die `Spieler`-Figur herum bewegen. Wenn der Aufwärtspfeil gedrückt wird, sollte sich die `Spieler`-Figur als Reaktion auf der Bühne nach oben bewegen. + +\--- task \--- + +Füge diesen Code zur `Spieler`-Figur hinzu: + +![Spieler](images/player.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls , dann + setze Richtung auf (0) Grad + gehe (4) er Schritt + end +end +``` + +\--- /task \--- + +\--- task \--- + +Klicke auf die Flagge und halte den Aufwärtspfeil gedrückt. Bewegt sich dein `Spieler` nach oben? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Um die `Spieler`-Figur nach links zu bewegen, musst du einen weiteren `falls`{:class="block3control"}-Block mit ähnlichem Code hinzufügen: + +![player](images/player.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls , dann setze Richtung auf (0) Grad + gehe (4) er Schritt + end + + falls , dann + setze Richtung auf (-90) Grad + + gehe (4) er Schritt + + end +end +``` + +\--- /task \--- + +\--- task \--- + +Füge deinem `Spieler` weiteren Code hinzu, damit er sich auch nach unten und nach rechts bewegen kann. Verwende den bereits geschriebenen Code als Hilfe. + +\--- hints \--- + +\--- hint \--- + +Um nach oben zu gehen, musst du den `Spieler` in Richtung `0` Grad zeigen lassen. Was musst du machen, um die Figur nach unten zu bewegen? + +Um nach links zu gehen, muss die Figur in Richtung ` -90` Grad zeigen lassen. Was musst du machen, um die Figur nach rechts zu bewegen? + +\--- /hint \--- + +\--- hint \--- + +Du musst diese beiden Blöcke ändern: + +![player](images/player.png) + +```blocks3 + + +setze Richtung auf () Grad +``` + +Dupliziere den Code, der die `Spieler`-Figur nach oben bewegt und ändere diese beiden Blöcke, damit sich die Figur nach unten bewegt. Dupliziere den Code erneut und ändere ihn, damit sich die Figur nach rechts bewegt. + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \---\--- /hints \--- + +![player](images/player.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls , dann setze Richtung auf (0) Grad + gehe (4) er Schritt + end + falls , dann setze Richtung auf (-90) Grad + gehe (4) er Schritt + end + + falls , dann > then + point in direction (180) + move (4) steps + end ++ if , dann setze Richtung auf (0) Grad + gehe (4) er Schritt + end + falls , dann setze Richtung auf (-90) Grad + gehe (4) er Schritt + end + falls , dann > then + point in direction (180) + move (4) steps + end + if , dann + gehe (-4) er Schritt + + end +end +``` + +\--- /task \--- + +\--- task \--- + +Versuche, die `Spieler`-Figur durch eine Wand zu bewegen. Wenn dein neuer Code richtig funktioniert, sollte das nicht möglich sein. + +![Screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/de-DE/step_4.md b/de-DE/step_4.md new file mode 100644 index 000000000..2b7e69439 --- /dev/null +++ b/de-DE/step_4.md @@ -0,0 +1,134 @@ +## Schilder + +Die `Spieler`-Figur sollte in der Lage sein, durch Türen in andere Räume zu gehen. + +Dein Projekt enthält Bühnenbilder von weiteren Zimmern: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Erstelle eine neue Variable "für alle Figuren" mit dem Namen `Raum`{:class="block3variables"}, um festzuhalten, in welchem Raum die `Spieler`-Figur ist. + +[[[generic-scratch3-add-variable]]] + +![Screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Wenn die `Spieler`-Figur die orangefarbene Tür im ersten Raum berührt, soll das nächste Bühnenbild angezeigt werden und die `Spieler`-Figur soll zurück zur linken Seite der Bühne bewegt werden. Füge diesen Code innerhalb der `wiederholen fortlaufend`{:class="block3control"}-Schleife deiner `Spieler`-Figur ein: + +![player](images/player.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls , dann setze Richtung auf (0) Grad + gehe (4) er Schritt + end + falls , dann setze Richtung auf (-90) Grad + gehe (4) er Schritt + end + falls , dann > then + point in direction (180) + move (4) steps + end + if , dann + gehe (-4) er Schritt + + end + + falls , dann + + wechsle zu Bühnenbild (nächstes Bühnenbild v) + + gehe zu x: (-200) y: (0) + + ändere [Raum v] um (1) + + end +end +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Bei jedem Spielstart müssen Raum, Charakterposition und Hintergrund zurückgesetzt werden. + +Füge Code am **Anfang** des Skripts deiner `Spieler`-Figur über der `fortlaufend wiederhole`{:class="block3control"}-Schleife hinzu, um alles wieder auf Anfang zu setzten, wenn die grüne Flagge angeklickt wird: + +\--- hints \--- + +\--- hint \--- + +\--- hints \--- \--- hint \--- Wenn das Spiel beginnt: + ++ Der Wert von `Raum` {:class="block3variables"} sollte auf `1`{:class="block3variables"} gesetzt werden ++ Das `Bühnenbild`{:class="block3look"} sollte auf `Raum1`{:class="block3look"} gesetzt werden ++ Die Position der `Spieler`-Figur sollte auf `x: -200 y: 0`{:class="block3motion"} gesetzt werden \--- /hint \--- \--- hint \--- Hier sind die zusätzlichen Blöcke, die du benötigst: + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +gehe zu x: (-200) y: (0) + +setze [Raum v] auf (1) + +wechsle zu Bühnenbild (Raum1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \--- \--- hint \--- So sollte dein fertiges Skript aussehen: + +![player](images/player.png) + +```blocks3 +Wenn die grüne Flagge angeklickt ++setze [Raum v] auf (1) ++gehe zu x: (-200) y: (0) ++wechsle zu Bühnenbild (Raum1 v) +wiederhole fortlaufend + falls , dann setze Richtung auf (0) Grad + gehe (4) er Schritt + end + falls , dann setze Richtung auf (-90) Grad + gehe (4) er Schritt + end + falls , dann > then + point in direction (180) + move (4) steps + end + if , dann gehe (-4) er Schritt + end + falls , dann + wechsle zu Bühnenbild (nächstes Bühnenbild v) + gehe zu x: (-200) y: (0) + ändere [Raum v] um (1) + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +\--- task \--- Klicke auf die Flagge und bewege dann deine `Spieler`-Figur bis sie die orange Tür berührt. Bewegt sich deine Figur zum nächsten Zimmer? Ändert sich die Variable `Raum`{:class="block3variables"} zu `2`? + +![Screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/de-DE/step_5.md b/de-DE/step_5.md new file mode 100644 index 000000000..c3cec2852 --- /dev/null +++ b/de-DE/step_5.md @@ -0,0 +1,3 @@ +## Leute + +Kannst du deinen `Spieler` in den vorherigen Raum bringen, wenn er eine gelbe Tür berührt? Der Code, den du dafür benötigst, ist dem Code sehr ähnlich, den du bereits hinzugefügt hast, um die Figur in den nächsten Raum zu bewegen. \ No newline at end of file diff --git a/de-DE/step_6.md b/de-DE/step_6.md new file mode 100644 index 000000000..44f66df5e --- /dev/null +++ b/de-DE/step_6.md @@ -0,0 +1,107 @@ +## Schilder + +Stelle jetzt Schilder in deiner Welt auf, um den Spieler auf seiner Reise zu leiten. + +Dein Projekt enthält die Figur von einem `Willkommen-Schild`: + +![screenshot](images/world-sign.png) + +\--- task \--- + +\--- task \--- Das `Willkommen-Schild` sollte nur im Raum 1 sichtbar sein. Füge Code zur Figur hinzu, um sicherzustellen, dass dies geschieht: + +\--- hints \--- + +\--- hint \--- + +\--- hints \--- \--- hint \--- `Wenn die grüne Flagge angeklickt wird`{:class="block3events"}, prüfe in einer `wiederhole fortlaufend`{:class="block3control"}-Schleife, und `falls`{:class="block3control"} der `Raum = 1`{:class="block3variables"} ist `zeige`{:class="block3looks"} die `Willkomen-Schild`-Figur, `sonst`{:class="block3control"} `verstecke`{:class="block3looks"} die Figur. + +\--- /hint \--- + +\--- hint \--- + +Hier sind die Blöcke, die du brauchst: + +![sign](images/sign.png) + +```blocks3 +
falls <> , dann + +sonst +end + +<(Raum :: variables) = [1]> + +verstecke dich + +zeige dich + +wiederhole fortlaufend +end + +Wenn die grüne Flagge angeklickt + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls <(Raum :: variables) = [1]> , dann + zeige dich + sonst + verstecke dich + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +\--- task \--- Prüfe den Code deiner `Willkommen-Schild`-Figur indem du dich zwischen den Räumen bewegst. Das Schild sollte nur in Raum 1 sichtbar sein. + +![Screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ein Schild nützt nicht viel, wenn nichts darauf steht! Füge weiteren Code hinzu um eine Nachricht anzuzeigen, wenn das `Willkommen-Schild` vom `Spieler` berührt wird: + +![sign](images/sign.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls <(Raum :: variables) = [1]> , dann + zeige dich + sonst + verstecke dich + end + + falls , dann + sage [Willkommen! Kannst du zum Schatz kommen?] + sonst + + sage [] + + end +end +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste deine `Willkommen-Schild`-Figur erneut. Du solltest nun eine Nachricht sehen, wenn deine `Spieler`-Figur die `Willkommen-Schild`-Figur berührt. + +![Screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/de-DE/step_7.md b/de-DE/step_7.md new file mode 100644 index 000000000..322541798 --- /dev/null +++ b/de-DE/step_7.md @@ -0,0 +1,7 @@ +## Herausforderung: Der Schatz! + +Kannst du einen Schatz hinzufügen, damit er vom Spieler gefunden wird? + +Lass die `Schatz-Truhe`-Figur nur in Raum 3 erscheinen und lass sie "Gut gemacht!" sagen, wenn die `Spieler`-Figur sie berührt. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/de-DE/step_8.md b/de-DE/step_8.md new file mode 100644 index 000000000..0fdde2d33 --- /dev/null +++ b/de-DE/step_8.md @@ -0,0 +1,63 @@ +## Personen + +Lass uns ein paar Personen in deine Welt setzen, mit denen dein `Spieler` in interagieren kann. + +\--- task \--- + +Wechsle zur Figur `Person`. + +![Figur Person](images/person.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Füge Code zur Figur `Person` hinzu, sodass die Person mit dem `Spieler` spricht. Dieser Code ist dem Code, den du bereits zum `Schild` hinzugefügt hast, sehr ähnlich: + +![person](images/person.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +gehe zu x: (0) y: (-150) +wiederhole fortlaufend + falls , dann sage [Wusstest du schon, dass du durch orangene und gelbe Türen gehen kannst?] + sonst + sage [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Erlaube deiner `Person`-Figur sich zu bewegen, indem du diese beiden Blöcke in den `sonst`{:class="block3control"} Abschnitt deines Codes einfügst: + +![person](images/person.png) + +```blocks3 +Wenn die grüne Flagge angeklickt +gehe zu x: (0) y: (-150) +wiederhole fortlaufend + falls , dann sage [Wusstest du schon, dass du durch orangene und gelbe Türen gehen kannst?] + sonst + sage [] + + gehe (1) er Schritt + + pralle vom Rand ab + end +end +``` + +\--- /task \--- + +Die `Person` bewegt sich jetzt hin und her, bleibt aber stehen, um mit dem `Spieler` zu sprechen. + +![Screenshot](images/world-person-test.png) + +\--- task \--- + +\---task \--- Füge Code zu deiner neuen `Person`-Figur hinzu, so dass diese nur in Raum 1 erscheint. Der Code, den du benötigst, ist genau der gleiche wie der Code, der die `Schild`-Figur nur in Raum 1 sichtbar macht. + +Vergiss nicht, den neuen Code zu testen. + +\--- /task \--- \ No newline at end of file diff --git a/de-DE/step_9.md b/de-DE/step_9.md new file mode 100644 index 000000000..60a4b7c81 --- /dev/null +++ b/de-DE/step_9.md @@ -0,0 +1,45 @@ +## Herausforderung: Einen Gegner hinzufügen + +Wenn Du möchtest, kannst Du deinem Spiel auch patrouillierende Feinde hinzufügen. Wenn der `Spieler` einen Feind berührt, endet das Spiel. + ++ Dein Spiel enthält bereits eine `Feind`-Figur. Füge der Figur von deinem `Gegner` Code hinzu, so dass er nur in Zimmer 2 erscheint. + ++ Füge Code hinzu, um den `Feind` zu bewegen und das Spiel zu beenden, wenn der `Feind` die `Spieler`-Figur berührt. Das geht einfacher mit zwei getrennten Code-Blöcken. So könnte der Code für deinen `Gegner` aussehen: + +```blocks3 +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls <(Raum :: variables) = [2]> , dann + zeige dich + sonst + verstecke dich + end +end + +Wenn die grüne Flagge angeklickt +wiederhole fortlaufend + falls , dann + stoppe [alles v] + end +end + +Wenn die grüne Flagge angeklickt +gehe zu x: (170) y: (0) +wiederhole fortlaufend + wiederhole (130) mal + ändere x um (-1) + end + wiederhole (130) mal + ändere x um (1) + end +end +``` + ++ Teste deinen neuen Coed und kontrolliere ob: + + Die `Feind`-Figur nur in Raum 2 sichtbar ist + + Die `Feind`-Figur durch den Raum patrouilliert + + Das Spiel endet, wenn die `Spieler`-Figur die `Feind`-Figur berührt + +Kannst du einen anderen `Gegner` in das Zimmer 3 setzen, der durch den Spalt in der Mauer auf und ab patrouilliert? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/el-GR/images/banner.png b/el-GR/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/el-GR/images/banner.png differ diff --git a/el-GR/images/cats-finished.png b/el-GR/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/el-GR/images/cats-finished.png differ diff --git a/el-GR/images/coin.png b/el-GR/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/el-GR/images/coin.png differ diff --git a/el-GR/images/door.png b/el-GR/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/el-GR/images/door.png differ diff --git a/el-GR/images/key.png b/el-GR/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/el-GR/images/key.png differ diff --git a/el-GR/images/north-south-rooms.png b/el-GR/images/north-south-rooms.png new file mode 100644 index 000000000..8552637fc Binary files /dev/null and b/el-GR/images/north-south-rooms.png differ diff --git a/el-GR/images/number-grid.png b/el-GR/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/el-GR/images/number-grid.png differ diff --git a/el-GR/images/person.png b/el-GR/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/el-GR/images/person.png differ diff --git a/el-GR/images/player.png b/el-GR/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/el-GR/images/player.png differ diff --git a/el-GR/images/showcase.png b/el-GR/images/showcase.png new file mode 100644 index 000000000..40337a0f0 Binary files /dev/null and b/el-GR/images/showcase.png differ diff --git a/el-GR/images/sign.png b/el-GR/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/el-GR/images/sign.png differ diff --git a/el-GR/images/stage.png b/el-GR/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/el-GR/images/stage.png differ diff --git a/el-GR/images/world-backdrops.png b/el-GR/images/world-backdrops.png new file mode 100644 index 000000000..abcf7393a Binary files /dev/null and b/el-GR/images/world-backdrops.png differ diff --git a/el-GR/images/world-bribe.png b/el-GR/images/world-bribe.png new file mode 100644 index 000000000..abfe701ee Binary files /dev/null and b/el-GR/images/world-bribe.png differ diff --git a/el-GR/images/world-door.png b/el-GR/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/el-GR/images/world-door.png differ diff --git a/el-GR/images/world-enemy2.png b/el-GR/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/el-GR/images/world-enemy2.png differ diff --git a/el-GR/images/world-key.png b/el-GR/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/el-GR/images/world-key.png differ diff --git a/el-GR/images/world-person-test.png b/el-GR/images/world-person-test.png new file mode 100644 index 000000000..74acebe84 Binary files /dev/null and b/el-GR/images/world-person-test.png differ diff --git a/el-GR/images/world-room-test.png b/el-GR/images/world-room-test.png new file mode 100644 index 000000000..07c13a484 Binary files /dev/null and b/el-GR/images/world-room-test.png differ diff --git a/el-GR/images/world-room.png b/el-GR/images/world-room.png new file mode 100644 index 000000000..b892557f9 Binary files /dev/null and b/el-GR/images/world-room.png differ diff --git a/el-GR/images/world-sign-test.png b/el-GR/images/world-sign-test.png new file mode 100644 index 000000000..2beaaab02 Binary files /dev/null and b/el-GR/images/world-sign-test.png differ diff --git a/el-GR/images/world-sign-test2.png b/el-GR/images/world-sign-test2.png new file mode 100644 index 000000000..dafb80902 Binary files /dev/null and b/el-GR/images/world-sign-test2.png differ diff --git a/el-GR/images/world-sign.png b/el-GR/images/world-sign.png new file mode 100644 index 000000000..84201c622 Binary files /dev/null and b/el-GR/images/world-sign.png differ diff --git a/el-GR/images/world-starter.png b/el-GR/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/el-GR/images/world-starter.png differ diff --git a/el-GR/images/world-treasure.png b/el-GR/images/world-treasure.png new file mode 100644 index 000000000..6a57ebe88 Binary files /dev/null and b/el-GR/images/world-treasure.png differ diff --git a/el-GR/images/world-up.png b/el-GR/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/el-GR/images/world-up.png differ diff --git a/el-GR/images/world-walls-test.png b/el-GR/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/el-GR/images/world-walls-test.png differ diff --git a/el-GR/images/world-walls.png b/el-GR/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/el-GR/images/world-walls.png differ diff --git a/el-GR/meta.yml b/el-GR/meta.yml new file mode 100644 index 000000000..b80fa1eb7 --- /dev/null +++ b/el-GR/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Δημιούργησε τον δικό σου κόσμο +description: Δημιούργησε το δικό σου παιχνίδι περιπέτειας ανοιχτού κόσμου +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Εισαγωγή + - + title: Μετακίνησε τον παίκτη + - + title: Συμπαγείς τοίχοι + completion: + - engaged + - + title: Περιηγήσου στον κόσμο σου + - + title: 'Πρόκληση: Επίστρεψε στην προηγούμενη αίθουσα' + challenge: true + - + title: Σημάδια + - + title: 'Πρόκληση: Θησαυρός!' + challenge: true + - + title: Άνθρωποι + - + title: 'Πρόκληση: Εχθροί' + challenge: true + - + title: Μάζεψε νομίσματα + - + title: Πόρτες και κλειδιά + completion: + - internal + - + title: 'Πρόκληση: Επέκτεινε τον κόσμο σου' + challenge: true + completion: + - external diff --git a/el-GR/resources/CreateYourOwnWorldResources.sb3 b/el-GR/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..155c174c2 Binary files /dev/null and b/el-GR/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/el-GR/resources/chest.svg b/el-GR/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/el-GR/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/el-GR/resources/coin.svg b/el-GR/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/el-GR/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/el-GR/resources/door-blue.png b/el-GR/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/el-GR/resources/door-blue.png differ diff --git a/el-GR/resources/enemy.png b/el-GR/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/el-GR/resources/enemy.png differ diff --git a/el-GR/resources/key.svg b/el-GR/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/el-GR/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/el-GR/resources/person.png b/el-GR/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/el-GR/resources/person.png differ diff --git a/el-GR/resources/player.png b/el-GR/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/el-GR/resources/player.png differ diff --git a/el-GR/resources/room1.png b/el-GR/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/el-GR/resources/room1.png differ diff --git a/el-GR/resources/room2.png b/el-GR/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/el-GR/resources/room2.png differ diff --git a/el-GR/resources/room3.png b/el-GR/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/el-GR/resources/room3.png differ diff --git a/el-GR/resources/sign.svg b/el-GR/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/el-GR/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/el-GR/scratch-translatable.txt b/el-GR/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/el-GR/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/el-GR/solutions/CreateYourOwnWorld.sb3 b/el-GR/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..1133b38ef Binary files /dev/null and b/el-GR/solutions/CreateYourOwnWorld.sb3 differ diff --git a/el-GR/step_1.md b/el-GR/step_1.md new file mode 100644 index 000000000..3b7f13bca --- /dev/null +++ b/el-GR/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Αυτή είναι η **Scratch 3** έκδοση του έργου. Υπάρχει επίσης η [Scratch 2 έκδοση του έργου](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Εισαγωγή + +Σ' αυτό το έργο, θα μάθεις πώς να δημιουργείς τον δικό σου κόσμο σε παιχνίδι περιπέτειας, με πολλαπλά επίπεδα εξερεύνησης. + +### Τι θα δημιουργήσεις + +\--- no-print \--- + +Πάτα στην πράσινη σημαιούλα για να ξεκινήσεις. Χρησιμοποίησε τα βελάκια στο πληκτρολόγιο για να μετακινήσεις το χαρακτήρα σου στον κόσμο. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Θα χρησιμοποιήσεις τα βελάκια στο πληκτρολόγιο για να μετακινήσεις το χαρακτήρα σου στον κόσμο. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Τι θα χρειαστείς + +### Υλικό + +- Ένας υπολογιστής ικανός να τρέχει το Scratch 3 + +### Λογισμικό + +- Scratch 3 (είτε [online](https://rpf.io/scratchon){:target="_blank"} είτε [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Λήψεις + +Μπορείς να βρεις όλα όσα χρειάζεσαι για να ολοκληρώσεις αυτό το έργο στο [ rpf.io/p/en/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Τι θα μάθεις + +- Χρησιμοποίησε την επιλογή υπό προϋποθέσεις για να αντιδράς στο πάτημα ενός πλήκτρου +- Χρησιμοποίησε μεταβλητές για να αποθηκεύσεις την κατάσταση ενός παιχνιδιού +- Χρησιμοποίησε την επιλογή υπό προϋποθέσεις με βάση την τιμή μιας μεταβλητής +- Χρησιμοποίησε λίστες για την αποθήκευση δεδομένων + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Πρόσθετες πληροφορίες για εκπαιδευτικούς + +Αν χρειαστεί να εκτυπώσεις αυτό το έργο, χρησιμοποίησε την [εκτυπώσιμη έκδοση](https://projects.raspberrypi.org/en/projects/create-your-own-world/print)"{:target="_blank"}. + +Μπορείς να βρεις [το ολοκληρωμένο έργο εδώ](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/el-GR/step_10.md b/el-GR/step_10.md new file mode 100644 index 000000000..69f6ef0ca --- /dev/null +++ b/el-GR/step_10.md @@ -0,0 +1,71 @@ +## Μάζεψε νομίσματα + +Ο `παίκτης` σου θα πρέπει να μπορεί να μαζέψει νομίσματα καθώς θα κινείται μέσα στον κόσμο σου. + +\--- task \--- + +Πρόσθεσε μια νέα μεταβλητή `νομίσματα`{:class="block3variables"} στο έργο σου. + +\--- /task \--- + +\--- task \--- + +Επίλεξε το αντικείμενο `νόμισμα` και κάνε κλικ στην **προβολή**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Πρόσθεσε κώδικα στο αντικείμενο `νόμισμα` ώστε να εμφανίζεται μονάχα στην αίθουσα 1. + +![screenshot](images/coin.png) + +```blocks3 +όταν στην πράσινη σημαία γίνει κλικ +για πάντα +εάν <(αίθουσα :: variables)=[1]> τότε +εμφανίσου +αλλιώς +εξαφανίσου +``` + +\--- /task \--- + +\--- task \--- + +Πρόσθεσε κώδικα στο αντικείμενο `νόμισμα` ώστε να `εξαφανίζεται`{:class="block3looks"} και η τιμή `1`{:class="block3variables"} να προστίθεται στη μεταβλητή `νομίσματα`{:class="block3variables"} μόλις ο `παίκτης` αγγίξει το `νόμισμα`για να το μαζέψει. + +![νόμισμα](images/coin.png) + +```blocks3 +όταν στην πράσινη σημαία γίνει κλικ +περίμενε ώσπου +άλλαξε[νομίσματα v] κατά (1) +εξαφανίσου +σταμάτησε [άλλα σενάρια σε αυτό το αντικείμενο v] +``` + +Ο κώδικας `σταμάτησε άλλα σενάρια σε αυτό το αντικείμενο`{:class="block3control"} χρειάζεται έτσι ώστε το αντικείμενο `νόμισμα` να σταματήσει να είναι ορατό στην αίθουσα 1 μόλις συλλεχθεί. + +\--- /task \--- + +\--- task \--- + +Τώρα πρόσθεσε κώδικα στο Σκηνικό προκειμένου να ορίσεις την τιμή της μεταβλητής `νομίσματα`{:class="block3variables"} ίση με `0`{:class="block3variables"} στην έναρξη του παιχνιδιού. + +![σκηνικό](images/stage.png) + +```blocks3 +όταν πράσινη σημαία γίνει κλικ +θέσε [νομίσματα v] σε [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Η συλλογή ενός νομίσματος θα πρέπει να αλλάζει την τιμή της μεταβλητής `νομίσματα` σε `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/el-GR/step_11.md b/el-GR/step_11.md new file mode 100644 index 000000000..775698933 --- /dev/null +++ b/el-GR/step_11.md @@ -0,0 +1,104 @@ +## Πόρτες και κλειδιά + +Τώρα θα προσθέσεις κώδικα έτσι ώστε κάποιες από τις πόρτες στον κόσμο του παιχνιδιού σου να είναι κλειδωμένες και ο παίκτης να πρέπει να βρει το κλειδί που τις ανοίγει προκειμένου να πάει στην επόμενη αίθουσα. + +\--- task \--- + +Switch to the `key` sprite. Κάνε κλικ στην `προβολή`{:class="blocklooks"} στο μενού Scripts ώστε το αντικείμενο να εμφανιστεί στο Σκηνικό. + +\--- /task \--- + +\--- task \--- + +Επεξεργάσου την ενδυμασία του αντικειμένου `κλειδί` ώστε να έχει μπλε χρώμα. + +\--- /task \--- + +\--- task \--- + +Άλλαξε το υπόβαθρο του Σκηνικού στην αίθουσα 3, και τοποθέτησε το αντικείμενο `κλειδί` κάπου που θα είναι δύσκολο να το φτάσει κάποιος! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Πρόσθεσε κώδικα στο αντικείμενο `κλειδί` προκειμένου να το κάνεις ορατό μονάχα στην αίθουσα 3. + +\--- /task \--- + +\--- task \--- + +Δημιούργησε μια νέα λίστα με το όνομα `αποθετήριο`{:class="block3variables"} για να αποθηκεύεις ο,τι θα συλλέγει το αντικείμενο `παίκτης`. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. Η διαφορά είναι πως πρέπει να προσθέσεις το κλειδί στη λίστα `αποθετήριο`{:class="block3variables"}. + +![κλειδί](images/key.png) + +```blocks3 +όταν στην πράσινη σημαία γίνει κλικ +περίμενε ώσπου +πρόσθεσε [μπλε κλειδί] σε [αποθετήριο v] +εξαφανίσου +σταμάτησε [άλλα σενάρια σε αυτό το αντικείμενο v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +διέγραψε (all v) από [αποθετήριο v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Επίλεξε το αντικείμενο `μπλε πόρτα` και κάνε κλικ στην `προβολή`{:class="blocklooks} στο μενού Scripts και κατόπιν τοποθέτησε το αντικείμενο στο διάκενο μεταξύ των δύο τοίχων. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![πόρτα](images/door.png) + +```blocks3 +όταν στην πράσινη σημαία γίνει κλικ +περίμενε ώσπου <[αποθετήριο v] περιέχει [μπλε κλειδί]?> +σταμάτησε [άλλα σενάρια σε αυτό το αντικείμενο v] +εξαφανίσου +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/el-GR/step_12.md b/el-GR/step_12.md new file mode 100644 index 000000000..2d41700af --- /dev/null +++ b/el-GR/step_12.md @@ -0,0 +1,28 @@ +## Πρόκληση: Επέκτεινε τον κόσμο σου + +Τώρα μπορείς να συνεχίσεις να δημιουργείς τον δικό σου κόσμο! Ακολουθούν μερικές ιδέες: + ++ Πρόσθεσε περισσότερα νομίσματα στο παιχνίδι σε διαφορετικές αίθουσες. Μπορείς να αφήσεις κάποια νομίσματα να τα φυλάνε οι εχθροί; ++ Άλλαξε τα υπόβαθρα του παιχνιδιού ++ Πρόσθεσε ήχους και μουσική στο παιχνίδι σου ++ Πρόσθεσε και άλλα άτομα, εχθρούς και σημάδια ++ Πρόσθεσε κόκκινες και κίτρινες πόρτες και ειδικά κλειδιά για να τις ανοίγεις ++ Πρόσθεσε επιπλέον αίθουσες στον κόσμο σου ++ Πρόσθεσε διάφορα χρήσιμα στοιχεία στο παιχνίδι σου + + + Χρησιμοποίησε νομίσματα για να αγοράζεις πληροφορίες από άλλους ανθρώπους: + +![screenshot](images/world-bribe.png) + ++ Θα μπορούσες ακόμα να προσθέσεις πόρτες στον βόρειο και στο νότιο τοίχο της αίθουσας 1, έτσι ώστε ο παίκτης να μπορεί να μετακινηθεί μεταξύ των αιθουσών και στις τέσσερις κατευθύνσεις. Για παράδειγμα, το παιχνίδι σου μπορεί να έχει εννέα αίθουσες σε ένα πλέγμα 3 × 3. Στη συνέχεια, μπορείς να προσθέσεις ` 3 ` στον αριθμό αίθουσας για να μετακινηθείς ένα επίπεδο κάτω. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +εάν τότε +άλλαξε υπόβαθρο σε ((ενδυμασία [number v]) + (3)) +πήγαινε σε θέση x:(0) y:(200) +άλλαξε [αίθουσα v] κατά (3) +``` \ No newline at end of file diff --git a/el-GR/step_13.md b/el-GR/step_13.md new file mode 100644 index 000000000..e3bdb625d --- /dev/null +++ b/el-GR/step_13.md @@ -0,0 +1,21 @@ +## Τι υπάρχει στη συνέχεια; + +Δοκίμασε να δημιουργήσεις ένα άλλο παιχνίδι μέσα από το έργο [Γάτες](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Ο στόχος σου είναι να σταματήσεις τις γάτες να πέφτουν σε τρύπες δημιουργώντας μια ασφαλή διαδρομή προς την έξοδο. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +Αν θες να δημιουργήσεις ένα παιχνίδι χρησιμοποιώντας Python αντί για Scratch, δοκίμασε το έργο [RPG](https://projects.raspberrypi.org/el-GR/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/el-GR/step_2.md b/el-GR/step_2.md new file mode 100644 index 000000000..3828fba96 --- /dev/null +++ b/el-GR/step_2.md @@ -0,0 +1,130 @@ +## Μετακίνησε τον παίκτη + +Ξεκίνα δημιουργώντας το αντικείμενο ενός `παίκτη` που μπορεί να κινείται τριγύρω στον κόσμο σου. + +\--- task \--- + +Άνοιξε το αρχικό έργο Scratch 'Δημιούργησε τον δικό σου κόσμο'. + +**Online:** άνοιξε το αρχικό έργο στο [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Αν έχεις λογαριασμό Scratch μπορείς να κάνεις ένα αντίγραφο, κάνοντας κλικ στο κουμπί **Ανάμειξη**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Αν χρειαστεί να κατεβάσεις και να εγκαταστήσεις τον offline editor για το Scratch, μπορείς να το βρεις στο [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Πατώντας τα βελάκια του πληκτρολογίου πρέπει να μετακινείται ο `παίκτης` τριγύρω. Όταν το πάνω βελάκι είναι πατημένο, ο `παίκτης` θα πρέπει να μετακινείται προς τα πάνω στη σκηνή. + +\--- task -- + +Πρόσθεσε αυτόν τον κώδικα στο αντικείμενο του `παίκτη`: + +![παίκτης](images/player.png) + +```blocks3 +Όταν στην πράσινη σημαία γίνει κλικ +για πάντα + εάν <πατήθηκε το πλήκτρο (Πάνω βέλος v) :: sensing> τότε + στρίψε προς την κατεύθυνση των (0) μοιρών :: motion + κινήσου (4) βήματα :: motion :: control + end :: control +end +``` + +\--- /task \--- + +\--- task -- + +Κάνε κλικ στη σημαία και στη συνέχεια κράτα πατημένο το πάνω βελάκι. Μετακινείται ο `παίκτης` προς τα πάνω; + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task -- + +Για να μετακινήσεις τον `παίκτη`προς τ' αριστερά, θα χρειαστεί να προσθέσεις άλλο ένα μπλοκ `εάν`{:class="block3control"} με παρόμοιο κώδικα: + +![παίκτης](images/player.png) + +```blocks3 +Όταν στην πράσινη σημαία γίνει κλικ +για πάντα + εάν <πατήθηκε το πλήκτρο (Πάνω βέλος v) :: sensing > τότε + στρίψε προς την κατεύθυνση των (0) μοιρών :: motion + κινήσου (4) βήματα :: motion :: control + end + + εάν <πατήθηκε το πλήκτρο (αριστερό βέλος v) :: sensing > τότε + + στρίψε προς την κατεύθυνση των (-90) μοιρών :: motion + + κινήσου (4) βήματα :: motion :: control + + end :: control +end +``` + +\--- /task \--- + +\--- task \--- + +Πρόσθεσε επιπλέον κώδικα στον `παίκτη` σου ώστε να μπορεί να μετακινηθεί προς τα κάτω και προς τα δεξιά επίσης. Χρησιμοποίησε τον κώδικα που έχεις ήδη για να βοηθηθείς. + +\--- hints \--- + +\--- hint \--- + +Για να μετακινηθείς προς τα πάνω, τοποθετείς τον `παίκτη`σου να δείχνει σε κατεύθυνση `0` μοιρών. Τι χρειάζεται να κάνεις για να τον μετακινήσεις προς τα κάτω; + +Για να μετακινηθεί αριστερά, τοποθετείς τον παίκτη σε κατεύθυνση `-90` μοίρες. Τι χρειάζεται να κάνεις για να μετακινήσεις τον παίκτη προς τα δεξιά; + +\--- /hint \--- + +\--- hint \--- + +Πρέπει να αλλάξεις αυτά τα δύο μπλοκ εντολών: + +![παίκτης](images/player.png) + +```blocks3 +<πατήθηκε το πλήκτρο ( v) :: sensing> +στρίψε προς την κατεύθυνση των ( ) μοιρών +``` + +Κάνε ένα αντίγραφο του κώδικα που κάνει τον `παίκτη` να κινείται προς τα πάνω και άλλαξε αυτά τα δύο μπλοκ εντολών προκειμένου να τον κάνεις να μετακινηθεί προς τα κάτω. Κάνε ένα ακόμη αντίγραφο του κώδικα και άλλαξέ τον προκειμένου να μετακινείται ο παίκτης προς τα δεξιά. + +\--- /hint \--- + +\--- hint \--- + +Να πώς πρέπει να είναι ο κώδικάς σου: + +![παίκτης](images/player.png) + +```blocks3 +Όταν στην πράσινη σημαία γίνει κλικ +για πάντα + εάν <πατήθηκε το πλήκτρο (Πάνω βέλος v) :: sensing > τότε + στρίψε προς την κατεύθυνση των (0) μοιρών :: motion + κινήσου (4) βήματα :: motion :: control + end + εάν <πατήθηκε το πλήκτρο (αριστερό βέλος v) :: sensing > τότε + στρίψε προς την κατεύθυνση των (-90) μοιρών :: motion + κινήσου (4) βήματα :: motion :: control + end + + εάν <πατήθηκε το πλήκτρο (κάτω βέλος v) :: sensing > then + point in direction (180) + move (4) steps + end ++ if τότε + + στρίψε προς την κατεύθυνση των (90) μοιρών :: motion + + κινήσου (4) βήματα :: motion :: control + + end :: control +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/el-GR/step_3.md b/el-GR/step_3.md new file mode 100644 index 000000000..7ecf176a2 --- /dev/null +++ b/el-GR/step_3.md @@ -0,0 +1,50 @@ +## Συμπαγείς τοίχοι + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Εδώ είναι ο κώδικας που πρέπει να προσθέσεις στο εσωτερικό του μπλοκ `για πάντα`{:class="block3control"} κάτω από το μπλοκ κατεύθυνσης: + +![παίκτης](images/player.png) + +```blocks3 +Όταν στην πράσινη σημαία γίνει κλικ +για πάντα + εάν <πατήθηκε το πλήκτρο (Πάνω βέλος v) :: sensing > τότε + στρίψε προς την κατεύθυνση των (0) μοιρών :: motion + κινήσου (4) βήματα :: motion :: control + end + εάν <πατήθηκε το πλήκτρο (αριστερό βέλος v) :: sensing > τότε + στρίψε προς την κατεύθυνση των (-90) μοιρών :: motion + κινήσου (4) βήματα :: motion :: control + end + εάν <πατήθηκε το πλήκτρο (κάτω βέλος v) :: sensing > then + point in direction (180) + move (4) steps + end + if τότε + στρίψε προς την κατεύθυνση των (90) μοιρών :: motion + κινήσου (4) βήματα :: motion :: control + end + + εάν <αγγίζει το χρώμα [#BABABA] :: sensing > τότε + + κινήσου (-4) βήματα :: motion :: control + + end :: control +end +``` + +\--- /task \--- + +\--- task \--- + +Προσπάθησε να κάνεις τον `παίκτη`να περάσει μέσα από έναν τοίχο. Αν ο νέος σου κώδικας λειτουργεί, αυτό θα πρέπει να είναι αδύνατον. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/el-GR/step_4.md b/el-GR/step_4.md new file mode 100644 index 000000000..5e9ce237b --- /dev/null +++ b/el-GR/step_4.md @@ -0,0 +1,142 @@ +## Περιηγήσου στον κόσμο σου + +Το αντικείμενο `παίκτης` θα πρέπει να είναι σε θέση να περάσει μέσα από τις πόρτες σε άλλες αίθουσες. + +Το έργο περιέχει υπόβαθρα σκηνής για επιπλέον αίθουσες: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Δημιούργησε μια νέα 'Για όλα τα αντικείμενα' μεταβλητή με το όνομα `αίθουσα`{:class="block3variables"} για να καταγράφει τον αριθμό της αίθουσας στην οποία βρίσκεται ο `παίκτης`. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Πρόσθεσε αυτόν τον βρόγχο επανάληψης μέσα στο αντικείμενο `παίκτης` `για πάντα`{:class="block3control"}: + +![παίκτης](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [αίθουσα v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Κάθε φορά που ξεκινάει το παιχνίδι, πρέπει να ρυθμίζεται ξανά η αίθουσα, η θέση του αντικειμένου και το υπόβαθρο σκηνής. + +\--- /hint \--- \--- hint \--- Να πώς θα πρέπει να είναι η τελική μορφή του κώδικα: + +\--- hints \--- + +\--- hint \--- + +Όταν ξεκινήσει το παιχνίδι: + ++ Η τιμή της μεταβλητής `αίθουσα`{:class="block3variables"} πρέπει να γίνει ίση με `1`{:class="block3variables"} ++ Το `υπόβαθρο`{:class="block3looks"} πρέπει να γίνει `αίθουσα1`{:class="block3looks"} ++ Η θέση του αντικειμένου `παίκτης` πρέπει να πάρει τιμές για `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Εδώ είναι τα επιπλέον μπλοκ που θα χρειαστείς: + +![παίκτης](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [αίθουσα v] to (1) + +switch backdrop to (αίθουσα1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Να πώς θα πρέπει να είναι η τελική μορφή του κώδικα: + +![παίκτης](images/player.png) + +```blocks3 +when flag clicked ++set [αίθουσα v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (αίθουσα1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [αίθουσα v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Μετακινήθηκε ο παίκτης στην επόμενη αίθουσα; Άλλαξε η τιμή της μεταβλητής `αίθουσα`{:class="block3variables"} σε `2`; + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/el-GR/step_5.md b/el-GR/step_5.md new file mode 100644 index 000000000..61d831b13 --- /dev/null +++ b/el-GR/step_5.md @@ -0,0 +1,3 @@ +## Πρόκληση: Επίστρεψε στην προηγούμενη αίθουσα + +Μπορείς να κάνεις το αντικείμενο `παίκτης` να επιστρέψει στην προηγούμενη αίθουσα μόλις αγγίξει μια κίτρινη πόρτα; Ο κώδικας που θα χρειαστείς για να το επιτύχεις αυτό είναι παρόμοιος με αυτόν που έχεις ήδη προσθέσει για να κάνεις το αντικείμενο να κινηθεί στο επόμενο δωμάτιο. \ No newline at end of file diff --git a/el-GR/step_6.md b/el-GR/step_6.md new file mode 100644 index 000000000..e7c09fcf4 --- /dev/null +++ b/el-GR/step_6.md @@ -0,0 +1,108 @@ +## Σημάδια + +Ας προσθέσουμε σημάδια στον κόσμο μας που θα καθοδηγούν τους παίκτες στο ταξίδι τους. + +Το έργο περιλαμβάνει ένα `σημάδι καλωσορίσματος`: + +![screenshot](images/world-sign.png) + +\--- task \--- + +Το `σημάδι καλωσορίσματος` θα πρέπει να είναι ορατό μονάχα στην αίθουσα 1, έτσι θα πρέπει να προσθέσεις κώδικα στο αντικείμενο αυτό, προκειμένου να βεβαιωθείς πως αυτό επιτυγχάνεται: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Εδώ είναι τα μπλοκ που χρειάζεστε: + +![σημάδι](images/sign.png) + +```blocks3 +
εάν < > τότε +αλλιώς +end + +< (αίθουσα :: variables) = [1] > + +εξαφάνισε + +εμφάνισε + +για πάντα +end + +Όταν στην πράσινη σημαία γίνει κλικ + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![σημάδι](images/sign.png) + +```blocks3 +όταν στην πράσινη σημαία γίνει κλικ +για πάντα + εάν < (αίθουσα :: variables) = [1] > τότε + εμφάνισε + αλλιώς + εξαφάνισε + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. Το σημάδι θα πρέπει να είναι ορατό μονάχα στην αίθουσα 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Πρόσθεσε επιπλέον κώδικα για να εμφανίζεται ένα μήνυμα όταν το `σημάδι καλωσορίσματος` αγγίξει το αντικείμενο `παίκτης`: + +![σημάδι](images/sign.png) + +```blocks3 +όταν στην πράσινη σημαία γίνει κλικ +για πάντα +εάν < (αίθουσα :: variables) = [1] > τότε +εμφάνισε +αλλιώς +εξαφάνισε +end ++εάν < αγγίζει (παίκτης v)? > τότε +πες [Γειά σου! Μπορείς να φτάσεις στο θησαυρό;] +αλλιώς +πες [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. Θα πρέπει τώρα να βλέπεις ένα μήνυμα όταν ο `παίκτης` αγγίζει το `σημάδι καλωσορίσματος`. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/el-GR/step_7.md b/el-GR/step_7.md new file mode 100644 index 000000000..4de89d57c --- /dev/null +++ b/el-GR/step_7.md @@ -0,0 +1,7 @@ +## Πρόκληση: Θησαυρός! + +Μπορείς να προσθέσεις κάποιο θησαυρό για να βρει ο παίκτης; + +Κάνε το `σεντούκι του θησαυρού` να εμφανίζεται μονάχα στην αίθουσα 3 και να εμφανίζεται το μήνυμα 'Συγχαρητήρια!' όταν ο `παίκτης` το αγγίξει. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/el-GR/step_8.md b/el-GR/step_8.md new file mode 100644 index 000000000..74b9f07a1 --- /dev/null +++ b/el-GR/step_8.md @@ -0,0 +1,65 @@ +## Άτομα + +Βάλε και άλλα άτομα στον κόσμο σου με τα οποία ο `παίκτης` θα μπορεί να αλληλεπιδρά. + +\--- task \--- + +Πήγαινε στο αντικείμενο `Άτομο`. + +![Αντικείμενο Άτομο](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. Αυτός ο κώδικας είναι παρόμοιος με τον κώδικα που πρόσθεσες στο αντικείμενο `σημάδι`: + +![άτομο](images/person.png) + +```blocks3 +όταν στην πράσινη σημαία γίνει κλικ +πήγαινε σε θέση x: (0) y: (-150) +για πάντα + εάν < αγγίζει (παίκτης v)? > τότε + πες [Γνωρίζεις πως μπορείς να περάσεις μέσα από τις πορτοκαλί ή τις κίτρινες πόρτες;] + αλλιώς + πες [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Κάνε το `Άτομο` να μετακινείται προσθέτοντας αυτά τα δύο μπλοκ εντολών μέσα στο τμήμα `αλλιώς`{:class="block3control"} του κώδικα: + +![άτομο](images/person.png) + +```blocks3 +όταν πράσινη σημαία γίνει κλικ +πήγαινε σε θέση x: (0) y: (-150) +για πάντα + εάν< αγγίζει (παίκτης v)? > τότε + πες [Γνωρίζεις πως μπορείς να περάσεις μέσα από τις πορτοκαλί ή τις κίτρινες πόρτες;] + αλλιώς + πες [] ++ κινήσου(1) βήματα ++ εάν σε όριο, αναπήδησε + end +end +``` + +\--- /task \--- + +Τώρα το `Άτομο` θα μετακινηθεί αλλά θα σταματήσει για να μιλήσει με τον `παίκτη`. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. Ο κώδικας που χρειάζεσαι είναι ακριβώς ο ίδιος με αυτόν που έκανε το αντικείμενο `σημάδι` να είναι ορατό μονάχα στην αίθουσα 1. + +Σιγουρέψου πως έλεγξες το νέο σου κώδικα. + +\--- /task \--- \ No newline at end of file diff --git a/el-GR/step_9.md b/el-GR/step_9.md new file mode 100644 index 000000000..3b32b83f9 --- /dev/null +++ b/el-GR/step_9.md @@ -0,0 +1,39 @@ +## Πρόκληση: Πρόσθεσε έναν εχθρό + +Αν θες, μπορείς να προσθέσεις στο παιχνίδι σου εχθρούς που θα περιπολούν. Αν το αντικείμενο `παίκτης` αγγίξει έναν εχθρό, το παιχνίδι τελειώνει. + ++ Το παιχνίδι περιέχει ήδη το αντικείμενο `εχθρός`. Πρόσθεσε κώδικα στο αντικείμενο `εχθρός` ώστε να εμφανίζεται μόνο στην αίθουσα 2. + ++ Πρόσθεσε κώδικα που θα μετακινεί το αντικείμενο `εχθρός` και θα τερματίζει το παιχνίδι αν ο `εχθρός` αγγίξει τον `παίκτης`. Είναι πιο εύκολο να το κάνεις αυτό σε ξεχωριστά μπλοκ κώδικα. Να πώς πρέπει να είναι ο κώδικας στο αντικείμενο `εχθρός`: + +```blocks3 +όταν στην πράσινη σημαία γίνει κλικ +για πάντα +εάν <(αίθουσα :: variables)=[2]> τότε +εμφανίσου +αλλιώς +εξαφανίσου + +όταν στην πράσινη σημαία γίνει κλικ +για πάντα +εάν <αγγίζει >τότε +σταμάτησε [όλα v] + +όταν στην πράσινη σημαία γίνει κλικ +πήγαινε σε θέση x: (170) y:(0) +για πάντα +επανάλαβε (130) +άλλαξε x κατά (-1) +end +επανάλαβε (130) +άλλαξε x κατά (1) +``` + ++ Δοκίμασε το νέο σου κώδικα για να βεβαιωθείς ότι: + + Το αντικείμενο `εχθρός` είναι ορατό μόνο στην αίθουσα 2 + + Το αντικείμενο `εχθρός` περιπολεί στην αίθουσα + + Το παιχνίδι τελειώνει αν το αντικείμενο `παίκτης` αγγίξει το αντικείμενο `εχθρός` + +Μπορείς να δημιουργήσεις έναν άλλο `εχθρό` στην αίθουσα 3 που θα κινείται πάνω κάτω μέσα από το κενό στον τοίχο; + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/en-US/images/banner.png b/en-US/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/en-US/images/banner.png differ diff --git a/en-US/images/cats-finished.png b/en-US/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/en-US/images/cats-finished.png differ diff --git a/en-US/images/coin.png b/en-US/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/en-US/images/coin.png differ diff --git a/en-US/images/door.png b/en-US/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/en-US/images/door.png differ diff --git a/en-US/images/key.png b/en-US/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/en-US/images/key.png differ diff --git a/en-US/images/north-south-rooms.png b/en-US/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/en-US/images/north-south-rooms.png differ diff --git a/en-US/images/number-grid.png b/en-US/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/en-US/images/number-grid.png differ diff --git a/en-US/images/person.png b/en-US/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/en-US/images/person.png differ diff --git a/en-US/images/player.png b/en-US/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/en-US/images/player.png differ diff --git a/en-US/images/showcase.png b/en-US/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/en-US/images/showcase.png differ diff --git a/en-US/images/sign.png b/en-US/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/en-US/images/sign.png differ diff --git a/en-US/images/stage.png b/en-US/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/en-US/images/stage.png differ diff --git a/en-US/images/world-backdrops.png b/en-US/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/en-US/images/world-backdrops.png differ diff --git a/en-US/images/world-bribe.png b/en-US/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/en-US/images/world-bribe.png differ diff --git a/en-US/images/world-door.png b/en-US/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/en-US/images/world-door.png differ diff --git a/en-US/images/world-enemy2.png b/en-US/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/en-US/images/world-enemy2.png differ diff --git a/en-US/images/world-key.png b/en-US/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/en-US/images/world-key.png differ diff --git a/en-US/images/world-person-test.png b/en-US/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/en-US/images/world-person-test.png differ diff --git a/en-US/images/world-room-test.png b/en-US/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/en-US/images/world-room-test.png differ diff --git a/en-US/images/world-room.png b/en-US/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/en-US/images/world-room.png differ diff --git a/en-US/images/world-sign-test.png b/en-US/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/en-US/images/world-sign-test.png differ diff --git a/en-US/images/world-sign-test2.png b/en-US/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/en-US/images/world-sign-test2.png differ diff --git a/en-US/images/world-sign.png b/en-US/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/en-US/images/world-sign.png differ diff --git a/en-US/images/world-starter.png b/en-US/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/en-US/images/world-starter.png differ diff --git a/en-US/images/world-treasure.png b/en-US/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/en-US/images/world-treasure.png differ diff --git a/en-US/images/world-up.png b/en-US/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/en-US/images/world-up.png differ diff --git a/en-US/images/world-walls-test.png b/en-US/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/en-US/images/world-walls-test.png differ diff --git a/en-US/images/world-walls.png b/en-US/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/en-US/images/world-walls.png differ diff --git a/en-US/meta.yml b/en-US/meta.yml new file mode 100644 index 000000000..a8714a5db --- /dev/null +++ b/en-US/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introduction + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/en-US/resources/CreateYourOwnWorldResources.sb3 b/en-US/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/en-US/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/en-US/resources/chest.svg b/en-US/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/en-US/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/en-US/resources/coin.svg b/en-US/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/en-US/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/en-US/resources/door-blue.png b/en-US/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/en-US/resources/door-blue.png differ diff --git a/en-US/resources/enemy.png b/en-US/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/en-US/resources/enemy.png differ diff --git a/en-US/resources/key.svg b/en-US/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/en-US/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/en-US/resources/person.png b/en-US/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/en-US/resources/person.png differ diff --git a/en-US/resources/player.png b/en-US/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/en-US/resources/player.png differ diff --git a/en-US/resources/room1.png b/en-US/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/en-US/resources/room1.png differ diff --git a/en-US/resources/room2.png b/en-US/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/en-US/resources/room2.png differ diff --git a/en-US/resources/room3.png b/en-US/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/en-US/resources/room3.png differ diff --git a/en-US/resources/sign.svg b/en-US/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/en-US/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/en-US/scratch-translatable.txt b/en-US/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/en-US/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/en-US/solutions/CreateYourOwnWorld.sb3 b/en-US/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/en-US/solutions/CreateYourOwnWorld.sb3 differ diff --git a/en-US/step_1.md b/en-US/step_1.md new file mode 100644 index 000000000..40a1a2743 --- /dev/null +++ b/en-US/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introduction + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### What you will make + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: What you will need + +### Hardware + +- A computer capable of running Scratch 3 + +### Software + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: What you will learn + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Additional information for educators + +If you need to print this project, please use the [printer-friendly version](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +You can find the [completed project here](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/en-US/step_10.md b/en-US/step_10.md new file mode 100644 index 000000000..d3465ca9a --- /dev/null +++ b/en-US/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/en-US/step_11.md b/en-US/step_11.md new file mode 100644 index 000000000..132d1a6aa --- /dev/null +++ b/en-US/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/en-US/step_12.md b/en-US/step_12.md new file mode 100644 index 000000000..8b30457d7 --- /dev/null +++ b/en-US/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![screenshot](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/en-US/step_13.md b/en-US/step_13.md new file mode 100644 index 000000000..ff7a81725 --- /dev/null +++ b/en-US/step_13.md @@ -0,0 +1,21 @@ +## What next? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/en-US/step_2.md b/en-US/step_2.md new file mode 100644 index 000000000..50be3d2f6 --- /dev/null +++ b/en-US/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +If you have a Scratch account you can make a copy by clicking **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. If you need to download and install the Scratch offline editor, you can find it at [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/en-US/step_3.md b/en-US/step_3.md new file mode 100644 index 000000000..c35c898cf --- /dev/null +++ b/en-US/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/en-US/step_4.md b/en-US/step_4.md new file mode 100644 index 000000000..7343fe1de --- /dev/null +++ b/en-US/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/en-US/step_5.md b/en-US/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/en-US/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/en-US/step_6.md b/en-US/step_6.md new file mode 100644 index 000000000..f046657d5 --- /dev/null +++ b/en-US/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![screenshot](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/en-US/step_7.md b/en-US/step_7.md new file mode 100644 index 000000000..2368ef13a --- /dev/null +++ b/en-US/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/en-US/step_8.md b/en-US/step_8.md new file mode 100644 index 000000000..42966a563 --- /dev/null +++ b/en-US/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/en-US/step_9.md b/en-US/step_9.md new file mode 100644 index 000000000..02b33ad08 --- /dev/null +++ b/en-US/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/es-ES/images/banner.png b/es-ES/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/es-ES/images/banner.png differ diff --git a/es-ES/images/cats-finished.png b/es-ES/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/es-ES/images/cats-finished.png differ diff --git a/es-ES/images/coin.png b/es-ES/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/es-ES/images/coin.png differ diff --git a/es-ES/images/coin.svg b/es-ES/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/es-ES/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/es-ES/images/create-variable.png b/es-ES/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/es-ES/images/create-variable.png differ diff --git a/es-ES/images/create-your-own-world.png b/es-ES/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/es-ES/images/create-your-own-world.png differ diff --git a/es-ES/images/door.png b/es-ES/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/es-ES/images/door.png differ diff --git a/es-ES/images/enemy.png b/es-ES/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/es-ES/images/enemy.png differ diff --git a/es-ES/images/finished-move-down-right.png b/es-ES/images/finished-move-down-right.png new file mode 100644 index 000000000..58d25cb74 Binary files /dev/null and b/es-ES/images/finished-move-down-right.png differ diff --git a/es-ES/images/key.png b/es-ES/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/es-ES/images/key.png differ diff --git a/es-ES/images/key.svg b/es-ES/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/es-ES/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/es-ES/images/north-south-rooms.png b/es-ES/images/north-south-rooms.png new file mode 100644 index 000000000..ef3ebfb53 Binary files /dev/null and b/es-ES/images/north-south-rooms.png differ diff --git a/es-ES/images/number-grid.png b/es-ES/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/es-ES/images/number-grid.png differ diff --git a/es-ES/images/person-sprite.png b/es-ES/images/person-sprite.png new file mode 100644 index 000000000..107feffd6 Binary files /dev/null and b/es-ES/images/person-sprite.png differ diff --git a/es-ES/images/person.png b/es-ES/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/es-ES/images/person.png differ diff --git a/es-ES/images/player.png b/es-ES/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/es-ES/images/player.png differ diff --git a/es-ES/images/showcase.png b/es-ES/images/showcase.png new file mode 100644 index 000000000..3d9508f61 Binary files /dev/null and b/es-ES/images/showcase.png differ diff --git a/es-ES/images/sign.png b/es-ES/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/es-ES/images/sign.png differ diff --git a/es-ES/images/sign.svg b/es-ES/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/es-ES/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/es-ES/images/stage.png b/es-ES/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/es-ES/images/stage.png differ diff --git a/es-ES/images/variable-show.png b/es-ES/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/es-ES/images/variable-show.png differ diff --git a/es-ES/images/world-backdrops.png b/es-ES/images/world-backdrops.png new file mode 100644 index 000000000..f3309d275 Binary files /dev/null and b/es-ES/images/world-backdrops.png differ diff --git a/es-ES/images/world-bribe.png b/es-ES/images/world-bribe.png new file mode 100644 index 000000000..1def740be Binary files /dev/null and b/es-ES/images/world-bribe.png differ diff --git a/es-ES/images/world-coins.png b/es-ES/images/world-coins.png new file mode 100644 index 000000000..ad8e0db83 Binary files /dev/null and b/es-ES/images/world-coins.png differ diff --git a/es-ES/images/world-door.png b/es-ES/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/es-ES/images/world-door.png differ diff --git a/es-ES/images/world-enemy-code.png b/es-ES/images/world-enemy-code.png new file mode 100644 index 000000000..294108b54 Binary files /dev/null and b/es-ES/images/world-enemy-code.png differ diff --git a/es-ES/images/world-enemy2.png b/es-ES/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/es-ES/images/world-enemy2.png differ diff --git a/es-ES/images/world-final.png b/es-ES/images/world-final.png new file mode 100644 index 000000000..3d183a492 Binary files /dev/null and b/es-ES/images/world-final.png differ diff --git a/es-ES/images/world-key.png b/es-ES/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/es-ES/images/world-key.png differ diff --git a/es-ES/images/world-north-south.png b/es-ES/images/world-north-south.png new file mode 100644 index 000000000..ab33e9f6f Binary files /dev/null and b/es-ES/images/world-north-south.png differ diff --git a/es-ES/images/world-person-test.png b/es-ES/images/world-person-test.png new file mode 100644 index 000000000..0ad7ffe3c Binary files /dev/null and b/es-ES/images/world-person-test.png differ diff --git a/es-ES/images/world-person.png b/es-ES/images/world-person.png new file mode 100644 index 000000000..d6fec8f43 Binary files /dev/null and b/es-ES/images/world-person.png differ diff --git a/es-ES/images/world-player.png b/es-ES/images/world-player.png new file mode 100644 index 000000000..f66186cb2 Binary files /dev/null and b/es-ES/images/world-player.png differ diff --git a/es-ES/images/world-resources.png b/es-ES/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/es-ES/images/world-resources.png differ diff --git a/es-ES/images/world-room-test.png b/es-ES/images/world-room-test.png new file mode 100644 index 000000000..81d0c868c Binary files /dev/null and b/es-ES/images/world-room-test.png differ diff --git a/es-ES/images/world-room.png b/es-ES/images/world-room.png new file mode 100644 index 000000000..d550999e3 Binary files /dev/null and b/es-ES/images/world-room.png differ diff --git a/es-ES/images/world-sign-test-left.png b/es-ES/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/es-ES/images/world-sign-test-left.png differ diff --git a/es-ES/images/world-sign-test-right.png b/es-ES/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/es-ES/images/world-sign-test-right.png differ diff --git a/es-ES/images/world-sign-test.png b/es-ES/images/world-sign-test.png new file mode 100644 index 000000000..6a006f962 Binary files /dev/null and b/es-ES/images/world-sign-test.png differ diff --git a/es-ES/images/world-sign-test2.png b/es-ES/images/world-sign-test2.png new file mode 100644 index 000000000..f03657907 Binary files /dev/null and b/es-ES/images/world-sign-test2.png differ diff --git a/es-ES/images/world-sign.png b/es-ES/images/world-sign.png new file mode 100644 index 000000000..19df70bd6 Binary files /dev/null and b/es-ES/images/world-sign.png differ diff --git a/es-ES/images/world-starter.png b/es-ES/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/es-ES/images/world-starter.png differ diff --git a/es-ES/images/world-treasure.png b/es-ES/images/world-treasure.png new file mode 100644 index 000000000..1f35cfe70 Binary files /dev/null and b/es-ES/images/world-treasure.png differ diff --git a/es-ES/images/world-up.png b/es-ES/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/es-ES/images/world-up.png differ diff --git a/es-ES/images/world-walls-test.png b/es-ES/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/es-ES/images/world-walls-test.png differ diff --git a/es-ES/images/world-walls.png b/es-ES/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/es-ES/images/world-walls.png differ diff --git a/es-ES/meta.yml b/es-ES/meta.yml new file mode 100644 index 000000000..5bb628e9b --- /dev/null +++ b/es-ES/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Crea tu propio mundo +description: Aprende a crear tu propio juego de aventura de mundo abierto +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introducción + - + title: Mover el objeto jugador + - + title: Paredes macizas + completion: + - engaged + - + title: Muévete por tu mundo + - + title: 'Desafío: volver a la habitación anterior' + challenge: true + - + title: Señales + - + title: 'Desafío: ¡Un tesoro!' + challenge: true + - + title: Personas + - + title: 'Desafío: Enemigos' + challenge: true + - + title: Recoger monedas + - + title: Puertas y llaves + completion: + - internal + - + title: 'Desafío: Amplía tu mundo' + challenge: true + completion: + - external diff --git a/es-ES/resources/CreateYourOwnWorld.sb2 b/es-ES/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8682d05f8 Binary files /dev/null and b/es-ES/resources/CreateYourOwnWorld.sb2 differ diff --git a/es-ES/resources/CreateYourOwnWorldResources.sb2 b/es-ES/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8a9935e60 Binary files /dev/null and b/es-ES/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/es-ES/resources/CreateYourOwnWorldResources.sb3 b/es-ES/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..df40dcf71 Binary files /dev/null and b/es-ES/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/es-ES/resources/chest.svg b/es-ES/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/es-ES/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/es-ES/resources/coin.svg b/es-ES/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/es-ES/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/es-ES/resources/door-blue.png b/es-ES/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/es-ES/resources/door-blue.png differ diff --git a/es-ES/resources/enemy.png b/es-ES/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/es-ES/resources/enemy.png differ diff --git a/es-ES/resources/key.svg b/es-ES/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/es-ES/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/es-ES/resources/person.png b/es-ES/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/es-ES/resources/person.png differ diff --git a/es-ES/resources/player.png b/es-ES/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/es-ES/resources/player.png differ diff --git a/es-ES/resources/room1.png b/es-ES/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/es-ES/resources/room1.png differ diff --git a/es-ES/resources/room2.png b/es-ES/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/es-ES/resources/room2.png differ diff --git a/es-ES/resources/room3.png b/es-ES/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/es-ES/resources/room3.png differ diff --git a/es-ES/resources/sign.svg b/es-ES/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/es-ES/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/es-ES/scratch-translatable.txt b/es-ES/scratch-translatable.txt new file mode 100644 index 000000000..e22acac84 --- /dev/null +++ b/es-ES/scratch-translatable.txt @@ -0,0 +1,13 @@ +habitación + +jugador + +¡Bienvenido! ¿Puedes llegar al tesoro? + +¿Sabías que puedes pasar por puertas naranjas y amarillas? + +monedas + +llave azul + +inventario diff --git a/es-ES/solutions/CreateYourOwnWorld.sb3 b/es-ES/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..15df9367e Binary files /dev/null and b/es-ES/solutions/CreateYourOwnWorld.sb3 differ diff --git a/es-ES/step_1.md b/es-ES/step_1.md new file mode 100644 index 000000000..aa81dc96e --- /dev/null +++ b/es-ES/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Esta es una versión de **Scratch 3** del proyecto. También hay una [versión del proyecto en Scratch 2](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introducción + +En este proyecto, aprenderás cómo crear tu propio juego de aventuras con múltiples niveles para explorar. + +### Lo que harás + +\--- no-print \--- + +Haz clic en la bandera verde para empezar. Utiliza las teclas de flecha para mover a tu personaje por el mundo. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Utiliza los cursores, teclas de flechas, para mover a tu personaje por el mundo. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Lo que necesitarás + +### Hardware + +- Una computadora capaz de hacer correr Scratch 3 + +### Software + +- Scratch 3 (ya sea [online](https://rpf.io/scratchon){:target="_blank"} u [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Descargas + +Puede encontrar todo lo necesario para completar este proyecto en [ rpf.io/p/en/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Lo que vas a aprender + +- Usa la selección condicional para reaccionar a pulsaciones de teclas +- Usar variables para almacenar el estado del juego +- Usar selección condicional basada en el valor de una variable +- Usar listas para almacenar datos + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Información adicional para educadores + +Si necesitas imprimir este proyecto, usa la [versión para imprimir](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Puedes [encontrar el proyecto completo aquí](https://rpf.io/p/en/create-your-own-world-get){:target ="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/es-ES/step_10.md b/es-ES/step_10.md new file mode 100644 index 000000000..43d4fbd2a --- /dev/null +++ b/es-ES/step_10.md @@ -0,0 +1,71 @@ +## Recoger monedas + +Tu objeto `jugador ` deberá ser capaz de recoger monedas a medida que se mueve por el mundo. + +\--- task \--- + +Añade una nueva variable a tu proyecto y llámala `monedas`{:class="block3variables"}. + +\--- /task \--- + +\--- task \--- + +Haz clic derecho en el objeto `moneda` y elige **mostrar**. + +![captura de pantalla](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Añade código al objeto `moneda` de manera que solamente aparezca en la habitación 1. + +![screenshot](images/coin.png) + +```blocks3 +cuando se hace click sobre la bandera +para siempre +si <(habitación :: variables)=[1]> entonces +mostrar +si no +ocultar +``` + +\--- /task \--- + +\--- task \--- + +Agregue código al objeto `moneda ` para que ` desaparezca ` {: class = "block3looks"} y se sume` 1 ` {: class = "block3variables"} a la variable` monedas ` {: class = "block3variables"} cada vez que el objeto` jugador ` toque el objeto ` moneda` para 'recogerlo'. + +![moneda](images/coin.png) + +```blocks3 +al presionar bandera verde +esperar hasta que +cambiar [monedas v] por (1) +esconder +detener [otros programas en el objeto v] +``` + +El código `detener otros programas en el objeto`{:class="block3control"} es necesario para que el objeto `moneda` deje de mostrarse en la habitación 1 una vez que haya sido recogido. + +\--- /task \--- + +\--- task \--- + +Ahora agregue código al escenario para establecer su variable `monedas` {:class="block3variables"} a `0` {:class="block3variables"} al comienzo del juego. + +![escenario](images/stage.png) + +```blocks3 +al hacer clic en la bandera +dar a [monedas v] el valor [0] +``` + +\--- /task \--- + +\--- task \--- + +Prueba tu juego. Recolectar una moneda debe cambiar tu puntuación de `monedas` a `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/es-ES/step_11.md b/es-ES/step_11.md new file mode 100644 index 000000000..23ccf3766 --- /dev/null +++ b/es-ES/step_11.md @@ -0,0 +1,104 @@ +## Puertas y llaves + +Ahora vas a añadir código para que algunas de las puertas del mundo de tu juego estén bloqueadas, y el jugador debe encontrar la llave para abrirlas y llegar a la habitación siguiente. + +\--- task \--- + +Cambia al objeto `llave`. Haz click en `mostrar`{:class="blocklooks"} en el menú Scripts para que el objeto aparezca en el Escenario. + +\--- /task \--- + +\--- task \--- + +Edita el disfraz del objeto `llave` para que sea de color azul. + +\--- /task \--- + +\--- task \--- + +¡Cambia al fondo de escenario a la habitación 3 y coloca el objeto `llave` en un lugar que sea difícil de alcanzar! + +![captura de pantalla](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Añade código al objeto `moneda` de manera que solamente aparezca en la habitación 3. + +\--- /task \--- + +\--- task \--- + +Crear una nueva lista llamada `inventario`{:class="block3variables"} para almacenar los elementos que el objeto `jugador` recolecta. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +El código que necesitas agregar para recoger la llave es muy similar al código para recoger monedas. La diferencia es que se añade la llave al `inventario`{:class="block3variables"}. + +![llave](images/key.png) + +```blocks3 +al presionar la bandera verde +esperar hasta que +añade la [llave azul] al [Inventario v] +esconder +detener [otros programas en el objeto v] +``` + +\--- /task \--- + +\--- task \--- + +Agrega código a tu escenario para vaciar tu inventario al comienzo del juego. + +```blocks3 +delete (todos v) of [inventario v] +``` + +\--- /task \--- + +\--- task \--- + +Prueba tu juego para comprobar si puedes recoger el objeto `llave` y añadirlo a tu inventario. + +\--- /task \--- + +\--- task \--- + +Ahora agregue la puerta cerrada. Seleccione el objeto ` puerta azul ` y haz clic en ` mostrar ` {: class = "blocklooks} en el menú Scripts, y luego coloca el obketo en el espacio entre las dos paredes. + +![captura de pantalla](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Añade código al objeto `puerta azul` de manera que solamente aparezca en la habitación 3. + +\--- /task \--- + +\--- task \--- + +Añadir código al objeto `puerta azul` para que, cuando la llave esté en el `inventario`{:class="block3variables"}, el objeto se `esconde`{:class="block3looks"} para permitir que pase el objeto de tu`jugador`. + +![puerta](images/door.png) + +```blocks3 +al presionar la bandera verde +esperar hasta que <[Inventario v] contenga [llave azul]> +detener [otros programas en el objeto v] +esconder +``` + +\--- /task \--- + +\--- task \--- + +¡Prueba tu juego y comprueba si puedes recoger la llave azul para abrir la puerta! + +\--- /task \--- \ No newline at end of file diff --git a/es-ES/step_12.md b/es-ES/step_12.md new file mode 100644 index 000000000..236d37ef8 --- /dev/null +++ b/es-ES/step_12.md @@ -0,0 +1,28 @@ +## Desafío: Amplía tu mundo + +¡Ahora puedes seguir creando tu propio mundo! Aquí tienes algunas sugerencias: + ++ Añade más monedas a tu juego en diferentes habitaciones. ¿Puedes dejar que algunas monedas estén vigiladas por enemigos? ++ Cambia los fondos de tu juego ++ Añade sonido y música a tu juego ++ Añade más personajes, enemigos, señales y monedas ++ Añade puertas rojas y amarillas, y llaves especiales para abrirlas ++ Añade más habitaciones a tu mundo ++ Añade otros objetos útiles a tu juego + + + Usa monedas para obtener información de otras personas: + +![captura de pantalla](images/world-bribe.png) + ++ Incluso podrías añadir puertas en las paredes norte y sur de la habitación 1, de modo que el jugador pueda moverse entre habitaciones en las cuatro direcciones. Por ejemplo, tu juego puede tener nueve habitaciones en una cuadrícula de 3 × 3. Entonces podrías sumar `3` al número de habitación para moverte al nivel inferior. + +![captura de pantalla](images/north-south-rooms.png) + +![captura de pantalla](images/number-grid.png) + +```blocks3 +si entonces +cambiar fondo a ((disfraz [número v]) + (3)) +ve a x: (0) y: (200) +cambiar [habitación v] por (3) +``` \ No newline at end of file diff --git a/es-ES/step_13.md b/es-ES/step_13.md new file mode 100644 index 000000000..d7ca8b191 --- /dev/null +++ b/es-ES/step_13.md @@ -0,0 +1,21 @@ +## Desafío: más colores + +¡Intenta crear otro juego trabajando con el proyecto [ GATOS! ](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Haga clic y arrastre con el ratón para dibujar una línea con el lápiz. Tu objetivo es evitar que los gatos caigan en los agujeros creando un camino seguro hacia la salida. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Gatos terminados](images/cats-finished.png) + +\--- /print-only \--- + +Si quieres hacer un juego usando Python en lugar de Scratch, prueba el proyecto [ RPG ](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/es-ES/step_2.md b/es-ES/step_2.md new file mode 100644 index 000000000..fc192d6e7 --- /dev/null +++ b/es-ES/step_2.md @@ -0,0 +1,131 @@ +## Mover el objeto jugador + +Empieza creando un objeto `jugador` que se pueda mover por tu mundo. + +\--- task \--- + +Abre el proyecto de inicio de Scratch "Crea tu propio mundo". + +**En línea:** abre el proyecto de inicio en [scratch.mit.edu/projects/380874343](https://scratch.mit.edu/projects/380874343){:target="_blank"}. + +Si tienes una cuenta de Scratch puedes hacer una copia haciendo clic en **Reinventar**. + +**Sin conexión:** descarga el proyecto de inicio desde [rpf.io/p/es-ES/create-your-own-world-go](https://rpf.io/p/es-ES/create-your-own-world-go) y luego ábrelo con el editor de Scratch sin conexión. Si necesitas descargar e instalar el editor offline de Scratch, puedes encontrarlo en [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![captura de pantalla](images/world-starter.png) + +\--- /task \--- + +Al presionar las teclas de flecha se moverá al objeto ` jugador `. Cuando se presiona la flecha hacia arriba, el objeto `jugador` debe moverse hacia arriba en el escenario. + +\--- task \--- + +Añade este código al objeto `jugador`: + +![jugador](images/player.png) + +```blocks3 +al hacer clic en la bandera verde +por siempre + si <¿tecla (flecha arriba v) presionada? > entonces + apuntar en dirección (0) + mover (4) pasos + end +end +``` + +\--- /task \--- + +\--- task \--- + +Haz clic en la bandera y mantén presionada la flecha hacia arriba. ¿El objeto `jugador` se mueve hacia arriba? + +![captura de pantalla](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Para mover el `jugador` hacia la izquierda tienes que añadir otro bloque `si`{:class="block3control"} con un código similar: + +![jugador](images/player.png) + +```blocks3 +al hacer clic en la bandera verde +por siempre + si <¿tecla (flecha arriba v) presionada? > entonces + apuntar en dirección (0) + mover (4) pasos + end + si <¿tecla (flecha izquierda v) presionada? > entonces + apuntar en dirección (90) + mover (4) pasos + end +end +``` + +\--- /task \--- + +\--- task \--- + +Añade más código a tu objeto `jugador` para que pueda moverse también hacia abajo y hacia la derecha. Usa el código que ya tienes como ayuda. + +\--- hints \--- + +\--- hint \--- + +Para moverse hacia arriba, apunta el objeto `jugador` en la dirección `0` grados. ¿Qué tienes que hacer para mover el objeto hacia abajo? + +Para moverse hacia la izquierda, apunta el objeto jugador en la dirección `90` grados. ¿Qué tienes que hacer para mover el objeto hacia la derecha? + +\--- /hint \--- + +\--- hint \--- + +Necesita cambiar estos dos bloques: + +![jugador](images/player.png) + +```blocks3 + + +apuntar en dirección () +``` + +Duplica el código que hace que el objeto` jugador ` se mueva hacia arriba y cambia estos dos bloques para que el objeto se mueva hacia abajo. Duplica el código nuevamente y cámbialo para que el objeto se mueva hacia la derecha. + +\--- /hint \--- + +\--- hint \--- + +Así es como debería verse tu código: + +![jugador](images/player.png) + +```blocks3 +al hacer clic en la bandera verde +por siempre + si <¿tecla (flecha arriba v) está presionada? > entonces + apuntar en dirección (0) + mover (4) pasos + end + si <¿tecla (flecha izquierda v) está presionada? > entonces + apuntar en dirección (-90) + mover (4) pasos + end + si <¿tecla (flecha abajo v) presionada? > entonces + apuntar en dirección (180) + mover (4) pasos + end + si <¿tecla (flecha izquierda v) está presionada? > entonces + apuntar en dirección (90) + mover (4) pasos + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/es-ES/step_3.md b/es-ES/step_3.md new file mode 100644 index 000000000..e76507166 --- /dev/null +++ b/es-ES/step_3.md @@ -0,0 +1,47 @@ +## Paredes macizas + +\--- task \--- + +Prueba de nuevo tu objeto `jugador`. ¿Ves que puede atravesar las paredes de color gris claro? + +![captura de pantalla](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Para arreglar esto, tendrás que hacer que tu `jugador` retroceda si toca una pared de color gris claro. Este es el código que necesitas añadir dentro de tu bloque `para siempre`{:class="block3control"} debajo de los bloques de dirección: + +![jugador](images/player.png) + +```blocks3 +al hacer clic en la bandera verde +por siempre + si <¿tecla (flecha arriba v) presionada? > entonces + apuntar en dirección (0) + mover (4) pasos + end + si <¿tecla (flecha izquierda v) está presionada? > entonces + apuntar en dirección (-90) + mover (4) pasos + end + si <¿tecla (flecha abajo v) presionada? when flag clicked +forever + if entonces + apuntar en dirección (90) + mover (4) pasos + fin + si < toca el color [#BABABA]? > entonces + mover (-4) pasos +end +``` + +\--- /task \--- + +\--- task \--- + +Intenta hacer que el objeto ` jugador ` se mueva a través de una pared. Si tu nuevo código funciona, esto no debería ser posible. + +![captura de pantalla](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/es-ES/step_4.md b/es-ES/step_4.md new file mode 100644 index 000000000..50d6ae4a8 --- /dev/null +++ b/es-ES/step_4.md @@ -0,0 +1,141 @@ +## Muévete por tu mundo + +El objeto `jugador` debe ser capaz de entrar en otras habitaciones por las puertas. + +Tu proyecto contiene fondos para otras habitaciones: + +![captura de pantalla](images/world-backdrops.png) + +\--- task \--- + +Crea una nueva variable"para todos los objetos" y llámala `habitación`{:class="block3variables"} para poder ver en que habitación se encuentra el `jugador`. + +[[[generic-scratch3-add-variable]]] + +![captura de pantalla](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Cuando el objeto `jugador` toca la puerta naranja en la primera habitación, se debe mostrar el fondo siguiente y el objeto `jugador` tiene que volver al lado izquierdo del escenario. Añade este código dentro del bucle `por siempre`{:class="block3control"} del `jugador`: + +![jugador](images/player.png) + +```blocks3 +al hacer clic en la bandera verde +por siempre + si <¿tecla (flecha arriba v) presionada? > entonces + apuntar en dirección (0) + mover (4) pasos + end + si <¿tecla (flecha izquierda v) está presionada? > entonces + apuntar en dirección (-90) + mover (4) pasos + end + si <¿tecla (flecha abajo v) presionada? when flag clicked ++set [habitación v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (habitación1 v) +forever + if entonces + apuntar en dirección (90) + mover (4) pasos + fin + si < toca el color [#BABABA]? > entonces + mover (-4) pasos + fin + si < toca el color [# F2A24A] > entonces + cambia el fondo a (siguiente fondo v) + ve a x: (-200) y: (0) + cambia [habitación v] por (1) +fin +fin +``` + +\--- /task \--- + +\--- task \--- + +Cada vez que el juego empieza, la sala, la posición del personaje y el fondo necesitan ser reiniciados. + +Añade código al **principio** del código del objeto `jugador` encima del bucle `por siempre`{:class="block3control"} para asegurarte que todo se restablece cuando se hace clic en la bandera: + +\--- hints \--- + +\--- hint \--- + +Cuando el juego inicia: + ++ El valor de `habitación`{:class="block3variables"} debe establecerse en `1`{:class="block3variables"} ++ El valor de `telón de fondo`{:class="block3looks"} debe establecerse en `habitación1`{:class="block3looks"} ++ La posición del objeto `jugador` debe establecerse en `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Aquí están los bloques adicionales que necesitas: + +![jugador](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Así es como debería verse tu código terminado: + +![jugador](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if entonces + apuntar en dirección (0) + mover (4) pasos + end + si <¿tecla (flecha izquierda v) está presionada? > entonces + apuntar en dirección (-90) + mover (4) pasos + end + si <¿tecla (flecha abajo v) presionada? when flag clicked +forever + if entonces + apuntar en dirección (90) + mover (4) pasos + fin + si < toca el color [#BABABA]? > entonces + mover (-4) pasos + fin + si < toca el color [# F2A24A] > entonces + cambia el fondo a (siguiente fondo v) + ve a x: (-200) y: (0) + cambia [habitación v] por (1) +fin +fin +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Haga clic en la bandera y luego mueve tu objeto `jugador` hasta que toque la puerta naranja. ¿Tu objeto se mueve a la pantalla siguiente? ¿La variable `Habitación`{:class="block3variables"} cambia a `2`? + +![captura de pantalla](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/es-ES/step_5.md b/es-ES/step_5.md new file mode 100644 index 000000000..62ed15548 --- /dev/null +++ b/es-ES/step_5.md @@ -0,0 +1,3 @@ +## Desafío: volver a la habitación anterior + +¿Puedes hacer que tu objeto `jugador` se mueva a la habitación anterior cuando toque una puerta amarilla? El código que necesitas para esto es muy similar al código que ya has añadido para pasar a la habitación siguiente. \ No newline at end of file diff --git a/es-ES/step_6.md b/es-ES/step_6.md new file mode 100644 index 000000000..9f6d91d08 --- /dev/null +++ b/es-ES/step_6.md @@ -0,0 +1,108 @@ +## Señales + +Añadamos señales a tu mundo para guiar al jugador en su viaje. + +Tu proyecto incluye un objeto `señal`: + +![captura de pantalla](images/world-sign.png) + +\--- task \--- + +El objeto `signo de bienvenida` sólo debe ser visible en la sala 1, así que añade un poco de código al objeto para asegurarte de que ocurre: + +\--- hints \--- + +\--- hint \--- + +`Cuando se hace clic en la bandera `{:class="block3events"}, en un bucle `para siempre`{:class="block3control"}, marca `si`{:class="block3control"} la `habitación es 1`{:class="block3variables"} y en ese caso `muestra`{:class="block3looks"} el objeto` signo de bienvenida `, `en otro caso`{:class="block3control"} `ocultar`{:class="block3looks"} el objeto. + +\--- /hint \--- + +\--- hint \--- + +Aquí están los bloques que necesitas: + +![señal](images/sign.png) + +```blocks3 +
si < > entonces +en otro caso +fin + +< (room :: variables) = [1] > + +ocultar + +mostrar + +para siempre +fin + +cuando se hace clic en la bandera + +``` + +\--- /hint \--- + +\--- hint \--- + +Aquí está el programa completo: + +![señal](images/sign.png) + +```blocks3 +al hacer click en la bandera +para siempre + si < (room :: variables) = [1] > entonces + mostrar + en otro caso + ocultar + fin +fin +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Prueba el código para tu objeto `señal de bienvenida` moviendo entre las habitaciones. Tu señal solo debe ser visible en la habitación 1. + +![captura de pantalla](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +¡Una señal no es muy útil si no dice nada! Añade un poco más de código para mostrar un mensaje si el objeto `señal` es tocado por el objeto `jugador`: + +![señal](images/sign.png) + +```blocks3 +al hacer click en la bandera +para siempre + si < (room :: variables) = [1] > entonces + mostrar + en otro caso + ocultar + fin ++ si < tocando al (jugador v)? > entonces +decir [¡Bienvenido! ¿Puedes llegar al tesoro?] +más +decir [] +fin +fin +``` + +\--- /task \--- + +\--- task \--- + +Prueba tu objeto `símbolo de bienvenida` de nuevo. Ahora deberías ver un mensaje cuando el objeto `jugador` toca el objeto `señal`. + +![captura de pantalla](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/es-ES/step_7.md b/es-ES/step_7.md new file mode 100644 index 000000000..9b1fadf92 --- /dev/null +++ b/es-ES/step_7.md @@ -0,0 +1,7 @@ +## Desafío: ¡Un tesoro! + +¿Puedes añadir un tesoro para que el jugador lo encuentre? + +Haz que el objeto `cofre del tesoro` solo aparezca en la habitación 3, y haz que diga '¡Bien hecho!' cuando lo toque el objeto `jugador`. + +![captura de pantalla](images/world-treasure.png) \ No newline at end of file diff --git a/es-ES/step_8.md b/es-ES/step_8.md new file mode 100644 index 000000000..d8cc7adca --- /dev/null +++ b/es-ES/step_8.md @@ -0,0 +1,65 @@ +## Personas + +Añade otras personas a tu mundo con las que tu objeto `jugador` pueda interactuar. + +\--- task \--- + +Cambia al objeto `persona`. + +![Objeto persona](images/person.png) + +\--- /task \--- + +\--- task \--- + +Añade un poco de código al objeto `persona` para que la persona hable con el objeto `jugador`. Este código es muy similar al que has añadido a tu objeto `señal`: + +![persona](images/person.png) + +```blocks3 +al presionar la bandera verde +ir a x: (0) y: (-150) +por siempre + si <¿tocando (jugador v)? > entonces + decir [¿Sabías que puedes atravesar las puertas naranjas y amarillas?] + en otro caso + decir [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Permite que tu objeto `persona` se mueva añadiendo estos dos bloques en la sección `si no`{:class="block3control"} de tu código: + +![persona](images/person.png) + +```blocks3 +al presionar la bandera verde +ir a x: (0) y: (-150) +por siempre + si <¿tocando (jugador v)? > entonces + decir [¿Sabías que puedes atravesar las puertas naranjas y amarillas?] + en otro caso + decir [] ++ mover (1) paso ++ si está en el borde, rebotar + fin +fin +``` + +\--- /task \--- + +Ahora, tu objeto `persona` se moverá, pero se parará para hablar con el objeto `Jugador`. + +![captura de pantalla](images/world-person-test.png) + +\--- task \--- + +Agregue código a tu nuevo objeto `persona` para que el objeto solo aparezca en la habitación 1. El código que necesita es exactamente el mismo que el código que hace el objeto `señal` sólo sea visible en la sala 1. + +Asegúrate de probar tu nuevo código. + +\--- /task \--- \ No newline at end of file diff --git a/es-ES/step_9.md b/es-ES/step_9.md new file mode 100644 index 000000000..07c0f01e9 --- /dev/null +++ b/es-ES/step_9.md @@ -0,0 +1,39 @@ +## Desafío: añadir un enemigo + +Si quieres, también puedes añadir enemigos patrullando a tu juego. Si el objeto `jugador` toca un enemigo, el juego termina. + ++ Tu juego ya contiene un objeto `enemigo`. Añade código al objeto `enemigo` de manera que solamente aparezca en la habitación 2. + ++ Añade código para mover el objeto `enemigo` y para terminar el juego si el objeto `enemigo` toca al objeto `jugador`. Es más fácil hacer esto en bloques de código separados. El código de tu objeto `enemigo` debería quedar así: + +```blocks3 +al presionar la bandera verde +para siempre +si <(habitación :: variables) =[2]> luego +muestra +si no +ocultar + +al presionar la bandera verde +para siempre +si luego +detiene [todos v] + +al presionar la bandera verde +ir a x : (170) y: (0) +para siempre +repetir (130) +cambiar x por (-1) +fin +repetir (130) +cambiar x por (1) +``` + ++ Prueba tu nuevo código para asegurarte de que funciona: + + El objeto `enemigo` sólo debe ser visible en la habitación 2 + + El objeto` enemigo ` patrulla la habitación + + La partida termina si el objeto `jugador` toca el objeto `enemigo` + +¿Puedes crear otro objeto `enemigo` en la habitación 3 que patrulle arriba y abajo a través del hueco en la pared? + +![captura de pantalla](images/world-enemy2.png) \ No newline at end of file diff --git a/es-LA/images/banner.png b/es-LA/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/es-LA/images/banner.png differ diff --git a/es-LA/images/cats-finished.png b/es-LA/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/es-LA/images/cats-finished.png differ diff --git a/es-LA/images/coin.png b/es-LA/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/es-LA/images/coin.png differ diff --git a/es-LA/images/door.png b/es-LA/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/es-LA/images/door.png differ diff --git a/es-LA/images/key.png b/es-LA/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/es-LA/images/key.png differ diff --git a/es-LA/images/north-south-rooms.png b/es-LA/images/north-south-rooms.png new file mode 100644 index 000000000..56c678d9b Binary files /dev/null and b/es-LA/images/north-south-rooms.png differ diff --git a/es-LA/images/number-grid.png b/es-LA/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/es-LA/images/number-grid.png differ diff --git a/es-LA/images/person.png b/es-LA/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/es-LA/images/person.png differ diff --git a/es-LA/images/player.png b/es-LA/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/es-LA/images/player.png differ diff --git a/es-LA/images/showcase.png b/es-LA/images/showcase.png new file mode 100644 index 000000000..b9eb99f9a Binary files /dev/null and b/es-LA/images/showcase.png differ diff --git a/es-LA/images/sign.png b/es-LA/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/es-LA/images/sign.png differ diff --git a/es-LA/images/stage.png b/es-LA/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/es-LA/images/stage.png differ diff --git a/es-LA/images/world-backdrops.png b/es-LA/images/world-backdrops.png new file mode 100644 index 000000000..19e930891 Binary files /dev/null and b/es-LA/images/world-backdrops.png differ diff --git a/es-LA/images/world-bribe.png b/es-LA/images/world-bribe.png new file mode 100644 index 000000000..ba2f8752e Binary files /dev/null and b/es-LA/images/world-bribe.png differ diff --git a/es-LA/images/world-door.png b/es-LA/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/es-LA/images/world-door.png differ diff --git a/es-LA/images/world-enemy2.png b/es-LA/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/es-LA/images/world-enemy2.png differ diff --git a/es-LA/images/world-key.png b/es-LA/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/es-LA/images/world-key.png differ diff --git a/es-LA/images/world-person-test.png b/es-LA/images/world-person-test.png new file mode 100644 index 000000000..23d46e1a0 Binary files /dev/null and b/es-LA/images/world-person-test.png differ diff --git a/es-LA/images/world-room-test.png b/es-LA/images/world-room-test.png new file mode 100644 index 000000000..9e3e3aaf1 Binary files /dev/null and b/es-LA/images/world-room-test.png differ diff --git a/es-LA/images/world-room.png b/es-LA/images/world-room.png new file mode 100644 index 000000000..c1476abe3 Binary files /dev/null and b/es-LA/images/world-room.png differ diff --git a/es-LA/images/world-sign-test.png b/es-LA/images/world-sign-test.png new file mode 100644 index 000000000..577df0ceb Binary files /dev/null and b/es-LA/images/world-sign-test.png differ diff --git a/es-LA/images/world-sign-test2.png b/es-LA/images/world-sign-test2.png new file mode 100644 index 000000000..acf3318ae Binary files /dev/null and b/es-LA/images/world-sign-test2.png differ diff --git a/es-LA/images/world-sign.png b/es-LA/images/world-sign.png new file mode 100644 index 000000000..2afb4ea07 Binary files /dev/null and b/es-LA/images/world-sign.png differ diff --git a/es-LA/images/world-starter.png b/es-LA/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/es-LA/images/world-starter.png differ diff --git a/es-LA/images/world-treasure.png b/es-LA/images/world-treasure.png new file mode 100644 index 000000000..fdda5596a Binary files /dev/null and b/es-LA/images/world-treasure.png differ diff --git a/es-LA/images/world-up.png b/es-LA/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/es-LA/images/world-up.png differ diff --git a/es-LA/images/world-walls-test.png b/es-LA/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/es-LA/images/world-walls-test.png differ diff --git a/es-LA/images/world-walls.png b/es-LA/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/es-LA/images/world-walls.png differ diff --git a/es-LA/meta.yml b/es-LA/meta.yml new file mode 100644 index 000000000..9ce00d297 --- /dev/null +++ b/es-LA/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Crea tu propio mundo +description: Aprende a crear tu propio juego de aventura de mundo abierto +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introducción + - + title: Mueve el objeto jugador + - + title: Paredes sólidas + completion: + - engaged + - + title: Muévete por tu mundo + - + title: 'Desafío: volver a la habitación anterior' + challenge: true + - + title: Señales + - + title: 'Desafío: ¡Un tesoro!' + challenge: true + - + title: Personas + - + title: 'Desafío: Enemigos' + challenge: true + - + title: Recoger monedas + - + title: Puertas y llaves + completion: + - internal + - + title: 'Desafío: Amplía tu mundo' + challenge: true + completion: + - external diff --git a/es-LA/resources/CreateYourOwnWorldResources.sb3 b/es-LA/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..8746eae69 Binary files /dev/null and b/es-LA/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/es-LA/resources/chest.svg b/es-LA/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/es-LA/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/es-LA/resources/coin.svg b/es-LA/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/es-LA/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/es-LA/resources/door-blue.png b/es-LA/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/es-LA/resources/door-blue.png differ diff --git a/es-LA/resources/enemy.png b/es-LA/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/es-LA/resources/enemy.png differ diff --git a/es-LA/resources/key.svg b/es-LA/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/es-LA/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/es-LA/resources/person.png b/es-LA/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/es-LA/resources/person.png differ diff --git a/es-LA/resources/player.png b/es-LA/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/es-LA/resources/player.png differ diff --git a/es-LA/resources/room1.png b/es-LA/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/es-LA/resources/room1.png differ diff --git a/es-LA/resources/room2.png b/es-LA/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/es-LA/resources/room2.png differ diff --git a/es-LA/resources/room3.png b/es-LA/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/es-LA/resources/room3.png differ diff --git a/es-LA/resources/sign.svg b/es-LA/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/es-LA/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/es-LA/scratch-translatable.txt b/es-LA/scratch-translatable.txt new file mode 100644 index 000000000..e22acac84 --- /dev/null +++ b/es-LA/scratch-translatable.txt @@ -0,0 +1,13 @@ +habitación + +jugador + +¡Bienvenido! ¿Puedes llegar al tesoro? + +¿Sabías que puedes pasar por puertas naranjas y amarillas? + +monedas + +llave azul + +inventario diff --git a/es-LA/solutions/CreateYourOwnWorld.sb3 b/es-LA/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..fdbdcf3c2 Binary files /dev/null and b/es-LA/solutions/CreateYourOwnWorld.sb3 differ diff --git a/es-LA/step_1.md b/es-LA/step_1.md new file mode 100644 index 000000000..2be58ebf6 --- /dev/null +++ b/es-LA/step_1.md @@ -0,0 +1,67 @@ +\--- no imprimir \--- + +Esta es la versión de **Scratch 3** del proyecto. También hay una [versión del proyecto en Scratch 2](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no imprimir \--- + +## Introducción + +En este proyecto, aprenderás cómo crear tu propio juego de aventuras con múltiples niveles para explorar. + +### Lo que harás + +\--- no imprimir \--- + +Haz clic en la bandera verde para empezar. Utiliza las teclas de flecha para mover a tu personaje por el mundo. + +
+ + +
+ +\--- no imprimir \--- + +\--- solo impresión \--- + +Utiliza los cursores, teclas de flechas, para mover a tu personaje por el mundo. ![showcase.png](images/showcase.png) + +\--- /solo impresión \--- + +## \--- collapse \--- + +## título: Lo que necesitará + +### Hardware + +- Una computadora capáz de hacer funcionar el Scratch 3 + +### Software + +- Scratch 3 (ya sea [online](https://rpf.io/scratchon){:target="_blank"} u [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Descargas + +Puedes encontrar todo lo necesario para completar este proyecto en [ rpf.io/p/en/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Lo que aprenderás + +- Usar la selección condicional para reaccionar a las pulsaciones de teclas +- Usar variables para almacenar el estado del juego +- Usar selección condicional basada en el valor de una variable +- Usar listas para almacenar datos + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Información adicional para educadores + +Si necesitas imprimir este proyecto, usa la [versión para imprimir](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Puedes encontrar el [ proyecto completo aquí ](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/es-LA/step_10.md b/es-LA/step_10.md new file mode 100644 index 000000000..7ae2ba3ee --- /dev/null +++ b/es-LA/step_10.md @@ -0,0 +1,71 @@ +## Recoger monedas + +Tu objeto `jugador ` deberá ser capaz de recoger monedas a medida que se mueve por el mundo. + +\--- task \--- + +Añade una nueva variable a tu proyecto y llámala `monedas`{:class="block3variables"}. + +\--- función \--- + +\--- task \--- + +Haz clic derecho en el objeto `moneda` y elige **mostrar**. + +![captura de pantalla](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Añade código al objeto `moneda` de manera que solamente aparezca en la habitación 1. + +![captura de pantalla](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Agrega código al objeto `moneda ` para que ` desaparezca ` {: class = "block3looks"} y se sume` 1 ` {: class = "block3variables"} a la variable` monedas ` {: class = "block3variables"} cada vez que el objeto` jugador ` toque el objeto ` moneda` para 'recogerlo'. + +![moneda](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +El código `detener otros programas en el objeto`{:class="block3control"} es necesario para que el objeto `moneda` deje de mostrarse en la habitación 1 una vez que haya sido recogido. + +\--- /task \--- + +\--- task \--- + +Ahora agrega código al escenario para establecer tu variable `monedas` {:class="block3variables"} a `0` {:class="block3variables"} al comienzo del juego. + +![escenario](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Prueba tu juego. Recolectar una moneda debe cambiar tu puntuación de `monedas` a `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/es-LA/step_11.md b/es-LA/step_11.md new file mode 100644 index 000000000..a00953558 --- /dev/null +++ b/es-LA/step_11.md @@ -0,0 +1,104 @@ +## Puertas y llaves + +Ahora vas a añadir código para que algunas de las puertas del mundo de tu juego estén bloqueadas, y el jugador debe encontrar la llave para abrirlas y llegar a la habitación siguiente. + +\--- task \--- + +Cambia al objeto `llave`. Haz clic en `mostrar`{:class="blocklooks"} en el menú Scripts para que el objeto aparezca en el Escenario. + +\--- /task \--- + +\--- task \--- + +Edita el disfraz del objeto `llave` para que sea de color azul. + +\--- /task \--- + +\--- task \--- + +¡Cambia al fondo de escenario a la habitación 3 y coloca el objeto `llave` en un lugar que sea difícil de alcanzar! + +![captura de pantalla](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Añade código al objeto `moneda` de manera que solamente aparezca en la habitación 3. + +\--- función \--- + +\--- task \--- + +Crea una nueva lista llamada `inventario`{:class="block3variables"} para almacenar los elementos que el objeto `jugador` recolecta. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +El código que necesitas agregar para recoger la llave es muy similar al código para recoger monedas. La diferencia es que se añade la llave al `inventario`{:class="block3variables"}. + +![llave](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Agrega código a tu escenario para vaciar tu inventario al comienzo del juego. + +```blocks3 +delete all of [inventario v] +``` + +\--- /task \--- + +\--- task \--- + +Prueba tu juego para comprobar si puedes recoger el objeto `llave` y añadirlo a tu inventario. + +\--- /task \--- + +\--- task \--- + +Ahora agrega la puerta cerrada. Seleccione el objeto ` puerta azul ` y haz clic en ` mostrar ` {: class = "blocklooks} en el menú Scripts, y luego coloca el objeto en el espacio entre las dos paredes. + +![captura de pantalla](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Añade código al objeto `puerta azul` de manera que solamente aparezca en la habitación 3. + +\--- /task \--- + +\--- task \--- + +Añade código al objeto `puerta azul` para que, cuando la llave esté en el `inventario`{:class="block3variables"}, el objeto se `esconda`{:class="block3looks"} para permitir que pase el objeto `jugador`. + +![puerta](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +¡Prueba tu juego y comprueba si puedes recoger la llave azul para abrir la puerta! + +\--- /task \--- \ No newline at end of file diff --git a/es-LA/step_12.md b/es-LA/step_12.md new file mode 100644 index 000000000..fafe6983e --- /dev/null +++ b/es-LA/step_12.md @@ -0,0 +1,28 @@ +## Desafío: Amplía tu mundo + +¡Ahora puedes seguir creando tu propio mundo! Aquí tienes algunas sugerencias: + ++ Añade más monedas a tu juego en diferentes habitaciones. ¿Puedes dejar que algunas monedas estén vigiladas por enemigos? ++ Cambia los fondos de tu juego ++ Añade sonido y música a tu juego ++ Añade más personajes, enemigos y señales ++ Añade puertas rojas y amarillas, y llaves especiales para abrirlas ++ Añade más habitaciones a tu mundo ++ Añade otros objetos útiles a tu juego + + + Usa monedas para obtener información de otras personas: + +![captura de pantalla](images/world-bribe.png) + ++ Incluso podrías añadir puertas en las paredes norte y sur de la habitación 1, de modo que el jugador pueda moverse entre habitaciones en las cuatro direcciones. Por ejemplo, tu juego puede tener nueve habitaciones en una cuadrícula de 3 × 3. Entonces podrías sumar `3` al número de habitación para moverte al nivel inferior. + +![captura de pantalla](images/north-south-rooms.png) + +![captura de pantalla](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/es-LA/step_13.md b/es-LA/step_13.md new file mode 100644 index 000000000..3329d9e73 --- /dev/null +++ b/es-LA/step_13.md @@ -0,0 +1,21 @@ +## ¿Qué sigue? + +¡Intenta crear otro juego trabajando con el proyecto [ GATOS! ](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Haz clic y arrastra el puntero para dibujar una línea con el lápiz. Tu objetivo es evitar que los gatos caigan en los agujeros creando un camino seguro hacia la salida. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Gatos terminados](images/cats-finished.png) + +\--- /print-only \--- + +Si quieres hacer un juego usando Python en lugar de Scratch, prueba el proyecto [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/es-LA/step_2.md b/es-LA/step_2.md new file mode 100644 index 000000000..1798d3508 --- /dev/null +++ b/es-LA/step_2.md @@ -0,0 +1,132 @@ +## Mueve el objeto jugador + +Empieza creando un objeto `jugador` que se pueda mover por tu mundo. + +\--- función \--- + +Abre el proyecto de inicio de Scratch "Crea tu propio mundo". + +**En línea:** abre el proyecto de inicio en [scratch.mit.edu/projects/414615338](https://scratch.mit.edu/projects/414615338){:target="_blank"}. + +Si tiene una cuenta de Scratch, puede hacer una copia haciendo clic en ** Remix **. + +**Sin conexión:** descarga el proyecto de inicio desde [rpf.io/p/es-LA/create-your-own-world-go](https://rpf.io/p/es-LA/create-your-own-world-go) y luego ábrelo con el editor de Scratch sin conexión. Si necesitas descargar e instalar el editor offline de Scratch, puedes encontrarlo en [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![captura de pantalla](images/world-starter.png) + +\--- / tarea \--- + +Al presionar las teclas de flecha se moverá al objeto `jugador`. Cuando se presiona la flecha hacia arriba, el objeto `jugador` debe moverse hacia arriba en el escenario. + +\--- tarea \--- + +Añade este código al objeto `jugador`: + +![jugador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- / tarea \--- + +\--- tarea \--- + +Haz clic en la bandera y mantén presionada la flecha hacia arriba. ¿El objeto `jugador` se mueve hacia arriba? + +![captura de pantalla](images/world-up.png) + +\--- /task \--- + +\--- tarea \--- + +Para mover el `jugador` hacia la izquierda tienes que añadir otro bloque `si`{:class="block3control"} con un código similar: + +![jugador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- / tarea \--- + +\--- tarea \--- + +Añade más código a tu objeto `jugador` para que pueda moverse también hacia abajo y hacia la derecha. Usa el código que ya tienes como ayuda. + +\--- hints \--- + +\--- hint \--- + +Para moverse hacia arriba, apunta el objeto `jugador` en la dirección `0` grados. ¿Qué tienes que hacer para mover el objeto hacia abajo? + +Para moverse hacia la izquierda, apunta el objeto jugador en la dirección `90` grados. ¿Qué tienes que hacer para mover el objeto hacia la derecha? + +\--- /hint \--- + +\--- hint \--- + +Necesitas cambiar estos dos bloques: + +![jugador](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplica el código que hace que el objeto` jugador ` se mueva hacia arriba y cambia estos dos bloques para que el objeto se mueva hacia abajo. Duplica el código nuevamente y cámbialo para que el objeto se mueva hacia la derecha. + +\--- /hint \--- + +\--- hint \--- + +Así es como debería verse tu código: + +![jugador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/es-LA/step_3.md b/es-LA/step_3.md new file mode 100644 index 000000000..ea71f18a7 --- /dev/null +++ b/es-LA/step_3.md @@ -0,0 +1,48 @@ +## Paredes sólidas + +\--- task \--- + +Prueba de nuevo tu objeto `jugador`. ¿Ves que puede atravesar las paredes de color gris claro? + +![captura de pantalla](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Para arreglar esto, tendrás que hacer que tu `jugador` retroceda si toca una pared de color gris claro. Este es el código que necesitas añadir dentro de tu bloque `para siempre`{:class="block3control"} debajo de los bloques de dirección: + +![jugador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- función \--- + +\--- task \--- + +Intenta hacer que el objeto `jugador` se mueva a través de una pared. Si tu nuevo código funciona, esto no debería ser posible. + +![captura de pantalla](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/es-LA/step_4.md b/es-LA/step_4.md new file mode 100644 index 000000000..3092d1021 --- /dev/null +++ b/es-LA/step_4.md @@ -0,0 +1,141 @@ +## Muévete por tu mundo + +El objeto `jugador` debe ser capaz de entrar en otras habitaciones por las puertas. + +Tu proyecto contiene fondos para otras habitaciones: + +![captura de pantalla](images/world-backdrops.png) + +\--- task \--- + +Crea una nueva variable "para todos los objetos" y llámala `habitación`{:class="block3variables"} para poder ver en que habitación se encuentra el `jugador`. + +[[[generic-scratch3-add-variable]]] + +![captura de pantalla](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Cuando el objeto `jugador` toca la puerta naranja en la primera habitación, se debe mostrar el fondo siguiente y el objeto `jugador` tiene que volver al lado izquierdo del escenario. Añade este código dentro del bucle `por siempre`{:class="block3control"} del `jugador`: + +![jugador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Cada vez que el juego empieza, la sala, la posición del personaje y el fondo necesitan ser reiniciados. + +Añade código al **principio** del código del objeto `jugador` encima del bucle `por siempre`{:class="block3control"} para asegurarte que todo se restablece cuando se hace clic en la bandera: + +\--- hints \--- + +\--- hint \--- + +Cuando el juego inicia: + ++ El valor de `habitación`{:class="block3variables"} debe establecerse en `1`{:class="block3variables"} ++ El valor de `telón de fondo`{:class="block3looks"} debe establecerse en `habitación1`{:class="block3looks"} ++ La posición del objeto `jugador` debe establecerse en `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Aquí están los bloques adicionales que necesitas: + +![jugador](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Así es como debería verse tu código terminado: + +![jugador](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Haz clic en la bandera y luego mueve tu objeto `jugador` hasta que toque la puerta naranja. ¿Tu objeto se mueve a la pantalla siguiente? ¿La variable `Habitación`{:class="block3variables"} cambia a `2`? + +![captura de pantalla](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/es-LA/step_5.md b/es-LA/step_5.md new file mode 100644 index 000000000..62ed15548 --- /dev/null +++ b/es-LA/step_5.md @@ -0,0 +1,3 @@ +## Desafío: volver a la habitación anterior + +¿Puedes hacer que tu objeto `jugador` se mueva a la habitación anterior cuando toque una puerta amarilla? El código que necesitas para esto es muy similar al código que ya has añadido para pasar a la habitación siguiente. \ No newline at end of file diff --git a/es-LA/step_6.md b/es-LA/step_6.md new file mode 100644 index 000000000..0e5972c56 --- /dev/null +++ b/es-LA/step_6.md @@ -0,0 +1,108 @@ +## Señales + +Ahora añade señales a tu mundo para guiar a los jugadores en su viaje. + +Tu proyecto incluye un objeto `seña de bienenidal`: + +![captura de pantalla](images/world-sign.png) + +\--- task \--- + +El objeto `señal de bienvenida` solo debe ser visible en la sala 1, así que añade un poco de código al objeto para asegurarte de que esto ocurra: + +\--- hints \--- + +\--- hint \--- + +`Cuando se hace clic en la bandera `{:class="block3events"}, en un bucle `para siempre`{:class="block3control"}, marca `si`{:class="block3control"} la `habitación es 1`{:class="block3variables"} y en ese caso `muestra`{:class="block3looks"} el objeto` señal de bienvenida `, `en otro caso`{:class="block3control"} `ocultar`{:class="block3looks"} el objeto. + +\--- /hint \--- + +\--- hint \--- + +Aquí están los bloques que necesitas: + +![señal](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Aquí está el código completo: + +![señal](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Prueba el código de tu objeto `señal de bienvenida` moviéndote entre habitaciones. Tu señal solo debe ser visible en la habitación 1. + +![captura de pantalla](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +¡Una señal no es muy útil si no dice nada! Añade un poco más de código para mostrar un mensaje si el objeto `señal` es tocado por el objeto `jugador`: + +![señal](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Prueba tu objeto `señal de bienvenida` de nuevo. Ahora deberías ver un mensaje cuando el objeto `jugador` toca el objeto `señal`. + +![captura de pantalla](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/es-LA/step_7.md b/es-LA/step_7.md new file mode 100644 index 000000000..9b1fadf92 --- /dev/null +++ b/es-LA/step_7.md @@ -0,0 +1,7 @@ +## Desafío: ¡Un tesoro! + +¿Puedes añadir un tesoro para que el jugador lo encuentre? + +Haz que el objeto `cofre del tesoro` solo aparezca en la habitación 3, y haz que diga '¡Bien hecho!' cuando lo toque el objeto `jugador`. + +![captura de pantalla](images/world-treasure.png) \ No newline at end of file diff --git a/es-LA/step_8.md b/es-LA/step_8.md new file mode 100644 index 000000000..98d03137c --- /dev/null +++ b/es-LA/step_8.md @@ -0,0 +1,65 @@ +## Personas + +Añade otras personas a tu mundo con las que tu objeto `jugador` pueda interactuar. + +\--- task \--- + +Cambia al objeto `persona`. + +![Objeto persona](images/person.png) + +\--- /task \--- + +\--- task \--- + +Añade un poco de código al objeto `persona` para que la persona hable con el objeto `jugador`. Este código es muy similar al que has añadido a tu objeto `señal`: + +![persona](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- función \--- + +\--- task \--- + +Permite que tu objeto `persona` se mueva añadiendo estos dos bloques en la sección `si no`{:class="block3control"} de tu código: + +![persona](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Ahora, tu objeto `persona` se moverá, pero se parará para hablar con el objeto `jugador`. + +![captura de pantalla](images/world-person-test.png) + +\--- task \--- + +Agrega código a tu nuevo objeto `persona` para que el objeto solo aparezca en la habitación 1. El código que necesitas es exactamente el mismo que el código que hace el objeto `señal` solo sea visible en la sala 1. + +Asegúrate de probar tu nuevo código. + +\--- /task \--- \ No newline at end of file diff --git a/es-LA/step_9.md b/es-LA/step_9.md new file mode 100644 index 000000000..5b1d12c6e --- /dev/null +++ b/es-LA/step_9.md @@ -0,0 +1,39 @@ +## Desafío: añadir un enemigo + +Si quieres, también puedes añadir enemigos patrullando a tu juego. Si el objeto `jugador` toca un enemigo, el juego termina. + ++ Tu juego ya contiene un objeto `enemigo`. Añade código al objeto `enemigo` de manera que solamente aparezca en la habitación 2. + ++ Añade código para mover el objeto `enemigo` y para terminar el juego si el objeto `enemigo` toca al objeto `jugador`. Es más fácil hacer esto en bloques de código separados. El código de tu objeto `enemigo` debería quedar así: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Prueba tu juego para asegurarte de que: + + El objeto `enemigo` sólo debe ser visible en la habitación 2 + + El objeto` enemigo ` patrulla la habitación + + La partida termina si el objeto `jugador` toca el objeto `enemigo` + +¿Puedes crear otro objeto `enemigo` en la habitación 3 que patrulle arriba y abajo a través del hueco en la pared? + +![captura de pantalla](images/world-enemy2.png) \ No newline at end of file diff --git a/fi-FI/images/banner.png b/fi-FI/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/fi-FI/images/banner.png differ diff --git a/fi-FI/images/cats-finished.png b/fi-FI/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/fi-FI/images/cats-finished.png differ diff --git a/fi-FI/images/coin.png b/fi-FI/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/fi-FI/images/coin.png differ diff --git a/fi-FI/images/door.png b/fi-FI/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/fi-FI/images/door.png differ diff --git a/fi-FI/images/key.png b/fi-FI/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/fi-FI/images/key.png differ diff --git a/fi-FI/images/north-south-rooms.png b/fi-FI/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/fi-FI/images/north-south-rooms.png differ diff --git a/fi-FI/images/number-grid.png b/fi-FI/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/fi-FI/images/number-grid.png differ diff --git a/fi-FI/images/person.png b/fi-FI/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/fi-FI/images/person.png differ diff --git a/fi-FI/images/player.png b/fi-FI/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/fi-FI/images/player.png differ diff --git a/fi-FI/images/showcase.png b/fi-FI/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/fi-FI/images/showcase.png differ diff --git a/fi-FI/images/sign.png b/fi-FI/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/fi-FI/images/sign.png differ diff --git a/fi-FI/images/stage.png b/fi-FI/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/fi-FI/images/stage.png differ diff --git a/fi-FI/images/world-backdrops.png b/fi-FI/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/fi-FI/images/world-backdrops.png differ diff --git a/fi-FI/images/world-bribe.png b/fi-FI/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/fi-FI/images/world-bribe.png differ diff --git a/fi-FI/images/world-door.png b/fi-FI/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/fi-FI/images/world-door.png differ diff --git a/fi-FI/images/world-enemy2.png b/fi-FI/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/fi-FI/images/world-enemy2.png differ diff --git a/fi-FI/images/world-key.png b/fi-FI/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/fi-FI/images/world-key.png differ diff --git a/fi-FI/images/world-person-test.png b/fi-FI/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/fi-FI/images/world-person-test.png differ diff --git a/fi-FI/images/world-room-test.png b/fi-FI/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/fi-FI/images/world-room-test.png differ diff --git a/fi-FI/images/world-room.png b/fi-FI/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/fi-FI/images/world-room.png differ diff --git a/fi-FI/images/world-sign-test.png b/fi-FI/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/fi-FI/images/world-sign-test.png differ diff --git a/fi-FI/images/world-sign-test2.png b/fi-FI/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/fi-FI/images/world-sign-test2.png differ diff --git a/fi-FI/images/world-sign.png b/fi-FI/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/fi-FI/images/world-sign.png differ diff --git a/fi-FI/images/world-starter.png b/fi-FI/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/fi-FI/images/world-starter.png differ diff --git a/fi-FI/images/world-treasure.png b/fi-FI/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/fi-FI/images/world-treasure.png differ diff --git a/fi-FI/images/world-up.png b/fi-FI/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/fi-FI/images/world-up.png differ diff --git a/fi-FI/images/world-walls-test.png b/fi-FI/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/fi-FI/images/world-walls-test.png differ diff --git a/fi-FI/images/world-walls.png b/fi-FI/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/fi-FI/images/world-walls.png differ diff --git a/fi-FI/meta.yml b/fi-FI/meta.yml new file mode 100644 index 000000000..6ae24d1be --- /dev/null +++ b/fi-FI/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Johdanto + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/fi-FI/resources/CreateYourOwnWorldResources.sb3 b/fi-FI/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/fi-FI/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/fi-FI/resources/chest.svg b/fi-FI/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/fi-FI/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fi-FI/resources/coin.svg b/fi-FI/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/fi-FI/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fi-FI/resources/door-blue.png b/fi-FI/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/fi-FI/resources/door-blue.png differ diff --git a/fi-FI/resources/enemy.png b/fi-FI/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/fi-FI/resources/enemy.png differ diff --git a/fi-FI/resources/key.svg b/fi-FI/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/fi-FI/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/fi-FI/resources/person.png b/fi-FI/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/fi-FI/resources/person.png differ diff --git a/fi-FI/resources/player.png b/fi-FI/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/fi-FI/resources/player.png differ diff --git a/fi-FI/resources/room1.png b/fi-FI/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/fi-FI/resources/room1.png differ diff --git a/fi-FI/resources/room2.png b/fi-FI/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/fi-FI/resources/room2.png differ diff --git a/fi-FI/resources/room3.png b/fi-FI/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/fi-FI/resources/room3.png differ diff --git a/fi-FI/resources/sign.svg b/fi-FI/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/fi-FI/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fi-FI/scratch-translatable.txt b/fi-FI/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/fi-FI/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/fi-FI/solutions/CreateYourOwnWorld.sb3 b/fi-FI/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/fi-FI/solutions/CreateYourOwnWorld.sb3 differ diff --git a/fi-FI/step_1.md b/fi-FI/step_1.md new file mode 100644 index 000000000..74cf0c669 --- /dev/null +++ b/fi-FI/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Esittely + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Mitä tulet tekemään + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Mitä tarvitset + +### Laitteisto + +- Tietokone, joka pystyy käyttämään Scratch 3 -ohjelmaa + +### Ohjelmisto + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Ladattavat tiedostot + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Mitä tulet oppimaan + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Lisätietoja kouluttajille + +If you need to print this project, please use the [printer-friendly version](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Löydät [valmiin projektin täältä](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/fi-FI/step_10.md b/fi-FI/step_10.md new file mode 100644 index 000000000..0fd5d049f --- /dev/null +++ b/fi-FI/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![kuvakaappaus](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![ruutukaappaus](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![esiintymislava](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/fi-FI/step_11.md b/fi-FI/step_11.md new file mode 100644 index 000000000..b328f6cca --- /dev/null +++ b/fi-FI/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![ruutukaappaus](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![ruutukaappaus](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/fi-FI/step_12.md b/fi-FI/step_12.md new file mode 100644 index 000000000..90ca6a41c --- /dev/null +++ b/fi-FI/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![ruutukaappaus](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![ruutukaappaus](images/north-south-rooms.png) + +![ruutukaappaus](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/fi-FI/step_13.md b/fi-FI/step_13.md new file mode 100644 index 000000000..1c84fdb58 --- /dev/null +++ b/fi-FI/step_13.md @@ -0,0 +1,21 @@ +## Mitä seuraavaksi? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/fi-FI/step_2.md b/fi-FI/step_2.md new file mode 100644 index 000000000..40f955356 --- /dev/null +++ b/fi-FI/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Jos sinulla on Scratch-tili, voit tehdä kopion klikkaamalla **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. If you need to download and install the Scratch offline editor, you can find it at [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![kuvakaappaus](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![ruutukaappaus](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/fi-FI/step_3.md b/fi-FI/step_3.md new file mode 100644 index 000000000..9e182786a --- /dev/null +++ b/fi-FI/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![ruutukaappaus](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![ruutukaappaus](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/fi-FI/step_4.md b/fi-FI/step_4.md new file mode 100644 index 000000000..d44588325 --- /dev/null +++ b/fi-FI/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![ruutukaappaus](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![kuvakaappaus](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![ruutukaappaus](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/fi-FI/step_5.md b/fi-FI/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/fi-FI/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/fi-FI/step_6.md b/fi-FI/step_6.md new file mode 100644 index 000000000..015917f64 --- /dev/null +++ b/fi-FI/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![ruutukaappaus](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![ruutukaappaus](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![ruutukaappaus](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/fi-FI/step_7.md b/fi-FI/step_7.md new file mode 100644 index 000000000..92fbccd65 --- /dev/null +++ b/fi-FI/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![ruutukaappaus](images/world-treasure.png) \ No newline at end of file diff --git a/fi-FI/step_8.md b/fi-FI/step_8.md new file mode 100644 index 000000000..31e24d718 --- /dev/null +++ b/fi-FI/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![ruutukaappaus](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/fi-FI/step_9.md b/fi-FI/step_9.md new file mode 100644 index 000000000..5468feb3d --- /dev/null +++ b/fi-FI/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![ruutukaappaus](images/world-enemy2.png) \ No newline at end of file diff --git a/fr-CA/images/banner.png b/fr-CA/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/fr-CA/images/banner.png differ diff --git a/fr-CA/images/cats-finished.png b/fr-CA/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/fr-CA/images/cats-finished.png differ diff --git a/fr-CA/images/coin.png b/fr-CA/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/fr-CA/images/coin.png differ diff --git a/fr-CA/images/coin.svg b/fr-CA/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/fr-CA/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-CA/images/create-variable.png b/fr-CA/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/fr-CA/images/create-variable.png differ diff --git a/fr-CA/images/create-your-own-world.png b/fr-CA/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/fr-CA/images/create-your-own-world.png differ diff --git a/fr-CA/images/door.png b/fr-CA/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/fr-CA/images/door.png differ diff --git a/fr-CA/images/enemy.png b/fr-CA/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/fr-CA/images/enemy.png differ diff --git a/fr-CA/images/finished-move-down-right.png b/fr-CA/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/fr-CA/images/finished-move-down-right.png differ diff --git a/fr-CA/images/key.png b/fr-CA/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/fr-CA/images/key.png differ diff --git a/fr-CA/images/key.svg b/fr-CA/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/fr-CA/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fr-CA/images/north-south-rooms.png b/fr-CA/images/north-south-rooms.png new file mode 100644 index 000000000..19012230a Binary files /dev/null and b/fr-CA/images/north-south-rooms.png differ diff --git a/fr-CA/images/number-grid.png b/fr-CA/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/fr-CA/images/number-grid.png differ diff --git a/fr-CA/images/person-sprite.png b/fr-CA/images/person-sprite.png new file mode 100644 index 000000000..8936b2e71 Binary files /dev/null and b/fr-CA/images/person-sprite.png differ diff --git a/fr-CA/images/person.png b/fr-CA/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/fr-CA/images/person.png differ diff --git a/fr-CA/images/player.png b/fr-CA/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/fr-CA/images/player.png differ diff --git a/fr-CA/images/showcase.png b/fr-CA/images/showcase.png new file mode 100644 index 000000000..1f2e1cb70 Binary files /dev/null and b/fr-CA/images/showcase.png differ diff --git a/fr-CA/images/sign.png b/fr-CA/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/fr-CA/images/sign.png differ diff --git a/fr-CA/images/sign.svg b/fr-CA/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/fr-CA/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-CA/images/stage.png b/fr-CA/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/fr-CA/images/stage.png differ diff --git a/fr-CA/images/variable-show.png b/fr-CA/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/fr-CA/images/variable-show.png differ diff --git a/fr-CA/images/world-backdrops.png b/fr-CA/images/world-backdrops.png new file mode 100644 index 000000000..3c0a2d680 Binary files /dev/null and b/fr-CA/images/world-backdrops.png differ diff --git a/fr-CA/images/world-bribe.png b/fr-CA/images/world-bribe.png new file mode 100644 index 000000000..6f18308d4 Binary files /dev/null and b/fr-CA/images/world-bribe.png differ diff --git a/fr-CA/images/world-coins.png b/fr-CA/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/fr-CA/images/world-coins.png differ diff --git a/fr-CA/images/world-door.png b/fr-CA/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/fr-CA/images/world-door.png differ diff --git a/fr-CA/images/world-enemy-code.png b/fr-CA/images/world-enemy-code.png new file mode 100644 index 000000000..ce74f2c17 Binary files /dev/null and b/fr-CA/images/world-enemy-code.png differ diff --git a/fr-CA/images/world-enemy2.png b/fr-CA/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/fr-CA/images/world-enemy2.png differ diff --git a/fr-CA/images/world-final.png b/fr-CA/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/fr-CA/images/world-final.png differ diff --git a/fr-CA/images/world-key.png b/fr-CA/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/fr-CA/images/world-key.png differ diff --git a/fr-CA/images/world-north-south.png b/fr-CA/images/world-north-south.png new file mode 100644 index 000000000..972ef30d6 Binary files /dev/null and b/fr-CA/images/world-north-south.png differ diff --git a/fr-CA/images/world-person-test.png b/fr-CA/images/world-person-test.png new file mode 100644 index 000000000..fafc9cd71 Binary files /dev/null and b/fr-CA/images/world-person-test.png differ diff --git a/fr-CA/images/world-person.png b/fr-CA/images/world-person.png new file mode 100644 index 000000000..d10b2feba Binary files /dev/null and b/fr-CA/images/world-person.png differ diff --git a/fr-CA/images/world-player.png b/fr-CA/images/world-player.png new file mode 100644 index 000000000..96fc9768f Binary files /dev/null and b/fr-CA/images/world-player.png differ diff --git a/fr-CA/images/world-resources.png b/fr-CA/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/fr-CA/images/world-resources.png differ diff --git a/fr-CA/images/world-room-test.png b/fr-CA/images/world-room-test.png new file mode 100644 index 000000000..3f07a08cb Binary files /dev/null and b/fr-CA/images/world-room-test.png differ diff --git a/fr-CA/images/world-room.png b/fr-CA/images/world-room.png new file mode 100644 index 000000000..dc87b4c4a Binary files /dev/null and b/fr-CA/images/world-room.png differ diff --git a/fr-CA/images/world-sign-test-left.png b/fr-CA/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/fr-CA/images/world-sign-test-left.png differ diff --git a/fr-CA/images/world-sign-test-right.png b/fr-CA/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/fr-CA/images/world-sign-test-right.png differ diff --git a/fr-CA/images/world-sign-test.png b/fr-CA/images/world-sign-test.png new file mode 100644 index 000000000..7e7be0d0b Binary files /dev/null and b/fr-CA/images/world-sign-test.png differ diff --git a/fr-CA/images/world-sign-test2.png b/fr-CA/images/world-sign-test2.png new file mode 100644 index 000000000..fc8502ea8 Binary files /dev/null and b/fr-CA/images/world-sign-test2.png differ diff --git a/fr-CA/images/world-sign.png b/fr-CA/images/world-sign.png new file mode 100644 index 000000000..01ed5b3bc Binary files /dev/null and b/fr-CA/images/world-sign.png differ diff --git a/fr-CA/images/world-starter.png b/fr-CA/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/fr-CA/images/world-starter.png differ diff --git a/fr-CA/images/world-treasure.png b/fr-CA/images/world-treasure.png new file mode 100644 index 000000000..afb341773 Binary files /dev/null and b/fr-CA/images/world-treasure.png differ diff --git a/fr-CA/images/world-up.png b/fr-CA/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/fr-CA/images/world-up.png differ diff --git a/fr-CA/images/world-walls-test.png b/fr-CA/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/fr-CA/images/world-walls-test.png differ diff --git a/fr-CA/images/world-walls.png b/fr-CA/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/fr-CA/images/world-walls.png differ diff --git a/fr-CA/meta.yml b/fr-CA/meta.yml new file mode 100644 index 000000000..ce7ea1774 --- /dev/null +++ b/fr-CA/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Crée ton propre monde +description: Crée ton propre monde pour un jeu d'aventure +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introduction + - + title: Déplace le sprite du joueur + - + title: Murs solides + completion: + - engaged + - + title: Déplace-toi dans ton monde + - + title: 'Défi : revenir à la salle précédente' + challenge: true + - + title: Panneaux + - + title: 'Défi : trésor !' + challenge: true + - + title: Personnes + - + title: 'Défi : ennemis' + challenge: true + - + title: Collecter des pièces + - + title: Les portes et les clés + completion: + - internal + - + title: 'Défi : étends ton monde' + challenge: true + completion: + - external diff --git a/fr-CA/resources/CreateYourOwnWorld.sb2 b/fr-CA/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8682d05f8 Binary files /dev/null and b/fr-CA/resources/CreateYourOwnWorld.sb2 differ diff --git a/fr-CA/resources/CreateYourOwnWorldResources.sb2 b/fr-CA/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8a9935e60 Binary files /dev/null and b/fr-CA/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/fr-CA/resources/CreateYourOwnWorldResources.sb3 b/fr-CA/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..8e9859601 Binary files /dev/null and b/fr-CA/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/fr-CA/resources/chest.svg b/fr-CA/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/fr-CA/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-CA/resources/coin.svg b/fr-CA/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/fr-CA/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-CA/resources/door-blue.png b/fr-CA/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/fr-CA/resources/door-blue.png differ diff --git a/fr-CA/resources/enemy.png b/fr-CA/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/fr-CA/resources/enemy.png differ diff --git a/fr-CA/resources/key.svg b/fr-CA/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/fr-CA/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/fr-CA/resources/person.png b/fr-CA/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/fr-CA/resources/person.png differ diff --git a/fr-CA/resources/player.png b/fr-CA/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/fr-CA/resources/player.png differ diff --git a/fr-CA/resources/room1.png b/fr-CA/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/fr-CA/resources/room1.png differ diff --git a/fr-CA/resources/room2.png b/fr-CA/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/fr-CA/resources/room2.png differ diff --git a/fr-CA/resources/room3.png b/fr-CA/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/fr-CA/resources/room3.png differ diff --git a/fr-CA/resources/sign.svg b/fr-CA/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/fr-CA/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-CA/scratch-translatable.txt b/fr-CA/scratch-translatable.txt new file mode 100644 index 000000000..81c8ba317 --- /dev/null +++ b/fr-CA/scratch-translatable.txt @@ -0,0 +1,13 @@ +pièce + +joueur + +Bienvenue ! Pouvez-vous accéder au trésor? + +Saviez-vous que vous pouvez franchir les portes orange et jaune? + +pièces + +clé bleue + +inventaire diff --git a/fr-CA/solutions/CreateYourOwnWorld.sb3 b/fr-CA/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..8e9859601 Binary files /dev/null and b/fr-CA/solutions/CreateYourOwnWorld.sb3 differ diff --git a/fr-CA/step_1.md b/fr-CA/step_1.md new file mode 100644 index 000000000..ab4c1f9ed --- /dev/null +++ b/fr-CA/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Ceci est la version **Scratch 3** du projet. Il existe également une version [Scratch 2 du projet](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introduction + +Dans ce projet, tu apprendras à créer ton propre monde de jeu d’aventure avec plusieurs niveaux à explorer. + +### Ce que vous ferez + +\--- no-print \--- + +Clique sur le drapeau vert pour démarrer. Utilise les flèches pour déplacer ton personnage dans son monde. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Tu utiliseras les touches fléchées pour déplacer ton personnage dans le monde. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Ce que tu auras besoin + +### Matériel informatique + +- Un ordinateur capable d'exécuter Scratch 3 + +### Logiciels + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Téléchargements + +Tu peux trouver tout ce dont tu as besoin pour mener à bien ce projet à l'adresse [rpf.io/p/fr/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Qu’apprendras-tu + +- Utiliser la sélection conditionnelle pour réagir aux pressions sur les touches +- Utiliser des variables pour stocker l'état d'un jeu +- Utiliser la sélection conditionnelle basée sur la valeur d'une variable +- Utiliser des listes pour stocker des données + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Informations supplémentaires pour les éducateurs + +Si vous avez besoin d'imprimer ce projet, merci d'utiliser la [version imprimable](https://projects.raspberrypi.org/en/projects/create-your-own-world/print) {:target="_blank"}. + +Vous pouvez trouver le [projet terminé ici](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/fr-CA/step_10.md b/fr-CA/step_10.md new file mode 100644 index 000000000..12eab9f08 --- /dev/null +++ b/fr-CA/step_10.md @@ -0,0 +1,71 @@ +## Collecter des pièces + +Ton sprite `joueur` devrait pouvoir collecter des pièces lorsqu'il se déplace dans le monde. + +\--- task \--- + +Ajoute une nouvelle variable appelé `pièces` {:class="blockdata"} à ton projet. + +\--- /task \--- + +\--- task \--- + +Fais un clic droit sur le lutin ` pièce` et choisis **montrer** . + +![capture d'écran](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Ajouter du code au lutin `pièce` pour qu'il n'apparaisse que dans la salle 1. + +![capture d'écran](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Ajoute du code à ton sprite `pièce` de façon à ce que le sprite `se cache`{:class="block3looks"} et `1`{:class="block3variables"} soit ajouté à la variable `pièces`{:class="block3variables"} une fois que le sprite `joueur` touche le sprite `pièce` pour le «ramasser». + +![pièces](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +Le code `stop autres scripts dans sprite`{:class="block3control"} est nécessaire pour que le sprite `pièce` ne soit plus affiché dans la salle 1 une fois qu’elle a été collectée. + +\--- /task \--- + +\--- task \--- + +Maintenant, ajoute du code à la scène pour définir ta variable `pièces`{:class="block3variables"} à `0`{:class="block3variables"} au début du jeu. + +![scène](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Testez votre jeu. La collecte d'une pièce devrait changer ton score `pièces` en `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/fr-CA/step_11.md b/fr-CA/step_11.md new file mode 100644 index 000000000..8a94c7cdc --- /dev/null +++ b/fr-CA/step_11.md @@ -0,0 +1,104 @@ +## Portes et clés + +Maintenant tu vas ajouter du code pour que certaines des portes de ton monde de jeu soient verrouillées, et le joueur doit trouver la clé pour les ouvrir et arriver à la pièce suivante. + +\--- task \--- + +Change au lutin `clé`. Clique sur `montrer`{:class="blocklooks"} dans le menu Scripts pour que le sprite apparaisse sur la scène. + +\--- /task \--- + +\--- task \--- + +Modifier le costume du lutin `clé` pour qu’il soit bleu. + +\--- /task \--- + +\--- task \--- + +Change l'arrière plan du scène de la salle 3, et met le lutin `clé` quelque part difficile à atteindre ! + +![capture d'écran](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Ajouter du code au lutin `clé` pour qu'il n'est visible que dans la salle 3. + +\--- /task \--- + +\--- task \--- + +Crée une nouvelle liste appelée `inventaire`{:class="block3variables"} pour stocker les objets que ton sprite `joueur` collecte. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +Le code pour ramasser la clé est très similaire au code pour ramasser des pièces. La différence est que tu ajoutes la clé à `l'inventaire`{:class="block3variables"}. + +![clé](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Ajoute du code sur ta scène pour vider ton inventaire au début de la partie. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Teste ton jeu pour vérifier si tu peux collecter le sprite `clé` et l'ajouter à ton inventaire. + +\--- /task \--- + +\--- task \--- + +Ajoutons maintenant la porte verrouillée. Sélectionne le sprite `porte-bleue` et clique sur `montrer`{:class="blocklooks} dans le menu Scripts, puis positionne le sprite sur l'interstice entre les deux murs. + +![capture d'écran](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Ajouter du code au lutin `porte bleue` pour qu'il n'est visible que dans la salle 3. + +\--- /task \--- + +\--- task \--- + +Ajoute du code au sprite `porte-bleue` de sorte que, lorsque la clé est dans `l'inventaire`{:class="block3variables"}, le sprite `se cache`{:class="block3looks"} pour permettre à ton sprite `joueur` de passer. + +![porte](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Teste ton projet et vois si tu peux récupérer la clé bleue pour ouvrir la porte ! + +\--- /task \--- \ No newline at end of file diff --git a/fr-CA/step_12.md b/fr-CA/step_12.md new file mode 100644 index 000000000..7368b2937 --- /dev/null +++ b/fr-CA/step_12.md @@ -0,0 +1,28 @@ +## Défi : étends ton monde + +Tu peux maintenant continuer à créer ton propre monde ! Voici quelques idées: + ++ Ajoute plus de pièces à ton jeu dans différentes salles. Peux-tu laisser des pièces en gardant les ennemis en patrouille? ++ Change les décors de ton jeu ++ Ajoute du son et de la musique à ton jeu ++ Ajoute plus de personnes, d'ennemis et de panneaux ++ Ajoute des portes rouges et jaunes, et des clés spéciales pour les ouvrir ++ Ajoute plus de salles à ton monde ++ Ajoute d'autres objets utiles à ton jeu + + + Utilise des pièces pour obtenir des informations d'autres personnes : + +![capture d'écran](images/world-bribe.png) + ++ Tu pourrais même ajouter des portes dans les murs nord et sud de la salle 1, pour que le joueur puisse se déplacer d'une salle à l'autre dans les quatre directions. Par exemple, ton jeu peut avoir neuf salles dans une grille 3 × 3. Ensuite, tu peux ajouter `3` au numéro de la salle pour descendre d’un niveau. + +![capture d'écran](images/north-south-rooms.png) + +![capture d'écran](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/fr-CA/step_13.md b/fr-CA/step_13.md new file mode 100644 index 000000000..7f4c4dd75 --- /dev/null +++ b/fr-CA/step_13.md @@ -0,0 +1,21 @@ +## Que faire ensuite? + +Essaye de créer un autre jeu en travaillant sur le projet [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Clique et fait glisser avec la souris pour tracer une ligne avec le crayon. Ton but est d'empêcher les chats de tomber dans des trous en créant un chemin sécurisé vers la sortie. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Chats terminés](images/cats-finished.png) + +\--- /print-only \--- + +Si tu veux créer un jeu en utilisant Python au lieu de Scratch, essaye le projet [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/fr-CA/step_2.md b/fr-CA/step_2.md new file mode 100644 index 000000000..57a1e3288 --- /dev/null +++ b/fr-CA/step_2.md @@ -0,0 +1,132 @@ +## Déplace le sprite du joueur + +Commence par créer un sprite `joueur` qui peut se déplacer dans ton monde. + +\--- task \--- + +Ouvre le projet de démarrage Scratch «Créez ton propre monde». + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Si tu as un compte Scratch, tu peux en créer une copie en cliquant sur **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Si tu dois télécharger et installer l'éditeur hors ligne Scratch, tu peux le trouver à [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![capture d'écran](images/world-starter.png) + +\--- /task \--- + +Appuyer sur les touches de flèches doit déplacer le sprite `joueur`. Lorsque tu appuies sur la flèche vers le haut, le sprite `joueur` doit remonter sur la scène en réponse. + +\--- task \--- + +Ajoute ce code au sprite `joueur` : + +![joueur](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Clique sur le drapeau, puis maintiens la flèche vers le haut. Est-ce que le sprite `joueur` monte vers le haut? + +![capture d'écran](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Pour déplacer le sprite `joueur` vers la gauche, tu dois ajouter un autre bloc `si`{:class="block3control"} avec le code similaire: + +![joueur](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Ajoute plus de code à ton sprite `joueur` pour qu'il puisse se déplacer vers le bas et à droite également. Utilise le code que tu as déjà pour t'aider. + +\--- hints \--- + +\--- hint \--- + +Pour te déplacer vers le haut, tu pointes le sprite `joueur` dans la direction `0` degrés. Que dois-tu faire pour déplacer le sprite vers le bas? + +Pour te déplacer à gauche, pointe le sprite dans la direction `-90` degrés. Que dois-tu faire pour déplacer le sprite correctement? + +\--- /hint \--- + +\--- hint \--- + +Tu dois changer ces deux blocs: + +![joueur](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplique le code qui fait que le sprite `joueur` progresse vers le haut et modifie ces deux blocs pour faire descendre le sprite. Duplique à nouveau le code et modifie-le pour que le sprite se déplace vers la droite. + +\--- /hint \--- + +\--- hint \--- + +Voici à quoi ton code devrait ressembler : + +![joueur](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/fr-CA/step_3.md b/fr-CA/step_3.md new file mode 100644 index 000000000..277c34508 --- /dev/null +++ b/fr-CA/step_3.md @@ -0,0 +1,50 @@ +## Murs solides + +\--- task \--- + +Task \---Teste à nouveau ton sprite `joueur`. Do you see that it can walk through the light grey walls? + +![capture d'écran](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Pour corriger cela, tu dois faire reculer le lutin `joueur` s'il touche un mur gris clair. Voici le code que tu dois ajouter dans ton bloc `répéter indéfiniment`{:class="block3control"} sous les blocs de direction: + +![joueur](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Essaye de faire en sorte que le sprite `joueur` passe à travers un mur. Si ton nouveau code fonctionne, cela ne devrait pas être possible. + +![capture d'écran](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/fr-CA/step_4.md b/fr-CA/step_4.md new file mode 100644 index 000000000..a3e1dd53a --- /dev/null +++ b/fr-CA/step_4.md @@ -0,0 +1,142 @@ +## Déplace-toi dans ton monde + +Le sprite `joueur` doit être capable de marcher à travers les portes dans d'autres salles. + +Ton projet contient des arrières-plans pour des salles supplémentaires : + +![capture d'écran](images/world-backdrops.png) + +\--- task \--- + +Crée une nouvelle variable 'pour toute les sprites' appelées `salle`{:class="block3variables"} pour savoir dans quelle pièce se trouve le sprite `joueur`. + +[[[generic-scratch3-add-variable]]] + +![capture d'écran](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Lorsque le joueur ` ` sprite touche la porte orange dans la première salle, le jeu devrait afficher la toile de fond suivante et le joueur ` ` le sprite doit revenir sur le côté gauche de la scène. Ajoute ce code à l'intérieur du sprite `joueur` la boucle `répéter indéfiniment` {class="block3control"}: + +![joueur](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Chaque fois que le jeu commence, la pièce, la position du personnage et l'arrière-plan doivent être réinitialisés. + +Ajoute du code au **début** de ton code sprite `joueur` au-dessus de la boucle `répéter indéfiniment`{:class="block3control"}, pour tout réinitialiser lorsque le drapeau est cliqué: + +\--- hints \--- + +\--- hint \--- + +Quand le jeu commence: + ++ La valeur de `salle`{:class="block3variables"} doit être définie sur `1`{:class="block3variables"} ++ `L'arrière-plan`{:class="block3looks"} doit être définie sur `salle1`{:class="block3looks"} ++ La position du joueur ` ` l'image-objet doit être définie sur ` x: -200 y: 0 ` {: class = "block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Voici les blocs de code dont tu as besoin : + +![joueur](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Voici à quoi devrait ressembler ton nouveau code : + +![joueur](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Clique sur le drapeau, puis déplace ton sprite `joueur` jusqu'à ce qu'il touche la porte orange. Le sprite passe-t-il à l'écran suivant? La variable `salle`{:class="block3variables"} passe-t-elle à `2`? + +![capture d'écran](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/fr-CA/step_5.md b/fr-CA/step_5.md new file mode 100644 index 000000000..fcd007359 --- /dev/null +++ b/fr-CA/step_5.md @@ -0,0 +1,3 @@ +## Défi : revenir à la salle précédente + +Peux-tu faire que ton sprite `joueur` revienne dans la pièce précédente quand il touche une porte jaune? Le code dont tu as besoin est très similaire au code que tu as déjà ajouté pour déplacer le sprite dans la pièce suivante. \ No newline at end of file diff --git a/fr-CA/step_6.md b/fr-CA/step_6.md new file mode 100644 index 000000000..e5ac5cfb1 --- /dev/null +++ b/fr-CA/step_6.md @@ -0,0 +1,108 @@ +## Panneaux + +Ajoute maintenant des panneaux à ton monde pour guider les joueurs dans leur voyage. + +Ton project inclut un `panneau de bienvenue` sprite : + +![capture d'écran](images/world-sign.png) + +\--- task \--- + +Le sprite `panneau de bienvenue` ne devrait être visible que dans la salle 1, alors ajoute un code au sprite pour s'assurer que cela se passe : + +\--- hints \--- + +\--- hint \--- + +`Lorsque le drapeau est cliqué`{:class="block3events"}, dans une boucle `répéter indéfiniment`{:class="block3control"}, vérifie `si`{:class="block3control"} la `salle est la première`{:class="block3variables"} et dans ce cas, `affiche`{:class="block3looks"} le sprite`panneau de bienvenue`, `sinon`{:class="block3control"} `cache`{:class="block3looks"} le sprite. + +\--- /hint \--- + +\--- hint \--- + +Voici les blocs dont tu auras besoin : + +![panneau](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Voici le code complet: + +![panneau](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Teste le code de ton sprite `panneau de bienvenue` en passant d'une salle à une autre. Le panneau ne devrait être visible que dans la salle 1. + +![capture d'écran](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +Un panneau n'est pas très bon s'il ne dit rien ! Ajoute du code supplémentaire pour afficher un message si le sprite `panneau de bienvenue` touche le sprite `du joueur`: + +![panneau](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Teste à nouveau ton sprite `panneau de bienvenue`. Tu dois maintenant voir un message lorsque le sprite `joueur` touche le sprite `panneau de bienvenue`. + +![capture d'écran](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/fr-CA/step_7.md b/fr-CA/step_7.md new file mode 100644 index 000000000..0d37ecc04 --- /dev/null +++ b/fr-CA/step_7.md @@ -0,0 +1,7 @@ +## Défi : trésor ! + +Peux-tu ajouter des trésors que le joueur doit trouver? + +Fait apparaître le sprite `coffre à trésor` seulement dans la salle 3 et dites à ce sprite de dire "Bien joué!" quand le sprite `joueur` le touche. + +![capture d'écran](images/world-treasure.png) \ No newline at end of file diff --git a/fr-CA/step_8.md b/fr-CA/step_8.md new file mode 100644 index 000000000..9a7016fca --- /dev/null +++ b/fr-CA/step_8.md @@ -0,0 +1,65 @@ +## Personnes + +Ajoute d'autres personnes à ton monde avec lesquelles ton sprite `joueur` peut interagir. + +\--- task \--- + +Change au lutin `personne`. + +![Personne sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Ajoute du code au lutin `personne`, afin que la personne parle au lutin `joueur`. Ce code est très similaire à celui que tu as ajouté à ton sprite `panneau`: + +![personne](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Permet à ton sprite `personne` de se déplacer en ajoutant ces deux blocs à la section `sinon`{:class="block3control"} de ton code: + +![personne](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Ton sprite `personne` va maintenant bouger, et va s'arrêter pour parler au sprite `joueur`. + +![capture d'écran](images/world-person-test.png) + +\--- task \--- + +Ajoute le code à ton nouveau sprite `personne` afin que ce dernier n'apparaisse que dans la salle 1. Le code dont tu as besoin est exactement le même que le code qui rend le sprite `panneau` visible seulement dans la chambre 1. + +Assure-toi de tester ton nouveau code. + +\--- /task \--- \ No newline at end of file diff --git a/fr-CA/step_9.md b/fr-CA/step_9.md new file mode 100644 index 000000000..7af49d886 --- /dev/null +++ b/fr-CA/step_9.md @@ -0,0 +1,39 @@ +## Défi : ajoute un ennemi + +Si tu le souhaites, tu peux également ajouter des ennemis en patrouille à ton jeu. Si le sprite `joueur` touche un ennemi, le jeu se termine. + ++ Ton jeu contient déjà un sprite `ennemi`. Ajoute du code au sprite `ennemi` pour qu'il n'apparaisse que dans la salle 2. + ++ Ajoute du code pour déplacer le sprite `ennemi` et pour terminer le jeu si le sprite `ennemi` touche le sprite `joueur`. C'est plus facile de faire cela dans des blocs de code séparés. Voici à quoi ton code du sprite `ennemi` pourrait ressembler : + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Teste ton nouveau code pour t'assurer que: + + Le sprite `ennemi` visible uniquement dans la salle 2 + + Le sprite `ennemi` patrouille la salle + + Le jeu se termine si le sprite `joueur` touche le sprite `ennemi` + +Peux-tu créer un autre sprite `ennemi` dans la salle 3 qui patrouille de haut en bas à travers la fente dans le mur ? + +![capture d'écran](images/world-enemy2.png) \ No newline at end of file diff --git a/fr-FR/images/banner.png b/fr-FR/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/fr-FR/images/banner.png differ diff --git a/fr-FR/images/cats-finished.png b/fr-FR/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/fr-FR/images/cats-finished.png differ diff --git a/fr-FR/images/coin.png b/fr-FR/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/fr-FR/images/coin.png differ diff --git a/fr-FR/images/coin.svg b/fr-FR/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/fr-FR/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-FR/images/create-variable.png b/fr-FR/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/fr-FR/images/create-variable.png differ diff --git a/fr-FR/images/create-your-own-world.png b/fr-FR/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/fr-FR/images/create-your-own-world.png differ diff --git a/fr-FR/images/door.png b/fr-FR/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/fr-FR/images/door.png differ diff --git a/fr-FR/images/enemy.png b/fr-FR/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/fr-FR/images/enemy.png differ diff --git a/fr-FR/images/finished-move-down-right.png b/fr-FR/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/fr-FR/images/finished-move-down-right.png differ diff --git a/fr-FR/images/key.png b/fr-FR/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/fr-FR/images/key.png differ diff --git a/fr-FR/images/key.svg b/fr-FR/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/fr-FR/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fr-FR/images/north-south-rooms.png b/fr-FR/images/north-south-rooms.png new file mode 100644 index 000000000..224943090 Binary files /dev/null and b/fr-FR/images/north-south-rooms.png differ diff --git a/fr-FR/images/number-grid.png b/fr-FR/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/fr-FR/images/number-grid.png differ diff --git a/fr-FR/images/person-sprite.png b/fr-FR/images/person-sprite.png new file mode 100644 index 000000000..8936b2e71 Binary files /dev/null and b/fr-FR/images/person-sprite.png differ diff --git a/fr-FR/images/person.png b/fr-FR/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/fr-FR/images/person.png differ diff --git a/fr-FR/images/player.png b/fr-FR/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/fr-FR/images/player.png differ diff --git a/fr-FR/images/showcase.png b/fr-FR/images/showcase.png new file mode 100644 index 000000000..be4af1062 Binary files /dev/null and b/fr-FR/images/showcase.png differ diff --git a/fr-FR/images/sign.png b/fr-FR/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/fr-FR/images/sign.png differ diff --git a/fr-FR/images/sign.svg b/fr-FR/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/fr-FR/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-FR/images/stage.png b/fr-FR/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/fr-FR/images/stage.png differ diff --git a/fr-FR/images/variable-show.png b/fr-FR/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/fr-FR/images/variable-show.png differ diff --git a/fr-FR/images/world-backdrops.png b/fr-FR/images/world-backdrops.png new file mode 100644 index 000000000..f4c965d60 Binary files /dev/null and b/fr-FR/images/world-backdrops.png differ diff --git a/fr-FR/images/world-bribe.png b/fr-FR/images/world-bribe.png new file mode 100644 index 000000000..c625c9829 Binary files /dev/null and b/fr-FR/images/world-bribe.png differ diff --git a/fr-FR/images/world-coins.png b/fr-FR/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/fr-FR/images/world-coins.png differ diff --git a/fr-FR/images/world-door.png b/fr-FR/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/fr-FR/images/world-door.png differ diff --git a/fr-FR/images/world-enemy-code.png b/fr-FR/images/world-enemy-code.png new file mode 100644 index 000000000..ce74f2c17 Binary files /dev/null and b/fr-FR/images/world-enemy-code.png differ diff --git a/fr-FR/images/world-enemy2.png b/fr-FR/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/fr-FR/images/world-enemy2.png differ diff --git a/fr-FR/images/world-final.png b/fr-FR/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/fr-FR/images/world-final.png differ diff --git a/fr-FR/images/world-key.png b/fr-FR/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/fr-FR/images/world-key.png differ diff --git a/fr-FR/images/world-north-south.png b/fr-FR/images/world-north-south.png new file mode 100644 index 000000000..972ef30d6 Binary files /dev/null and b/fr-FR/images/world-north-south.png differ diff --git a/fr-FR/images/world-person-test.png b/fr-FR/images/world-person-test.png new file mode 100644 index 000000000..7ab910fc0 Binary files /dev/null and b/fr-FR/images/world-person-test.png differ diff --git a/fr-FR/images/world-person.png b/fr-FR/images/world-person.png new file mode 100644 index 000000000..d10b2feba Binary files /dev/null and b/fr-FR/images/world-person.png differ diff --git a/fr-FR/images/world-player.png b/fr-FR/images/world-player.png new file mode 100644 index 000000000..96fc9768f Binary files /dev/null and b/fr-FR/images/world-player.png differ diff --git a/fr-FR/images/world-resources.png b/fr-FR/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/fr-FR/images/world-resources.png differ diff --git a/fr-FR/images/world-room-test.png b/fr-FR/images/world-room-test.png new file mode 100644 index 000000000..b41e0b783 Binary files /dev/null and b/fr-FR/images/world-room-test.png differ diff --git a/fr-FR/images/world-room.png b/fr-FR/images/world-room.png new file mode 100644 index 000000000..9dff96028 Binary files /dev/null and b/fr-FR/images/world-room.png differ diff --git a/fr-FR/images/world-sign-test-left.png b/fr-FR/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/fr-FR/images/world-sign-test-left.png differ diff --git a/fr-FR/images/world-sign-test-right.png b/fr-FR/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/fr-FR/images/world-sign-test-right.png differ diff --git a/fr-FR/images/world-sign-test.png b/fr-FR/images/world-sign-test.png new file mode 100644 index 000000000..08e5444b7 Binary files /dev/null and b/fr-FR/images/world-sign-test.png differ diff --git a/fr-FR/images/world-sign-test2.png b/fr-FR/images/world-sign-test2.png new file mode 100644 index 000000000..8d5fcb7ba Binary files /dev/null and b/fr-FR/images/world-sign-test2.png differ diff --git a/fr-FR/images/world-sign.png b/fr-FR/images/world-sign.png new file mode 100644 index 000000000..5f68db978 Binary files /dev/null and b/fr-FR/images/world-sign.png differ diff --git a/fr-FR/images/world-starter.png b/fr-FR/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/fr-FR/images/world-starter.png differ diff --git a/fr-FR/images/world-treasure.png b/fr-FR/images/world-treasure.png new file mode 100644 index 000000000..f42d4557b Binary files /dev/null and b/fr-FR/images/world-treasure.png differ diff --git a/fr-FR/images/world-up.png b/fr-FR/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/fr-FR/images/world-up.png differ diff --git a/fr-FR/images/world-walls-test.png b/fr-FR/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/fr-FR/images/world-walls-test.png differ diff --git a/fr-FR/images/world-walls.png b/fr-FR/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/fr-FR/images/world-walls.png differ diff --git a/fr-FR/meta.yml b/fr-FR/meta.yml new file mode 100644 index 000000000..22296278d --- /dev/null +++ b/fr-FR/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/create-your-own-world.png +title: Crée ton propre monde +description: Crée ton propre monde pour un jeu d'aventure +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introduction + - + title: Déplace le sprite du joueur + - + title: Murs solides + completion: + - engaged + - + title: Déplace-toi dans ton monde + - + title: 'Défi : revenir à la salle précédente' + challenge: true + - + title: Panneaux + - + title: 'Défi : trésor !' + challenge: true + - + title: Les personnes + - + title: 'Défi : ennemis' + challenge: true + - + title: Collecter des pièces + - + title: Les portes et les clés + completion: + - internal + - + title: 'Défi : étends ton monde' + challenge: true + completion: + - external diff --git a/fr-FR/resources/CreateYourOwnWorld.sb2 b/fr-FR/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8682d05f8 Binary files /dev/null and b/fr-FR/resources/CreateYourOwnWorld.sb2 differ diff --git a/fr-FR/resources/CreateYourOwnWorldResources.sb2 b/fr-FR/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8a9935e60 Binary files /dev/null and b/fr-FR/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/fr-FR/resources/CreateYourOwnWorldResources.sb3 b/fr-FR/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..dd35539fb Binary files /dev/null and b/fr-FR/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/fr-FR/resources/chest.svg b/fr-FR/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/fr-FR/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-FR/resources/coin.svg b/fr-FR/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/fr-FR/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-FR/resources/door-blue.png b/fr-FR/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/fr-FR/resources/door-blue.png differ diff --git a/fr-FR/resources/enemy.png b/fr-FR/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/fr-FR/resources/enemy.png differ diff --git a/fr-FR/resources/key.svg b/fr-FR/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/fr-FR/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/fr-FR/resources/person.png b/fr-FR/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/fr-FR/resources/person.png differ diff --git a/fr-FR/resources/player.png b/fr-FR/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/fr-FR/resources/player.png differ diff --git a/fr-FR/resources/room1.png b/fr-FR/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/fr-FR/resources/room1.png differ diff --git a/fr-FR/resources/room2.png b/fr-FR/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/fr-FR/resources/room2.png differ diff --git a/fr-FR/resources/room3.png b/fr-FR/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/fr-FR/resources/room3.png differ diff --git a/fr-FR/resources/sign.svg b/fr-FR/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/fr-FR/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fr-FR/scratch-translatable.txt b/fr-FR/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/fr-FR/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/fr-FR/solutions/CreateYourOwnWorld.sb3 b/fr-FR/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..6df3f48b8 Binary files /dev/null and b/fr-FR/solutions/CreateYourOwnWorld.sb3 differ diff --git a/fr-FR/step_1.md b/fr-FR/step_1.md new file mode 100644 index 000000000..4b8ce5cb2 --- /dev/null +++ b/fr-FR/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Ceci est la version **Scratch 3** du projet. Il existe également une version [Scratch 2 du projet](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introduction + +Dans ce projet, tu apprendras à créer ton propre monde de jeu d’aventure avec plusieurs niveaux à explorer. + +### Ce que tu feras + +\--- no-print \--- + +Clique sur le drapeau vert pour démarrer. Utilise les flèches pour déplacer ton personnage dans son monde. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Tu utiliseras les touches fléchées pour déplacer ton personnage dans le monde. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Ce qu'il te faut + +### Matériel informatique + +- Un ordinateur capable d'exécuter Scratch 3 + +### Logiciels + +- Scratch 3 ([en ligne](https://rpf.io/scratchon) ou [hors ligne](https://rpf.io/scratchoff)) + +### Téléchargements + +Tu peux trouver tout ce dont tu as besoin pour mener à bien ce projet à l'adresse [rpf.io/p/fr/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Ce que tu vas apprendre + +- Utiliser la sélection conditionnelle pour réagir aux pressions sur les touches +- Utiliser des variables pour stocker l'état d'un jeu +- Utiliser la sélection conditionnelle basée sur la valeur d'une variable +- Utiliser des listes pour stocker des données + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Informations supplémentaires pour les éducateurs + +Si vous avez besoin d'imprimer ce projet, merci d'utiliser la [version imprimable](https://projects.raspberrypi.org/en/projects/create-your-own-world/print) {:target="_blank"}. + +Vous pouvez trouver le [projet terminé ici](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/fr-FR/step_10.md b/fr-FR/step_10.md new file mode 100644 index 000000000..176dfa512 --- /dev/null +++ b/fr-FR/step_10.md @@ -0,0 +1,71 @@ +## Collecter des pièces + +Ton sprite `joueur` devrait pouvoir collecter des pièces lorsqu'il se déplace dans le monde. + +\--- task \--- + +\--- task \--- Ajouter une nouvelle variable appelée `pièces`{:class="block3variables"} à ton projet. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Sélectionne le sprite `pièce` et clique sur **afficher**. + +![capture d'écran](images/coin.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ajoute le code à ta `pièce` sprite afin qu'elle n'apparaisse que dans la salle 1. + +![capture d'écran](images/coin.png) + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment +si <(salle :: variables) =[1]> alors +montrer +sinon +cacher +``` + +\--- /task \--- + +\--- task \--- + +Ajoute du code à ton sprite `pièce` de façon à ce que le sprite `se cache`{:class="block3looks"} et `1`{:class="block3variables"} soit ajouté à la variable `pièces`{:class="block3variables"} une fois que le sprite `joueur` touche le sprite `pièce` pour le «ramasser». + +![pièce de monnaie](images/coin.png) + +```blocks3 +quand le drapeau est cliqué +attendre jusqu'à ce que +changez [pièces v] par (1) +cacher +stop [autres scripts dans sprite v] +``` + +Le code `stop autres scripts dans sprite`{:class="block3control"} est nécessaire pour que le sprite `pièce` ne soit plus affiché dans la salle 1 une fois qu’elle a été collectée. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ajoute maintenant du code sur la scène pour définir ta variable `pièces`{:class="block3variables"} à `0`{:class="block3variables"} au début du jeu. + +![scène](images/stage.png) + +```blocks3 +quand le drapeau est cliqué +mettre [pièces v] à [0] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste ton jeu. La collecte d'une pièce devrait changer ton score `pièces` en `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/fr-FR/step_11.md b/fr-FR/step_11.md new file mode 100644 index 000000000..73bc2e490 --- /dev/null +++ b/fr-FR/step_11.md @@ -0,0 +1,104 @@ +## Les portes et les clés + +Tu vas maintenant ajouter du code pour que certaines des portes de ton monde de jeu soient verrouillées, et le joueur doit trouver la clé pour les ouvrir et accéder à la pièce suivante. + +\--- task \--- + +\--- task \--- Bascule sur le sprite `clé`. Clique sur `montrer`{:class="blocklooks"} dans le menu Scripts pour que le sprite apparaisse sur la scène. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Modifie le costume du sprite `clé` de sorte qu'il soit bleu. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Bascule ton décor de scène sur la salle 3 et place le sprite `clé` à un endroit difficile à atteindre! + +![capture d'écran](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ajoute du code au sprite `clé` pour le rendre visible uniquement dans la salle 3. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Crée une nouvelle liste appelée `inventaire`{:class="block3variables"} pour stocker les objets que ton sprite `joueur` collecte. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +\--- task \--- Le code que tu dois ajouter pour collecter la clé est très similaire au code pour collecter des pièces. La différence est que tu ajoutes la clé à `l'inventaire`{:class="block3variables"}. + +![clé](images/key.png) + +```blocks3 +lorsque le drapeau est cliqué +attendre jusqu'à ce que +ajoute [clé bleue] à [inventaire v] +cacher +stop [autres scripts dans sprite v] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ajoute du code sur ta scène pour vider ton inventaire au début de la partie. + +```blocks3 +supprimer l'élément (tout v) de la liste [inventaire v] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste ton jeu pour vérifier si tu peux collecter le sprite `clé` et l'ajouter à ton inventaire. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ajoute maintenant la porte verrouillée. Sélectionne le sprite `porte-bleue` et clique sur `montrer`{:class="blocklooks} dans le menu Scripts, puis positionne le sprite sur l'interstice entre les deux murs. + +![capture d'écran](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ajoute du code dans le sprite `porte-bleue` afin qu'il ne soit visible que dans la salle 3. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ajoute du code au sprite `porte-bleue` de sorte que, lorsque la clé est dans `l'inventaire`{:class="block3variables"}, le sprite `se cache`{:class="block3looks"} pour permettre à ton sprite `joueur` de passer. + +![porte](images/door.png) + +```blocks3 +lorsque le drapeau est cliqué +attendre jusqu'à ce que <[inventaire v] contient [clé bleue]> +stop [autres scripts dans sprite v] +cacher +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste ton jeu et vois si tu peux récupérer la clé bleue pour ouvrir la porte! + +\--- /task \--- \ No newline at end of file diff --git a/fr-FR/step_12.md b/fr-FR/step_12.md new file mode 100644 index 000000000..4d8af0815 --- /dev/null +++ b/fr-FR/step_12.md @@ -0,0 +1,28 @@ +## Défi : étends ton monde + +Tu peux maintenant continuer à créer ton propre monde ! Voici quelques idées : + ++ Ajoute plus de pièces à ton jeu dans différentes salles. Peux-tu laisser des pièces en gardant les ennemis en patrouille? ++ Change les décors de ton jeu ++ Ajoute du son et de la musique à ton jeu ++ Ajoute plus de personnes, d'ennemis et de panneaux ++ Ajoute des portes rouges et jaunes, et des clés spéciales pour les ouvrir ++ Ajoute plus de salles à ton monde ++ Ajoute d'autres objets utiles à ton jeu + + + Utilise des pièces pour obtenir des informations d'autres personnes : + +![capture d'écran](images/world-bribe.png) + ++ Tu pourrais même ajouter des portes dans les murs nord et sud de la salle 1, pour que le joueur puisse se déplacer d'une salle à l'autre dans les quatre directions. Par exemple, ton jeu peut avoir neuf salles dans une grille 3 × 3. Ensuite, tu peux ajouter `3` au numéro de la salle pour descendre d’un niveau. + +![capture d'écran](images/north-south-rooms.png) + +![capture d'écran](images/number-grid.png) + +```blocks3 +si < couleur [] touchée > alors +basculer sur l'arrière-plan ((costume [numéro v]) + (3)) +aller à x: (0) y: (200) +ajouter (3) à [salle v] +``` \ No newline at end of file diff --git a/fr-FR/step_13.md b/fr-FR/step_13.md new file mode 100644 index 000000000..aee594698 --- /dev/null +++ b/fr-FR/step_13.md @@ -0,0 +1,21 @@ +## Quelle est l'étape suivante ? + +Essaye de créer un autre jeu en travaillant sur le projet [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +\--- no-print \--- Clique et fait glisser avec la souris pour tracer une ligne avec le crayon. Ton but est d'empêcher les chats de tomber dans des trous en créant un chemin sécurisé vers la sortie. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +Si tu veux créer un jeu en utilisant Python au lieu de Scratch, essaye le projet [RPG](https://projects.raspberrypi.org/fr-FR/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/fr-FR/step_2.md b/fr-FR/step_2.md new file mode 100644 index 000000000..f64966deb --- /dev/null +++ b/fr-FR/step_2.md @@ -0,0 +1,132 @@ +## Déplace le sprite du joueur + +Commence par créer un sprite `joueur` qui peut se déplacer dans ton monde. + +\--- task \--- + +Ouvre le projet de démarrage Scratch «Créez ton propre monde». + +**En ligne**: ouvre le projet de démarrage en ligne à [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Si tu as un compte Scratch, tu peux en créer une copie en cliquant sur **Remix**. + +**Hors ligne**: télécharge le projet de démarrage [rpf.io/p/fr/create-your-own-world-go](https://rpf.io/p/fr-FR/create-your-own-world-go){:target="_blank"}, puis ouvre-le à l'aide de l'éditeur hors connexion. Si tu dois télécharger et installer l'éditeur hors ligne Scratch, tu peux le trouver à [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![capture d'écran](images/world-starter.png) + +\--- /task \--- + +Appuyer sur les touches de flèches doit déplacer le sprite `joueur`. Lorsque tu appuies sur la flèche vers le haut, le sprite `joueur` doit remonter sur la scène en réponse. + +\--- task \--- + +Ajoute ce code au sprite `joueur` : + +![joueur](images/player.png) + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment + si alors + s'orienter en direction de (0) + avancer de (4) pas + end +end +``` + +\--- /task \--- + +\--- task \--- + +Clique sur le drapeau, puis maintiens la flèche vers le haut. Est-ce que le sprite `joueur` monte vers le haut? + +![capture d'écran](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Pour déplacer le sprite `joueur` vers la gauche, tu dois ajouter un autre bloc `si`{:class="block3control"} avec le code similaire: + +![joueur](images/player.png) + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment + si alors + s'orienter en direction de (0) + avancer de (4) pas + end ++ si alors + s'orienter en direction de (-90) + avancer de (4) pas + end +end +``` + +\--- /task \--- + +\--- task \--- + +Ajoute plus de code à ton sprite `joueur` pour qu'il puisse se déplacer vers le bas et à droite également. Utilise le code que tu as déjà pour t'aider. + +\--- hints \--- + +\--- hint \--- + +Pour te déplacer vers le haut, tu pointes le sprite `joueur` dans la direction `0` degrés. Que dois-tu faire pour déplacer le sprite vers le bas? + +Pour te déplacer à gauche, pointe le sprite dans la direction `90` degrés. Que dois-tu faire pour déplacer le sprite correctement? + +\--- /hint \--- + +\--- hint \--- + +Tu dois changer ces deux blocs: + +![joueur](images/player.png) + +```blocks3 +< touche ( v) pressée ?> + +s'orienter dans la direction () +``` + +Duplique le code qui fait que le sprite `joueur` progresse vers le haut et modifie ces deux blocs pour faire descendre le sprite. Duplique à nouveau le code et modifie-le pour que le sprite se déplace vers la droite. + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \--- \--- hint \--- Voici a quoi devrait ressembler ton code: + +![joueur](images/player.png) + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment + si alors + s'orienter en direction de (0) + avancer de (4) pas + end + si alors + s'orienter en direction de (-90) + avancer de (4) pas + + ++ si then + point in direction (180) + move (4) steps + end ++ if alors + s'orienter en direction de (90) + avancer de (4) pas + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/fr-FR/step_3.md b/fr-FR/step_3.md new file mode 100644 index 000000000..b1b3b9e53 --- /dev/null +++ b/fr-FR/step_3.md @@ -0,0 +1,48 @@ +## Murs solides + +\--- task \--- + +\--- task \--- Teste à nouveau ton sprite `joueur`. Vois-tu qu'il peut traverser les murs gris clair. + +![capture d'écran](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Pour résoudre ce problème, tu dois faire reculer le sprite `joueur` s'il touche un mur gris clair. Voici le code que tu dois ajouter dans ton bloc `répéter indéfiniment`{:class="block3control"} sous les blocs de direction: + +![joueur](images/player.png) + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment + si alors + s'orienter en direction de (0) + avancer de (4) pas + end +si alors + s'orienter en direction de (-90) + avancer de (4) pas + end + si < touche (flèche du bas v) pressée ? lorsque le drapeau est cliqué +répéter indéfiniment + si alors + s'orienter en direction de (90) + avancer de (4) pas + end ++ si < couleur [#BABABA] touchée ? > alors + avancer de (-4) pas + end +end +``` + +\--- /task \--- + +\--- task \--- + +Essaye de faire en sorte que le sprite `joueur` passe à travers un mur. Si ton nouveau code fonctionne, cela ne devrait pas être possible. + +![capture d'écran](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/fr-FR/step_4.md b/fr-FR/step_4.md new file mode 100644 index 000000000..f6da3d478 --- /dev/null +++ b/fr-FR/step_4.md @@ -0,0 +1,142 @@ +## Déplace-toi dans ton monde + +Le sprite `joueur` doit être capable de marcher à travers les portes dans d'autres salles. + +Ton projet contient des arrières-plans pour des salles supplémentaires : + +![capture d'écran](images/world-backdrops.png) + +\--- task \--- + +Crée une nouvelle variable 'pour toute les sprites' appelées `salle`{:class="block3variables"} pour savoir dans quelle pièce se trouve le sprite `joueur`. + +[[[generic-scratch3-add-variable]]] + +![capture d'écran](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Lorsque le sprite `joueur` touche la porte orange dans la première salle, le jeu devrait afficher l'arrière-plan suivant et le sprite `joueur` devrait revenir à gauche de la scène. Ajoute ce code à l'intérieur du sprite `joueur` la boucle `répéter indéfiniment` {class="block3control"}: + +![joueur](images/player.png) + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment + si alors + s'orienter en direction de (0) + avancer de (4) pas + end + si alors + s'orienter en direction de (-90) + avancer de (4) pas + end + si then + point in direction (180) + move (4) steps + end + if alors +s'orienter dans la direction (90) +avancer de (4) pas +fin +si < couleur [#BABABA] touchée ? > alors + avancer de (-4) pas + end ++ si < couleur [#F2A24A] touchée ? > alors + basculer sur l'arrière plan (arrière-plan suivant v) + aller à x: (-200) y: (0) + ajouter (1) à [salle v] + end +end +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Chaque fois que le jeu commence, la pièce, la position du personnage et l'arrière-plan doivent être réinitialisés. + +\--- /hint \--- \--- hint \--- Voici à quoi devrait ressembler ton script terminé: + +\--- hints \--- + +\--- hint \--- + +\--- hints \--- \--- hint \--- Quand le jeu commence: + ++ La valeur de `salle`{:class="block3variables"} doit être définie sur `1`{:class="block3variables"} ++ `L'arrière-plan`{:class="block3looks"} doit être définie sur `salle1`{:class="block3looks"} ++ La position du sprite `joueur` doit être réglé sur `x: -200 y: 0`{: class = "block3motion"} \--- /hint \--- \--- hint \--- Voici les blocs supplémentaires dont tu as besoin: + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![joueur](images/player.png) + +```blocks3 +aller à x: (-200) y: (0) + +ajouter (1) à [salle v] + +basculer sur l'arrière-plan (salle1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \--- \--- hint \--- Voici à quoi devrait ressembler ton script terminé: + +![joueur](images/player.png) + +```blocks3 +lorsque le drapeau est cliqué ++ ajouter (1) à [salle v] ++ aller à x: (-200) y: (0) ++ basculer sur l'arrière-plan (salle1 v) +répéter indéfiniment + si alors + s'orienter en direction de (0) + avancer de (4) pas + end + si alors + s'orienter en direction de (-90) + avancer de (4) pas + end + si alors + s'orienter dans la direction (-180) + avancer de (4) pas + end + si alors + s'orienter en direction de (90) + avancer de (4) pas + end + si < couleur [#BABABA] touchée ? > alors + avancer de (-4) pas + end + si < couleur [#F2A24A] touchée ? > alors + basculer sur l'arrière-plan (arrière-plan suivant v) + aller à x: (-200) y: (0) + ajouter (1) à [salle v] +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +\--- task \--- Clique sur le drapeau, puis déplace ton sprite `joueur` jusqu'à ce qu'il touche la porte orange. Le sprite passe-t-il à l'écran suivant? La variable `salle`{:class="block3variables"} passe-t-elle à `2`? + +![capture d'écran](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/fr-FR/step_5.md b/fr-FR/step_5.md new file mode 100644 index 000000000..fcd007359 --- /dev/null +++ b/fr-FR/step_5.md @@ -0,0 +1,3 @@ +## Défi : revenir à la salle précédente + +Peux-tu faire que ton sprite `joueur` revienne dans la pièce précédente quand il touche une porte jaune? Le code dont tu as besoin est très similaire au code que tu as déjà ajouté pour déplacer le sprite dans la pièce suivante. \ No newline at end of file diff --git a/fr-FR/step_6.md b/fr-FR/step_6.md new file mode 100644 index 000000000..59d7d81ba --- /dev/null +++ b/fr-FR/step_6.md @@ -0,0 +1,108 @@ +## Panneaux + +Ajoute maintenant des signes à ton monde pour guider les joueurs dans leur voyage. + +Ton project inclut un `panneau de bienvenue` sprite : + +![capture d'écran](images/world-sign.png) + +\--- task \--- + +\--- task \--- Le sprite `panneau de bienvenue` ne devrait être visible que dans la salle 1, alors ajoute un code au sprite pour s'assurer que cela se passe: + +\--- hints \--- + +\--- hint \--- + +\--- hints \--- \--- hint \--- `Lorsque le drapeau est cliqué`{:class="block3events"}, dans une boucle `répéter indéfiniment`{:class="block3control"}, vérifie `si`{:class="block3control"} la `salle est la première`{:class="block3variables"} et dans ce cas, `affiche`{:class="block3looks"} le sprite`panneau de bienvenue`, `sinon`{:class="block3control"} `cache`{:class="block3looks"} le sprite. + +\--- /hint \--- + +\--- hint \--- + +Voici les blocs dont tu auras besoin : + +![panneau](images/sign.png) + +```blocks3 +
si < > alors +sinon +end + +< (salle :: variables) = [1] > + +cacher + +montrer + +répéter indéfiniment +end + +lorsque le drapeau est cliqué + +``` + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \--- \--- hint \--- Voici le code complet: + +![panneau](images/sign.png) + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment + si < (salle :: variables) = [1] > alors + montrer + sinon + cacher +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste le code de ton sprite `panneau de bienvenue` en passant d'une salle à une autre. Le panneau ne devrait être visible que dans la salle 1. + +![capture d'écran](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Un panneau n'est pas très bon s'il ne dit rien! Ajoute du code supplémentaire pour afficher un message si le sprite `panneau de bienvenue` touche le sprite `du joueur`: + +![panneau](images/sign.png) + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment +si < (salle :: variables) = [1] > alors + montrer +sinon + cacher +end ++ si < touche le (joueur v)? > alors +dire [Bienvenue! Peux-tu aller au trésor?] +sinon +dire [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teste à nouveau ton sprite `panneau de bienvenue`. Tu dois maintenant voir un message lorsque le sprite `joueur` touche le sprite `panneau de bienvenue`. + +![capture d'écran](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/fr-FR/step_7.md b/fr-FR/step_7.md new file mode 100644 index 000000000..1e8dc5879 --- /dev/null +++ b/fr-FR/step_7.md @@ -0,0 +1,7 @@ +## Défi : trésor ! + +Peux-tu ajouter des trésors que le joueur doit trouver? + +Fait apparaître le sprite `coffre à trésor` seulement dans la salle 3 et dites à ce sprite de dire "Bien joué!" quand le sprite `joueur` le touche. + +![capture d’écran](images/world-treasure.png) \ No newline at end of file diff --git a/fr-FR/step_8.md b/fr-FR/step_8.md new file mode 100644 index 000000000..8deedd45d --- /dev/null +++ b/fr-FR/step_8.md @@ -0,0 +1,65 @@ +## Les personnes + +Ajoute d'autres personnes à ton monde avec lesquelles ton sprite `joueur` peut interagir. + +\--- task \--- + +\--- task \--- Basculez vers le sprite `personne`. + +![Personne sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ajoute du code au sprite `personne` pour que la personne parle au sprite `joueur`. Ce code est très similaire à celui que tu as ajouté à ton sprite `panneau`: + +![personne](images/person.png) + +```blocks3 +lorsque le drapeau est cliqué +aller à x: (0) y: (-150) +répéter indéfiniment + si < touche le (joueur v)? > alors + dire [Saviez-vous que vous pouvez passer par les portes orange et jaune?] + sinon + dire [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Permet à ton sprite `personne` de se déplacer en ajoutant ces deux blocs à la section `sinon`{:class="block3control"} de ton code: + +![personne](images/person.png) + +```blocks3 +lorsque le drapeau est cliqué +aller à x: (0) y: (-150) +répéter indéfiniment + si < touche le (joueur v)? > alors + dire [Sais-tu que tu peux passer par les portes orange et jaune?] + sinon + dire [] ++ avancer de (1) pas ++ rebondir si le bord est atteint + end +end +``` + +\--- /task \--- + +Ton sprite `personne` va maintenant bouger, et va s'arrêter pour parler au sprite `joueur`. + +![capture d'écran](images/world-person-test.png) + +\--- task \--- + +\--- task \--- Ajoute le code à ton nouveau sprite `personne` afin que ce dernier n'apparaisse que dans la salle 1. Le code dont tu as besoin est exactement le même que le code qui rend le sprite `panneau` visible seulement dans la chambre 1. + +Assure-toi de tester ton nouveau code. + +\--- /task \--- \ No newline at end of file diff --git a/fr-FR/step_9.md b/fr-FR/step_9.md new file mode 100644 index 000000000..5c8c04f04 --- /dev/null +++ b/fr-FR/step_9.md @@ -0,0 +1,39 @@ +## Défi : ajoute un ennemi + +Si tu le souhaites, tu peux également ajouter des ennemis en patrouille à ton jeu. Si le sprite `joueur` touche un ennemi, le jeu se termine. + ++ Ton jeu contient déjà un sprite `ennemi`. Ajoute du code au sprite `ennemi` pour qu'il n'apparaisse que dans la salle 2. + ++ Ajoute du code pour déplacer le sprite `ennemi` et pour terminer le jeu si le sprite `ennemi` touche le sprite `joueur`. C'est plus facile de faire cela dans des blocs de code séparés. Voici à quoi ton code du sprite `ennemi` pourrait ressembler : + +```blocks3 +lorsque le drapeau est cliqué +répéter indéfiniment +si <(salle :: variables) =[2]> alors +montrer +sinon +cacher + +lorsque le drapeau est cliqué +répéter indéfiniment +si < touche le (joueur v) ?> alors +stop [tout v] + +lorsque le drapeau est cliqué +aller à x: ( 170) y: (0) +répéter indéfiniment +répéter (130) +ajouter (-1) à x +fin +répéter (130) fois +ajouter (1) à x +``` + ++ Teste ton nouveau code pour t'assurer que: + + Le sprite `ennemi` visible uniquement dans la salle 2 + + Le sprite `ennemi` patrouille la salle + + Le jeu se termine si le sprite `joueur` touche le sprite `ennemi` + +Peux-tu créer un autre sprite `ennemi` dans la salle 3 qui patrouille de haut en bas à travers la fente dans le mur ? + +![capture d’écran](images/world-enemy2.png) \ No newline at end of file diff --git a/he-IL/images/banner.png b/he-IL/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/he-IL/images/banner.png differ diff --git a/he-IL/images/cats-finished.png b/he-IL/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/he-IL/images/cats-finished.png differ diff --git a/he-IL/images/coin.png b/he-IL/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/he-IL/images/coin.png differ diff --git a/he-IL/images/door.png b/he-IL/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/he-IL/images/door.png differ diff --git a/he-IL/images/key.png b/he-IL/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/he-IL/images/key.png differ diff --git a/he-IL/images/north-south-rooms.png b/he-IL/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/he-IL/images/north-south-rooms.png differ diff --git a/he-IL/images/number-grid.png b/he-IL/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/he-IL/images/number-grid.png differ diff --git a/he-IL/images/person.png b/he-IL/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/he-IL/images/person.png differ diff --git a/he-IL/images/player.png b/he-IL/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/he-IL/images/player.png differ diff --git a/he-IL/images/showcase.png b/he-IL/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/he-IL/images/showcase.png differ diff --git a/he-IL/images/sign.png b/he-IL/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/he-IL/images/sign.png differ diff --git a/he-IL/images/stage.png b/he-IL/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/he-IL/images/stage.png differ diff --git a/he-IL/images/world-backdrops.png b/he-IL/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/he-IL/images/world-backdrops.png differ diff --git a/he-IL/images/world-bribe.png b/he-IL/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/he-IL/images/world-bribe.png differ diff --git a/he-IL/images/world-door.png b/he-IL/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/he-IL/images/world-door.png differ diff --git a/he-IL/images/world-enemy2.png b/he-IL/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/he-IL/images/world-enemy2.png differ diff --git a/he-IL/images/world-key.png b/he-IL/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/he-IL/images/world-key.png differ diff --git a/he-IL/images/world-person-test.png b/he-IL/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/he-IL/images/world-person-test.png differ diff --git a/he-IL/images/world-room-test.png b/he-IL/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/he-IL/images/world-room-test.png differ diff --git a/he-IL/images/world-room.png b/he-IL/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/he-IL/images/world-room.png differ diff --git a/he-IL/images/world-sign-test.png b/he-IL/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/he-IL/images/world-sign-test.png differ diff --git a/he-IL/images/world-sign-test2.png b/he-IL/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/he-IL/images/world-sign-test2.png differ diff --git a/he-IL/images/world-sign.png b/he-IL/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/he-IL/images/world-sign.png differ diff --git a/he-IL/images/world-starter.png b/he-IL/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/he-IL/images/world-starter.png differ diff --git a/he-IL/images/world-treasure.png b/he-IL/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/he-IL/images/world-treasure.png differ diff --git a/he-IL/images/world-up.png b/he-IL/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/he-IL/images/world-up.png differ diff --git a/he-IL/images/world-walls-test.png b/he-IL/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/he-IL/images/world-walls-test.png differ diff --git a/he-IL/images/world-walls.png b/he-IL/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/he-IL/images/world-walls.png differ diff --git a/he-IL/meta.yml b/he-IL/meta.yml new file mode 100644 index 000000000..65afe3fd7 --- /dev/null +++ b/he-IL/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: הקדמה + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/he-IL/resources/CreateYourOwnWorldResources.sb3 b/he-IL/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/he-IL/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/he-IL/resources/chest.svg b/he-IL/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/he-IL/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/he-IL/resources/coin.svg b/he-IL/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/he-IL/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/he-IL/resources/door-blue.png b/he-IL/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/he-IL/resources/door-blue.png differ diff --git a/he-IL/resources/enemy.png b/he-IL/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/he-IL/resources/enemy.png differ diff --git a/he-IL/resources/key.svg b/he-IL/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/he-IL/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/he-IL/resources/person.png b/he-IL/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/he-IL/resources/person.png differ diff --git a/he-IL/resources/player.png b/he-IL/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/he-IL/resources/player.png differ diff --git a/he-IL/resources/room1.png b/he-IL/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/he-IL/resources/room1.png differ diff --git a/he-IL/resources/room2.png b/he-IL/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/he-IL/resources/room2.png differ diff --git a/he-IL/resources/room3.png b/he-IL/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/he-IL/resources/room3.png differ diff --git a/he-IL/resources/sign.svg b/he-IL/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/he-IL/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/he-IL/scratch-translatable.txt b/he-IL/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/he-IL/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/he-IL/solutions/CreateYourOwnWorld.sb3 b/he-IL/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/he-IL/solutions/CreateYourOwnWorld.sb3 differ diff --git a/he-IL/step_1.md b/he-IL/step_1.md new file mode 100644 index 000000000..73df4b540 --- /dev/null +++ b/he-IL/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## מבוא + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### התוצר + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: למה תזדקק + +### חומרה + +- מחשב המסוגל להריץ סקראטץ 3 + +### תוכנה + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### הורדות + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: מה תלמדו + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: מידע נוסף למורי המועדון + +אם אתה צריך להדפיס את הפרויקט הזה, אנא השתמש ב [ גרסה ידידותית למדפסת ](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +אתה יכול למצוא את [הפרויקט השלם כאן ](https://rpf.io/p/en/create-your-own-world-get) {:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/he-IL/step_10.md b/he-IL/step_10.md new file mode 100644 index 000000000..50e00b1ce --- /dev/null +++ b/he-IL/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![צילום מסך](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![צילום מסך](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/he-IL/step_11.md b/he-IL/step_11.md new file mode 100644 index 000000000..d45f2db4a --- /dev/null +++ b/he-IL/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![צילום מסך](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![צילום מסך](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/he-IL/step_12.md b/he-IL/step_12.md new file mode 100644 index 000000000..811fd008f --- /dev/null +++ b/he-IL/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![צילום מסך](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![צילום מסך](images/north-south-rooms.png) + +![צילום מסך](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/he-IL/step_13.md b/he-IL/step_13.md new file mode 100644 index 000000000..e7a353943 --- /dev/null +++ b/he-IL/step_13.md @@ -0,0 +1,21 @@ +## מה הלאה? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/he-IL/step_2.md b/he-IL/step_2.md new file mode 100644 index 000000000..72f474249 --- /dev/null +++ b/he-IL/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +אם יש לך חשבון Scratch, באפשרותך ליצור עותק על-ידי לחיצה על ** כניסה **. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. אם עליך להוריד ולהתקין את העורך הלא מקוון של Scratch, תוכל למצוא אותו בכתובת [ rpf.io/scratchoff ](https://rpf.io/scratchoff) {:target="_blank"}. + +![צילום מסך](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![צילום מסך](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/he-IL/step_3.md b/he-IL/step_3.md new file mode 100644 index 000000000..271908658 --- /dev/null +++ b/he-IL/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![צילום מסך](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![צילום מסך](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/he-IL/step_4.md b/he-IL/step_4.md new file mode 100644 index 000000000..4ed3dda95 --- /dev/null +++ b/he-IL/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![צילום מסך](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![צילום מסך](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![צילום מסך](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/he-IL/step_5.md b/he-IL/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/he-IL/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/he-IL/step_6.md b/he-IL/step_6.md new file mode 100644 index 000000000..7038b45ad --- /dev/null +++ b/he-IL/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![צילום מסך](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![צילום מסך](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![צילום מסך](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/he-IL/step_7.md b/he-IL/step_7.md new file mode 100644 index 000000000..f5da8dd35 --- /dev/null +++ b/he-IL/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![צילום מסך](images/world-treasure.png) \ No newline at end of file diff --git a/he-IL/step_8.md b/he-IL/step_8.md new file mode 100644 index 000000000..6a3f379f1 --- /dev/null +++ b/he-IL/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![צילום מסך](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/he-IL/step_9.md b/he-IL/step_9.md new file mode 100644 index 000000000..959153774 --- /dev/null +++ b/he-IL/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![צילום מסך](images/world-enemy2.png) \ No newline at end of file diff --git a/hi-IN/images/banner.png b/hi-IN/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/hi-IN/images/banner.png differ diff --git a/hi-IN/images/cats-finished.png b/hi-IN/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/hi-IN/images/cats-finished.png differ diff --git a/hi-IN/images/coin.png b/hi-IN/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/hi-IN/images/coin.png differ diff --git a/hi-IN/images/door.png b/hi-IN/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/hi-IN/images/door.png differ diff --git a/hi-IN/images/key.png b/hi-IN/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/hi-IN/images/key.png differ diff --git a/hi-IN/images/north-south-rooms.png b/hi-IN/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/hi-IN/images/north-south-rooms.png differ diff --git a/hi-IN/images/number-grid.png b/hi-IN/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/hi-IN/images/number-grid.png differ diff --git a/hi-IN/images/person.png b/hi-IN/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/hi-IN/images/person.png differ diff --git a/hi-IN/images/player.png b/hi-IN/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/hi-IN/images/player.png differ diff --git a/hi-IN/images/showcase.png b/hi-IN/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/hi-IN/images/showcase.png differ diff --git a/hi-IN/images/sign.png b/hi-IN/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/hi-IN/images/sign.png differ diff --git a/hi-IN/images/stage.png b/hi-IN/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/hi-IN/images/stage.png differ diff --git a/hi-IN/images/world-backdrops.png b/hi-IN/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/hi-IN/images/world-backdrops.png differ diff --git a/hi-IN/images/world-bribe.png b/hi-IN/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/hi-IN/images/world-bribe.png differ diff --git a/hi-IN/images/world-door.png b/hi-IN/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/hi-IN/images/world-door.png differ diff --git a/hi-IN/images/world-enemy2.png b/hi-IN/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/hi-IN/images/world-enemy2.png differ diff --git a/hi-IN/images/world-key.png b/hi-IN/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/hi-IN/images/world-key.png differ diff --git a/hi-IN/images/world-person-test.png b/hi-IN/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/hi-IN/images/world-person-test.png differ diff --git a/hi-IN/images/world-room-test.png b/hi-IN/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/hi-IN/images/world-room-test.png differ diff --git a/hi-IN/images/world-room.png b/hi-IN/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/hi-IN/images/world-room.png differ diff --git a/hi-IN/images/world-sign-test.png b/hi-IN/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/hi-IN/images/world-sign-test.png differ diff --git a/hi-IN/images/world-sign-test2.png b/hi-IN/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/hi-IN/images/world-sign-test2.png differ diff --git a/hi-IN/images/world-sign.png b/hi-IN/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/hi-IN/images/world-sign.png differ diff --git a/hi-IN/images/world-starter.png b/hi-IN/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/hi-IN/images/world-starter.png differ diff --git a/hi-IN/images/world-treasure.png b/hi-IN/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/hi-IN/images/world-treasure.png differ diff --git a/hi-IN/images/world-up.png b/hi-IN/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/hi-IN/images/world-up.png differ diff --git a/hi-IN/images/world-walls-test.png b/hi-IN/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/hi-IN/images/world-walls-test.png differ diff --git a/hi-IN/images/world-walls.png b/hi-IN/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/hi-IN/images/world-walls.png differ diff --git a/hi-IN/meta.yml b/hi-IN/meta.yml new file mode 100644 index 000000000..5cbc39240 --- /dev/null +++ b/hi-IN/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: अपनी दुनिया बनाएँ +description: अपना चाभियाँ ओपन-वर्ल्ड एडवेंचर (open-world adventure) गेम बनाना सीखें। +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: परिचय + - + title: खिलाडी स्प्राइट (player sprite) को हिलाएं + - + title: पक्की दीवारें + completion: + - engaged + - + title: अपनी दुनिया में घूमें + - + title: 'चुनौती: पिछले कमरे में वापस जाएँ' + challenge: true + - + title: संकेत (Signs) + - + title: 'चुनौती: खज़ाना!' + challenge: true + - + title: लोग + - + title: 'चुनौती: दुश्मन' + challenge: true + - + title: कोइन्स (Coins) बटोरना + - + title: दरवाज़े और चाभियाँ + completion: + - internal + - + title: 'चुनौती: अपनी दुनिया को और भी बड़ा बनाएं' + challenge: true + completion: + - external diff --git a/hi-IN/resources/CreateYourOwnWorldResources.sb3 b/hi-IN/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/hi-IN/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/hi-IN/resources/chest.svg b/hi-IN/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/hi-IN/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hi-IN/resources/coin.svg b/hi-IN/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/hi-IN/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hi-IN/resources/door-blue.png b/hi-IN/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/hi-IN/resources/door-blue.png differ diff --git a/hi-IN/resources/enemy.png b/hi-IN/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/hi-IN/resources/enemy.png differ diff --git a/hi-IN/resources/key.svg b/hi-IN/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/hi-IN/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/hi-IN/resources/person.png b/hi-IN/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/hi-IN/resources/person.png differ diff --git a/hi-IN/resources/player.png b/hi-IN/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/hi-IN/resources/player.png differ diff --git a/hi-IN/resources/room1.png b/hi-IN/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/hi-IN/resources/room1.png differ diff --git a/hi-IN/resources/room2.png b/hi-IN/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/hi-IN/resources/room2.png differ diff --git a/hi-IN/resources/room3.png b/hi-IN/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/hi-IN/resources/room3.png differ diff --git a/hi-IN/resources/sign.svg b/hi-IN/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/hi-IN/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hi-IN/scratch-translatable.txt b/hi-IN/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/hi-IN/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/hi-IN/solutions/CreateYourOwnWorld.sb3 b/hi-IN/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/hi-IN/solutions/CreateYourOwnWorld.sb3 differ diff --git a/hi-IN/step_1.md b/hi-IN/step_1.md new file mode 100644 index 000000000..417d7b3e1 --- /dev/null +++ b/hi-IN/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +यह इस प्रोजेक्ट का **Scratch 3** संस्करण (version) है। इस प्रोजेक्ट का [Scratch 2 संस्करण](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2) भी है। + +\--- /no-print \--- + +## परिचय + +इस प्रोजेक्ट में आप ऐसा गेम बनाना सीखेंगे जिसमें आपका खुद का एक एडवेंचर गेम वर्ल्ड होगा जिसके अलग अलग स्तर भी होंगे | + +### आप क्या बनाएँगे + +\--- no-print \--- + +प्रारंभ करने के लिए हरे झंडे पर क्लिक करें । अपने पात्र को अपनी दुनिया में हिलाने के लिए arrow keys (ऊपर निचे वाले बटन) का प्रयोग करें | + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +अपने अपने पात्र को दुनिया में हिलाने के लिए arrow keys (ऊपर निचे वाले बटन) का प्रयोग करेंगे | ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: आपको किन चीजों की आवश्यकता होगी + +### हार्डवेयर + +- Scratch 3 चलाने में सक्षम कंप्यूटर + +### सॉफ्टवेयर + +- Scratch 3 (या तो [ऑनलाइन](https://rpf.io/scratchon){:target="_blank"} या [ऑफ़लाइन](https://rpf.io/scratchoff){:target="_blank"}) + +### डाउनलोड + +आपको इस प्रोजेक्ट को पूरा करने के लिए [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go) पर सब कुछ मिल सकता है | + +\--- /collapse \--- + +## \--- collapse \--- + +## title: आप क्या सीखेंगे + +- सनियम चयन (conditional selection) का कुछ ज़रूरी कमांड्स में प्रयोग +- गेम की स्थिति को संग्रहीत (store) करने के लिए वेरिएबल (variable) का उपयोग +- एक वेरिएबल के मूल्य (value of a variable) के आधार पर सनियम चयन का उपयोग +- डेटा (data) संग्रहीत करने के लिए सूचियों (lists) का उपयोग + +\--- /collapse \--- + +## \--- collapse \--- + +## title: शिक्षकों के लिए अतिरिक्त जानकारी + +अगर आपको इस प्रोजेक्ट को प्रिंट करने की आवश्यकता है, तो कृप्या [प्रिंटर-अनुकूल संस्करण](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){: target ="_ blank"} का उपयोग करें। + +आप इधर [पूरा प्रोजेक्ट](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"} देख सकते हैं । + +\--- /collapse \--- \ No newline at end of file diff --git a/hi-IN/step_10.md b/hi-IN/step_10.md new file mode 100644 index 000000000..492ff6c71 --- /dev/null +++ b/hi-IN/step_10.md @@ -0,0 +1,71 @@ +## सिक्के (Coins) बटोरना + +आपका `खिलाड़ी (player)` स्प्राइट सिक्कों को बटोरने में सक्षम होना चाहिए जब वो आपकी दुनिया में चल रहा है। + +\--- task \--- + +`coins`{:class="block3variables"} नामक एक नया वेरिएबल (variable) अपने प्रोजेक्ट में जोड़ें | + +\--- /task \--- + +\--- task \--- + +`coin` (सिक्के) स्प्राइट का चुनें और **show** पर क्लिक करें | + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +अपने `coin` (सिक्के) स्प्राइट में कोड जोड़ें ताकि यह केवल कमरा 1 में दिखाई दे। + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +अपने `coin` (सिक्के) स्प्राइट में कोड जोड़ें ताकि स्प्राइट `hides`{:class="block3looks"} और `1`{:class="block3variables"} को जोड़ा जाये `coins`{:class="block3variables"} वेरिएबल में ताकि एक बार `player` (खिलाडी) स्प्राइट `coin` स्प्राइट जैसे ही छूता है वो उसे 'उठा ले' | + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +यह कोड `stop other scripts in sprite`{:class="block3control"} ज़रूरी है ताकि `coin` स्प्राइट एक बार इकट्ठे होने के बाद कमरा 1 में नज़र न आये | + +\--- /task \--- + +\--- task \--- + +अब अपने सिक्कों को सेट करने के लिए स्टेज में कोड जोड़ें ताकि `coins`{:class="block3variables"} वेरिएबल गेम की शुरुआत में `0`{:class="block3variables"} हो जाये | + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +अपने गेम का परीक्षण करें। एक सिक्का बटोरते ही आपका `coins` का स्कोर `1`{:class="block3variables"} में बदलना चाहिए | + +\--- /task \--- \ No newline at end of file diff --git a/hi-IN/step_11.md b/hi-IN/step_11.md new file mode 100644 index 000000000..f0c902fbd --- /dev/null +++ b/hi-IN/step_11.md @@ -0,0 +1,104 @@ +## दरवाज़े और चाभियाँ + +अब आप कोड जोड़ने जा रहे हैं ताकि आपके खेल की दुनिया के कुछ दरवाजे बंद (lock) हो और खिलाड़ी को उन्हें खोलने और अगले कमरे में जाने के लिए चाबी ढूंढनी होगी। + +\--- task \--- + +`key` चाभी वाली स्प्राइट पर जाएं | स्क्रिप्ट्स मेनू (Scripts menu) से `show`{:class="blocklooks"} ब्लॉक पर क्लिक करें ताकि स्प्राइट स्टेज (जहा आपके पात्र हिलते है) पर नज़र आये | + +\--- /task \--- + +\--- task \--- + +`key` (चाभी) स्प्राइट के पोशाक (Costume) को नीले में बदलने के लिए एडिट (edit) करें | + +\--- /task \--- + +\--- task \--- + +अपनी स्टेज बैकड्रॉप (stage backdrop) को कमरे 3 में बदलें और `key` (चाभी) स्प्राइट को ऐसी जगह रखें जहाँ पहुँचने के लिए मुश्किल हो! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +अपने `key` (चाभी) स्प्राइट में कोड जोड़ें ताकि यह केवल कमरा 3 में दिखाई दे। + +\--- /task \--- + +\--- task \--- + +एक नई सूची बनाएं जिसे हम कहेंगे `inventory`{:class="block3variables"} जो आपके `player` स्प्राइट द्वारा इकठ्ठा किये गए सामान (items) को एकत्रित (store) करेगा। + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +चाभी (key) को इकट्ठा करने के लिए आपको जिस कोड को जोड़ना होगा वह सिक्के एकत्र करने के कोड के समान है। अंतर यह है कि आप चाभी (key) को `inventory`{:class="block3variables"} में डालेंगे। + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +खेल की शुरुआत में अपने inventory सूची को खाली करने के लिए अपने स्टेज (Stage) में कोड जोड़ें। + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +यह देखने के लिए कि क्या आप `key` (चाभी) एकत्र कर अपने inventory में जोड़ पाते है कि नहीं, अपने गेम का परीक्षण करें। + +\--- /task \--- + +\--- task \--- + +अब बंद दरवाजे (locked door) को जोड़ें। `door-blue` स्प्राइट को चुनें और `show`{:class="blocklooks} पर क्लिक करें स्क्रिप्ट्स मेनू (scripts menu) में और फिर दो दीवारों के बीच में स्प्राइट को रखें। + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +अपने `door-blue` स्प्राइट में कोड जोड़ें ताकि यह केवल कमरा 3 में दिखाई दे। + +\--- /task \--- + +\--- task \--- + +`door-blue` स्प्राइट में कोड जोड़ें ताकि जब key (चाभी) `inventory`{:class="block3variables"} में है तब स्प्राइट `hides`{:class="block3looks"} ताकि `player` स्प्राइट आराम से जा पाए | + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +अपने खेल का परीक्षण करें और देखें कि क्या आप दरवाजा खोलने के लिए नीली चाभी बटोर सकते हैं! + +\--- /task \--- \ No newline at end of file diff --git a/hi-IN/step_12.md b/hi-IN/step_12.md new file mode 100644 index 000000000..2133163f1 --- /dev/null +++ b/hi-IN/step_12.md @@ -0,0 +1,28 @@ +## चुनौती: अपनी दुनिया को और भी बड़ा बनाएं + +अब आप अपनी दुनिया बनाना जारी रख सकते हैं! यहाँ कुछ विचार हैं: + ++ अलग-अलग कमरों में अपने खेल में अधिक सिक्के जोड़ें। क्या आप दुश्मनों को गश्त करके कुछ सिक्कों की रक्षा कर सकते हैं? ++ अपने खेल की बैकड्रॉप (backdrop) बदलें ++ अपने गेम में आवाज़ और संगीत जोड़ें ++ अधिक लोगों, दुश्मनों और इशारो (signs) को जोड़ें ++ लाल और पीले दरवाजे और उन्हें खोलने के लिए विशेष चाभियाँ जोड़ें ++ अपने प्रोजेक्ट में और कमरे जोड़ें ++ अपने खेल में अन्य उपयोगी वस्तुओं को जोड़ें + + + अन्य लोगों से जानकारी प्राप्त करने के लिए सिक्कों का उपयोग करें: + +![screenshot](images/world-bribe.png) + ++ आप कमरे 1 की उत्तर और दक्षिण की दीवारों में दरवाजे भी जोड़ सकते हैं ताकि खिलाड़ी चारों दिशाओं में कमरों के बीच घूम सके। उदाहरण के लिए, आपके गेम में 3 × 3 ग्रिड (grid) में नौ कमरे हो सकते हैं। फिर आप एक स्तर नीचे जाने के लिए कमरे की संख्या में `3` जोड़ सकते हैं | + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/hi-IN/step_13.md b/hi-IN/step_13.md new file mode 100644 index 000000000..9bca15d88 --- /dev/null +++ b/hi-IN/step_13.md @@ -0,0 +1,21 @@ +## आगे क्या? + +क्यों न आप एक और गेम बनाये, [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) प्रोजेक्ट देखिये | + +\--- no-print \--- + +पेंसिल (pencil) के साथ एक रेखा खींचने के लिए माउस (mouse) से क्लिक करें और खींचें। आपका लक्ष्य बाहर निकलने के लिए एक सुरक्षित मार्ग बनाकर बिल्लियों को छेदों में गिरने से रोकना है। + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +यदि आप Scratch के बजाय Pythin का उपयोग करके एक गेम बनाना चाहते हैं, तो [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) प्रोजेक्ट को ज़रूर देखें। \ No newline at end of file diff --git a/hi-IN/step_2.md b/hi-IN/step_2.md new file mode 100644 index 000000000..c67d56bed --- /dev/null +++ b/hi-IN/step_2.md @@ -0,0 +1,132 @@ +## खिलाडी स्प्राइट (player sprite) को हिलाएं + +एक खिलाडी `player` स्प्राइट (sprite) बनाने से शुरुआत करिये जो आपकी बनायी गयी दुनिया में घूमेगा | + +\--- task \--- + +'Create your own world' Scratch स्टार्टर प्रोजेक्ट खोलें। + +**ऑनलाइन**: आप इस प्रोजेक्ट को [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"} में खोल सकते हैं। + +यदि आपके पास एक Scratch खाता (account) है, तो आप **Remix** पर क्लिक करके कॉपी बना सकते हैं। + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. यदि आपको Scratch ऑफ़लाइन एडिटर को डाउनलोड और इंस्टॉल (download and install) करने की आवश्यकता है तो आप इसे [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"} पर पा सकते हैं। + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Arrow keys (ऊपर निचे करना वाला बटन) को दबाने से हमारा `player` (खिलाड़ी) स्प्राइट हिलेगा | जब ऊपर का बटन दबाया जाता है, तो `player` (खिलाड़ी) स्प्राइट को प्रतिक्रिया में स्टेज (stage - जहा ये पात्र हिलते हैं) पर ऊपर की ओर जाना चाहिए। + +\--- task \--- + +इस कोड को अपने `player` (खिलाड़ी) स्प्राइट में जोड़ें: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +हरे झंडे पर क्लिक करें और फिर ऊपर तीर वाले बटन को दबाए रखें। क्या `player` (खिलाडी) स्प्राइट ऊपर की ओर जाता है? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +`player` (खिलाड़ी) स्प्राइट को बाईं ओर हिलाने के लिए आपको एक और `if`{:class="block3control"} ब्लॉक जोड़ना होगा वो भी सामान्य कोड के साथ | + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +अपने `player` (खिलाड़ी) स्प्राइट में और कोड जोड़ें ताकि वह नीचे और दाईं ओर भी जा सके। उस कोड का उपयोग और मदद लें जो आपके पास पहले से है। + +\--- hint \--- + +\--- hint \--- + +ऊपर जाने के लिए आप `player` स्प्राइट `0` डिग्री (degrees) कि दिशा की ओर इशारा करेंगे | स्प्राइट को नीचे ले जाने के लिए आपको क्या करना होगा? + +बाएं जाने के लिए आप `player` स्प्राइट <0>-90 डिग्री (degrees) कि दिशा की ओर इशारा करेंगे | स्प्राइट को दाईं ओर ले जाने के लिए आपको क्या करना होगा? + +\--- /hint \--- + +\--- hint \--- + +आपको इन दो ब्लॉकों को बदलने की जरूरत है: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +उस कोड को डुप्लिकेट (duplicate) करें जो `player` स्प्राइट को ऊपर की ओर ले जाता है, और स्प्राइट को नीचे ले जाने के लिए इन दोनों ब्लॉकों को बदल दें। कोड को फिर से डुप्लिकेट (duplicate) करें और स्प्राइट को दाईं ओर ले जाने के लिए इसे बदलें। + +\--- /hint \--- + +\--- hint \--- + +यहाँ दिखाया गया है कि आपका कोड कैसा दिखना चाहिए: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/hi-IN/step_3.md b/hi-IN/step_3.md new file mode 100644 index 000000000..1411bebe5 --- /dev/null +++ b/hi-IN/step_3.md @@ -0,0 +1,50 @@ +## पक्की दीवारें + +\--- task \--- + +अपने `player` (खिलाड़ी) स्प्राइट का फिर से परीक्षण करें। क्या आप देख पा रहे हैं कि यह हल्के भूरे रंग की दीवारों (grey walls) के बीच से भी चल सकता है? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +इसे ठीक करने के लिए आपको `player` (खिलाड़ी) स्प्राइट को थोड़ा पीछे हिलना होगा अगर यह एक हल्के भूरे रंग (grey walls) की दीवार को छूता है। यहाँ दिया गया कोड आपको अपने `forever`{:class="block3control"} ब्लॉक के अंदर डालना होगा जोकि direction ब्लॉक के नीचे है: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +कोशिश करें कि `player` स्प्राइट दिवार के बीचो बीच से निकल जाये | यदि आपका नया कोड काम करता है, तो यह संभव नहीं होना चाहिए। + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/hi-IN/step_4.md b/hi-IN/step_4.md new file mode 100644 index 000000000..32545692b --- /dev/null +++ b/hi-IN/step_4.md @@ -0,0 +1,142 @@ +## अपनी दुनिया में घूमें + +`player` स्प्राइट अब अब अन्य कमरों के दरवाज़ों से चलने में सक्षम होना चाहिए + +आपकी प्रोजेक्ट में अन्य कमरों के लिए बैकड्रॉप (backdrop) हैं: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +`room` {:class="block3variables"} नामक एक वेरिएबल (variable) बनाये जो सारे स्प्राइटस का पता रखेगा कि `player` किस कमरे में है | + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +जब `player` स्प्राइट पहले कमरे में नारंगी (orange) दरवाजे को छूता है, खेल को अगला बैकड्रॉप दिखाना चाहिए और `player` स्प्राइट को स्टेज के बाईं ओर वापस जाना चाहिए। इस कोड को `player` खिलाड़ी स्प्राइट के `forever`{:class="block3control"} लूप अंदर के जोड़ें: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +हर बार खेल शुरू होने पर कमरा, पात्रों की जगह और बैकड्रॉप (backdrop) को रीसेट (reset) होना चाहिए। + +अपने `plaer` स्प्राइट के **start** ये कोड जोड़ें जो `forever`{:class="block3control"} लूप के ऊपर है, ताकी हरा झंडा क्लिक करते ही सब कुछ रिसेट (reset) होजाये: + +\--- hint \--- + +\--- hint \--- + +जब गेम शुरू होता है: + ++ `room`{:class="block3variables"} का मूल्य `1`{:class="block3variables"} करें ++ `backdrop`{:class="block3looks"} को `room1`{:class="block3looks"} में करें ++ `player` का जगह हमें सेट करना चाहिए, `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +आपको इन कोड ब्लॉक्स की ज़रुरत पड़ेगी: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +यहां बताया गया है कि आपका तैयार कोड कैसा दिखना चाहिए: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +हरे झंडे पर क्लिक करें और फिर अपने `player` स्प्राइट को घुमाएं जब तक वह नारंगी दरवाजे (orange door) को छू ना ले | क्या स्प्राइट अगली स्क्रीन (screen) पर जाता है? क्या `room`{:class="block3variables"} वेरिएबल बदल के `2` होता है? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/hi-IN/step_5.md b/hi-IN/step_5.md new file mode 100644 index 000000000..ba94796f3 --- /dev/null +++ b/hi-IN/step_5.md @@ -0,0 +1,3 @@ +## चुनौती: पिछले कमरे में वापस जाएँ + +क्या आप अपने `player` स्प्राइट को पिछले कमरे में वापस बेझ सकते हैं अगर वो पीले दरवाजे (yellow door) को छूता है? इसके लिए आपको जिस कोड की आवश्यकता है वह उस कोड के समान है जिसे आपने पहले कमरे में स्प्राइट को चलाने के लिए जोड़ा था। \ No newline at end of file diff --git a/hi-IN/step_6.md b/hi-IN/step_6.md new file mode 100644 index 000000000..fed1135e8 --- /dev/null +++ b/hi-IN/step_6.md @@ -0,0 +1,108 @@ +## संकेत (Signs) + +अब खिलाड़ियों को उनकी यात्रा पर मार्गदर्शन करने के लिए अपनी दुनिया में संकेत (signs) जोड़ें। + +आपकी प्रोजेक्ट में `welcome sign` (स्वागत चिन्ह) भी शामिल है: + +![screenshot](images/world-sign.png) + +\--- task \--- + +`welcome sign` (स्वागत चिन्ह) स्प्राइट केवल कमरे 1 में दिखाई देनी चाहिए इसलिए स्प्राइट में कुछ कोड जोड़कर सुनिश्चित करें कि ऐसा ही होता है: + +\--- hints \--- + +\--- hint \--- + +जब `When the flag is clicked`{:class="block3events"} एक `forever`{:class="block3control"} लूप के अंदर तो यह देखें कि `if`{:class="block3control"} वो `room is 1`{:class="block3variables"} तो इस मामले में `show`{:class="block3looks"} `welcome sign` स्प्राइट वरना स्प्राइट को `else`{:class="block3control"} `hide`{:class="block3looks"} + +\--- /hint \--- + +\--- hint \--- + +इन ब्लॉक्स की आपको आवश्यकता होगी: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +यहाँ पूरा कोड है: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +अपने `welcome sign` (स्वागत चिह्न) स्प्राइट का कोड परीक्षण करें यह देखकर कि वह कमरों के बीच हिल पा रहा हैकि नही | चिह्न (sign) केवल कमरे 1 में दिखाई देनी चाहिए। + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +यदि चिह्न कुछ कहता नहीं है तो वह बहुत खूब नहीं है! संदेश प्रदर्शित करने के लिए कुछ और कोड जोड़ें अगर `welcome sign` स्प्राइट को `player` छूता है: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +अपने `welcome sign` (स्वागत चिन्ह) स्प्राइट का फिर से परीक्षण करें | अब आपको एक संदेश देखना चाहिए जब `player` स्प्राइट `welcome sign` को छूता है | + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/hi-IN/step_7.md b/hi-IN/step_7.md new file mode 100644 index 000000000..992388121 --- /dev/null +++ b/hi-IN/step_7.md @@ -0,0 +1,7 @@ +## चुनौती: खज़ाना! + +क्या आप खिलाड़ी को खोजने के लिए कुछ खज़ाना जोड़ सकते हैं? + +`treasure chest` स्प्राइट को केवल कमरे 3 में ही दिखाई देना चाहिए और जब `player` स्प्राइट उसे छूए तो स्प्राइट से ये बुलवाइए 'Well done!' + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/hi-IN/step_8.md b/hi-IN/step_8.md new file mode 100644 index 000000000..13286ffb6 --- /dev/null +++ b/hi-IN/step_8.md @@ -0,0 +1,65 @@ +## लोग + +अन्य लोगों को अपनी दुनिया में जोड़ें जो आपके `player` स्प्राइट के साथ बातचीत कर सकते हैं। + +\--- task \--- + +`person` वाले स्प्राइट पर बदलें | + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +`person` स्प्राइट में कुछ कोड जोड़ें ताकि वह `player` स्प्राइट से बात करे। यह कोड आपके द्वारा अपने `sign` (संकेत) स्प्राइट के कोड समान है: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +`person` स्प्राइट को हिलने कि आज़ादी इन दो ब्लॉक्स को जोड़कर दीजिये, यह अपने `else`{:class="block3control"} खंड में डालें: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +आपका `person` स्प्राइट अब चलेगा लेकिन `player`स्प्राइट से बात करना करने के लिए रुकेगा। + +![screenshot](images/world-person-test.png) + +\--- task \--- + +अपने `person` स्प्राइट में कोड जोड़ें ताकि यह केवल कमरा 1 में दिखाई दे। आपको जिस कोड की आवश्यकता है वह कोड के समान ही है जो आपने `sign` स्प्राइट में उपयोग किया था ताकी वह केवल कमरे 1 में दिखाई दे। + +सुनिश्चित करें कि आप अपने नए कोड कि परीक्षण करें। + +\--- /task \--- \ No newline at end of file diff --git a/hi-IN/step_9.md b/hi-IN/step_9.md new file mode 100644 index 000000000..4525ab9de --- /dev/null +++ b/hi-IN/step_9.md @@ -0,0 +1,39 @@ +## चुनौती: दुश्मन जोड़ें + +यदि आप चाहें तो आप अपने गेम में गश्त करने वाले दुश्मनों को भी जोड़ सकते हैं। यदि `player` स्प्राइट एक दुश्मन को छूता है, खेल वही समाप्त होता है। + ++ आपके गेम में पहले से ही एक `enemy` (दुश्मन) स्प्राइट है। अपने `enemy` स्प्राइट में कोड जोड़ें ताकि यह केवल कमरा 2 में दिखाई दे। + ++ और कोड जोड़ें ताकी आप `enemy` (दुश्मन ) स्प्राइट को हिलाएं और अगर `enemy` स््राइट `player` स्प्राइट को छू लेता है तो गेम वही खत्म होजाए | यह अलग कोड ब्लॉक में करना आसान है। यहां जानिए कि आपका `enemy` स्प्राइट का कोड कैसा दिखना चाहिए: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ सुनिश्चित करने के लिए अपने नए कोड का परीक्षण करें ताकि: + + `enemy` स्प्राइट केवल कमरे 2 में दिखाई दे + + `enemy` स्प्राइट कमरे में गश्त करता है + + खेल समाप्त होता है अगर `player` स्प्राइट `enemy` स्प्राइट को छूता है + +क्या आप दूसरा `enemy` स्प्राइट बना सकते हैं जो कमरे 3 में, जो दीवारों के बीच कि जगहों से निकल के गश्त करेगा? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/hr-HR/images/banner.png b/hr-HR/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/hr-HR/images/banner.png differ diff --git a/hr-HR/images/cats-finished.png b/hr-HR/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/hr-HR/images/cats-finished.png differ diff --git a/hr-HR/images/coin.png b/hr-HR/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/hr-HR/images/coin.png differ diff --git a/hr-HR/images/coin.svg b/hr-HR/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/hr-HR/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hr-HR/images/create-variable.png b/hr-HR/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/hr-HR/images/create-variable.png differ diff --git a/hr-HR/images/create-your-own-world.png b/hr-HR/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/hr-HR/images/create-your-own-world.png differ diff --git a/hr-HR/images/door.png b/hr-HR/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/hr-HR/images/door.png differ diff --git a/hr-HR/images/enemy.png b/hr-HR/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/hr-HR/images/enemy.png differ diff --git a/hr-HR/images/finished-move-down-right.png b/hr-HR/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/hr-HR/images/finished-move-down-right.png differ diff --git a/hr-HR/images/key.png b/hr-HR/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/hr-HR/images/key.png differ diff --git a/hr-HR/images/key.svg b/hr-HR/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/hr-HR/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hr-HR/images/north-south-rooms.png b/hr-HR/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/hr-HR/images/north-south-rooms.png differ diff --git a/hr-HR/images/number-grid.png b/hr-HR/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/hr-HR/images/number-grid.png differ diff --git a/hr-HR/images/person-sprite.png b/hr-HR/images/person-sprite.png new file mode 100644 index 000000000..8936b2e71 Binary files /dev/null and b/hr-HR/images/person-sprite.png differ diff --git a/hr-HR/images/person.png b/hr-HR/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/hr-HR/images/person.png differ diff --git a/hr-HR/images/player.png b/hr-HR/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/hr-HR/images/player.png differ diff --git a/hr-HR/images/showcase.png b/hr-HR/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/hr-HR/images/showcase.png differ diff --git a/hr-HR/images/sign.png b/hr-HR/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/hr-HR/images/sign.png differ diff --git a/hr-HR/images/sign.svg b/hr-HR/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/hr-HR/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hr-HR/images/stage.png b/hr-HR/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/hr-HR/images/stage.png differ diff --git a/hr-HR/images/variable-show.png b/hr-HR/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/hr-HR/images/variable-show.png differ diff --git a/hr-HR/images/world-backdrops.png b/hr-HR/images/world-backdrops.png new file mode 100644 index 000000000..6bbd01bfa Binary files /dev/null and b/hr-HR/images/world-backdrops.png differ diff --git a/hr-HR/images/world-bribe.png b/hr-HR/images/world-bribe.png new file mode 100644 index 000000000..2771dc526 Binary files /dev/null and b/hr-HR/images/world-bribe.png differ diff --git a/hr-HR/images/world-coins.png b/hr-HR/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/hr-HR/images/world-coins.png differ diff --git a/hr-HR/images/world-door.png b/hr-HR/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/hr-HR/images/world-door.png differ diff --git a/hr-HR/images/world-enemy-code.png b/hr-HR/images/world-enemy-code.png new file mode 100644 index 000000000..ce74f2c17 Binary files /dev/null and b/hr-HR/images/world-enemy-code.png differ diff --git a/hr-HR/images/world-enemy2.png b/hr-HR/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/hr-HR/images/world-enemy2.png differ diff --git a/hr-HR/images/world-final.png b/hr-HR/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/hr-HR/images/world-final.png differ diff --git a/hr-HR/images/world-key.png b/hr-HR/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/hr-HR/images/world-key.png differ diff --git a/hr-HR/images/world-north-south.png b/hr-HR/images/world-north-south.png new file mode 100644 index 000000000..972ef30d6 Binary files /dev/null and b/hr-HR/images/world-north-south.png differ diff --git a/hr-HR/images/world-person-test.png b/hr-HR/images/world-person-test.png new file mode 100644 index 000000000..bea6d947a Binary files /dev/null and b/hr-HR/images/world-person-test.png differ diff --git a/hr-HR/images/world-person.png b/hr-HR/images/world-person.png new file mode 100644 index 000000000..d10b2feba Binary files /dev/null and b/hr-HR/images/world-person.png differ diff --git a/hr-HR/images/world-player.png b/hr-HR/images/world-player.png new file mode 100644 index 000000000..96fc9768f Binary files /dev/null and b/hr-HR/images/world-player.png differ diff --git a/hr-HR/images/world-resources.png b/hr-HR/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/hr-HR/images/world-resources.png differ diff --git a/hr-HR/images/world-room-test.png b/hr-HR/images/world-room-test.png new file mode 100644 index 000000000..2eedbdb0b Binary files /dev/null and b/hr-HR/images/world-room-test.png differ diff --git a/hr-HR/images/world-room.png b/hr-HR/images/world-room.png new file mode 100644 index 000000000..d7aac269c Binary files /dev/null and b/hr-HR/images/world-room.png differ diff --git a/hr-HR/images/world-sign-test-left.png b/hr-HR/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/hr-HR/images/world-sign-test-left.png differ diff --git a/hr-HR/images/world-sign-test-right.png b/hr-HR/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/hr-HR/images/world-sign-test-right.png differ diff --git a/hr-HR/images/world-sign-test.png b/hr-HR/images/world-sign-test.png new file mode 100644 index 000000000..dca1ed09e Binary files /dev/null and b/hr-HR/images/world-sign-test.png differ diff --git a/hr-HR/images/world-sign-test2.png b/hr-HR/images/world-sign-test2.png new file mode 100644 index 000000000..e7a2b2b9c Binary files /dev/null and b/hr-HR/images/world-sign-test2.png differ diff --git a/hr-HR/images/world-sign.png b/hr-HR/images/world-sign.png new file mode 100644 index 000000000..0188e497f Binary files /dev/null and b/hr-HR/images/world-sign.png differ diff --git a/hr-HR/images/world-starter.png b/hr-HR/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/hr-HR/images/world-starter.png differ diff --git a/hr-HR/images/world-treasure.png b/hr-HR/images/world-treasure.png new file mode 100644 index 000000000..2dfc4886f Binary files /dev/null and b/hr-HR/images/world-treasure.png differ diff --git a/hr-HR/images/world-up.png b/hr-HR/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/hr-HR/images/world-up.png differ diff --git a/hr-HR/images/world-walls-test.png b/hr-HR/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/hr-HR/images/world-walls-test.png differ diff --git a/hr-HR/images/world-walls.png b/hr-HR/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/hr-HR/images/world-walls.png differ diff --git a/hr-HR/meta.yml b/hr-HR/meta.yml new file mode 100644 index 000000000..d7d288a69 --- /dev/null +++ b/hr-HR/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/create-your-own-world.png +title: Kreiraj vlastiti svijet +description: U ovom projektu naučit ćeš napraviti vlastitu igricu avanture. +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Sretan rođendan + - + title: Pomicanje sprite igrača + - + title: Čvrsti zidovi + completion: + - engaged + - + title: Kreći se svojim svijetom + - + title: 'Izazov: vratite se u prethodnu sobu' + challenge: true + - + title: Znakovi + - + title: 'Izazov: blago!' + challenge: true + - + title: Ljudi + - + title: 'Izazov: neprijatelji' + challenge: true + - + title: Skupljaj kovanice + - + title: Vrata i ključevi + completion: + - internal + - + title: 'Izazov: proširi svoj svijet' + challenge: true + completion: + - external diff --git a/hr-HR/resources/CreateYourOwnWorld.sb2 b/hr-HR/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8682d05f8 Binary files /dev/null and b/hr-HR/resources/CreateYourOwnWorld.sb2 differ diff --git a/hr-HR/resources/CreateYourOwnWorldResources.sb2 b/hr-HR/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8a9935e60 Binary files /dev/null and b/hr-HR/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/hr-HR/resources/CreateYourOwnWorldResources.sb3 b/hr-HR/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/hr-HR/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/hr-HR/resources/chest.svg b/hr-HR/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/hr-HR/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hr-HR/resources/coin.svg b/hr-HR/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/hr-HR/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hr-HR/resources/door-blue.png b/hr-HR/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/hr-HR/resources/door-blue.png differ diff --git a/hr-HR/resources/enemy.png b/hr-HR/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/hr-HR/resources/enemy.png differ diff --git a/hr-HR/resources/key.svg b/hr-HR/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/hr-HR/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/hr-HR/resources/person.png b/hr-HR/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/hr-HR/resources/person.png differ diff --git a/hr-HR/resources/player.png b/hr-HR/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/hr-HR/resources/player.png differ diff --git a/hr-HR/resources/room1.png b/hr-HR/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/hr-HR/resources/room1.png differ diff --git a/hr-HR/resources/room2.png b/hr-HR/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/hr-HR/resources/room2.png differ diff --git a/hr-HR/resources/room3.png b/hr-HR/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/hr-HR/resources/room3.png differ diff --git a/hr-HR/resources/sign.svg b/hr-HR/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/hr-HR/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hr-HR/scratch-translatable.txt b/hr-HR/scratch-translatable.txt new file mode 100644 index 000000000..ec80e2d8f --- /dev/null +++ b/hr-HR/scratch-translatable.txt @@ -0,0 +1,13 @@ +soba + +igrač + +Dobro došli! Možeš li doći do blaga? + +Jeste li znali da možete proći kroz narančasta i žuta vrata? + +kovanice + +plavi ključ + +inventar diff --git a/hr-HR/solutions/CreateYourOwnWorld.sb3 b/hr-HR/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/hr-HR/solutions/CreateYourOwnWorld.sb3 differ diff --git a/hr-HR/step_1.md b/hr-HR/step_1.md new file mode 100644 index 000000000..f5b72e31e --- /dev/null +++ b/hr-HR/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Ovo je ** Scratch 3 ** verzija projekta. Tu je i [ Scratch 2 verzija projekta ](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Uvod + +U ovom projektu, naučit ćete stvoriti svoj vlastiti svijet avanturističkih igara na više razina istraživanja. + +### Što ćete napraviti + +\--- no-print \--- + +Kliknite zelenu zastavu za početak. Upotrijebite tipke sa strelicama za pomicanje svog lika po svijetu. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Upotrijebite tipke sa strelicama za pomicanje svog lika po svijetu. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## naslov: Trebat ćeš + +### Hardver + +- Računalo koje može pokrenuti Scratch 3 + +### Softver + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Preuzimanja + +Sve što je potrebno za dovršavanje ovog projekta možete pronaći na [ rpf.io/p/en/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## naslov: Naučit ćeš + +- Upotrijebiti uvjetni odabir da biste reagirali na pritiske tipki +- Koristiti varijable za spremanje stanja igre +- Koristiti uvjetni odabir na temelju vrijednosti varijable +- Upotrijebiti liste za pohranu podataka + +\--- /collapse \--- + +## \--- collapse \--- + +## naslov: Dodatne informacije za edukatore + +Ako trebate ispisati ovaj projekt, koristite [printer-friendly version](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:Target="_ blank"}. + +Dovršen projekt možete pronaći [ovdje](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/hr-HR/step_10.md b/hr-HR/step_10.md new file mode 100644 index 000000000..c8e41fb78 --- /dev/null +++ b/hr-HR/step_10.md @@ -0,0 +1,71 @@ +## Skupljaj novčiće + +Vaš ` igrač ` sprite bi trebao biti u mogućnosti skupljati novčiće dok se kreće svijetom. + +\--- task \--- + +Dodajte novu varijablu, promjenjivog broja ` kovanice` {: class = "block3variables"} u svoj projekt. + +\--- /task \--- + +\--- task \--- + +Odaberite ` novčić ` sprite i kliknite ** prikaži **,. + +![snimka zaslona](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Dodajte kôd ` novčić ` sprite tako da se pojavljuje samo u sobi 1. + +![snimka zaslona](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Dodajte kôd ` novčić` spriteu tako da se ` skriva ` {: class = "block3looks"} i ` 1 ` {: class = "block3variables"} se pribraja u varijablu ` kovanice` {: class = "block3variables"} kada sprite ` igrač ` dodiruje ` novčić ` i "pokupi ga". + +![novčić](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +Kod ` zaustavlja ostale skripte u spriteu ` {: class = "block3control"} potreban je tako da ` novčić ` sprite prestaje biti prikazan u sobi 1 nakon što je prikupljen. + +\--- /task \--- + +\--- task \--- + +Sada dodajte kôd u Pozornicu da biste postavili varijablu ` kovanice ` {: class = "block3variables"} na ` 0 ` {: class = "block3variables"} na početku igre. + +![pozornica](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Testirajte svoju igru. Prikupljanje novčića trebalo bi promijeniti vaše ` kovanice ` rezultat na ` 1 ` {: Class = "block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/hr-HR/step_11.md b/hr-HR/step_11.md new file mode 100644 index 000000000..3d22fac02 --- /dev/null +++ b/hr-HR/step_11.md @@ -0,0 +1,104 @@ +## Vrata i ključevi + +Sada ćete dodati kôd tako da su neka vrata u vašem svijetu igara zaključana, a igrač mora pronaći ključ da ih otvori i stigne do sljedeće sobe. + +\--- task \--- + +Kliknite na ` ključ ` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/hr-HR/step_12.md b/hr-HR/step_12.md new file mode 100644 index 000000000..680adf964 --- /dev/null +++ b/hr-HR/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Evo nekoliko ideja: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![screenshot](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/hr-HR/step_13.md b/hr-HR/step_13.md new file mode 100644 index 000000000..8a2c09715 --- /dev/null +++ b/hr-HR/step_13.md @@ -0,0 +1,21 @@ +## Što dalje? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/hr-HR/step_2.md b/hr-HR/step_2.md new file mode 100644 index 000000000..2afb51cdb --- /dev/null +++ b/hr-HR/step_2.md @@ -0,0 +1,132 @@ +## Pomakni sprite igrača + +Započnite stvaranjem ` playera ` sprite koji se može kretati po vašem svijetu. + +\--- task \--- + +Otvorite početni projekt "Stvorite svoj svijet". + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Ako imate Scratch račun, možete napraviti kopiju klikom na ** Remix **. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Ako trebate preuzeti i instalirati izvanmrežni Scratch editor, možete ga pronaći na [ rpf.io/scratchoff ](https://rpf.io/scratchoff) {: Target = "_ blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Ovako bi tvoj kôd trebao izgledati: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/hr-HR/step_3.md b/hr-HR/step_3.md new file mode 100644 index 000000000..c35c898cf --- /dev/null +++ b/hr-HR/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/hr-HR/step_4.md b/hr-HR/step_4.md new file mode 100644 index 000000000..7343fe1de --- /dev/null +++ b/hr-HR/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/hr-HR/step_5.md b/hr-HR/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/hr-HR/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/hr-HR/step_6.md b/hr-HR/step_6.md new file mode 100644 index 000000000..1bd3e3e3e --- /dev/null +++ b/hr-HR/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![screenshot](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Ovdje su blokovi koji vam trebaju: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/hr-HR/step_7.md b/hr-HR/step_7.md new file mode 100644 index 000000000..2368ef13a --- /dev/null +++ b/hr-HR/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/hr-HR/step_8.md b/hr-HR/step_8.md new file mode 100644 index 000000000..42966a563 --- /dev/null +++ b/hr-HR/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/hr-HR/step_9.md b/hr-HR/step_9.md new file mode 100644 index 000000000..02b33ad08 --- /dev/null +++ b/hr-HR/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/hu-HU/images/banner.png b/hu-HU/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/hu-HU/images/banner.png differ diff --git a/hu-HU/images/cats-finished.png b/hu-HU/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/hu-HU/images/cats-finished.png differ diff --git a/hu-HU/images/coin.png b/hu-HU/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/hu-HU/images/coin.png differ diff --git a/hu-HU/images/door.png b/hu-HU/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/hu-HU/images/door.png differ diff --git a/hu-HU/images/key.png b/hu-HU/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/hu-HU/images/key.png differ diff --git a/hu-HU/images/north-south-rooms.png b/hu-HU/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/hu-HU/images/north-south-rooms.png differ diff --git a/hu-HU/images/number-grid.png b/hu-HU/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/hu-HU/images/number-grid.png differ diff --git a/hu-HU/images/person.png b/hu-HU/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/hu-HU/images/person.png differ diff --git a/hu-HU/images/player.png b/hu-HU/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/hu-HU/images/player.png differ diff --git a/hu-HU/images/showcase.png b/hu-HU/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/hu-HU/images/showcase.png differ diff --git a/hu-HU/images/sign.png b/hu-HU/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/hu-HU/images/sign.png differ diff --git a/hu-HU/images/stage.png b/hu-HU/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/hu-HU/images/stage.png differ diff --git a/hu-HU/images/world-backdrops.png b/hu-HU/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/hu-HU/images/world-backdrops.png differ diff --git a/hu-HU/images/world-bribe.png b/hu-HU/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/hu-HU/images/world-bribe.png differ diff --git a/hu-HU/images/world-door.png b/hu-HU/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/hu-HU/images/world-door.png differ diff --git a/hu-HU/images/world-enemy2.png b/hu-HU/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/hu-HU/images/world-enemy2.png differ diff --git a/hu-HU/images/world-key.png b/hu-HU/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/hu-HU/images/world-key.png differ diff --git a/hu-HU/images/world-person-test.png b/hu-HU/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/hu-HU/images/world-person-test.png differ diff --git a/hu-HU/images/world-room-test.png b/hu-HU/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/hu-HU/images/world-room-test.png differ diff --git a/hu-HU/images/world-room.png b/hu-HU/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/hu-HU/images/world-room.png differ diff --git a/hu-HU/images/world-sign-test.png b/hu-HU/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/hu-HU/images/world-sign-test.png differ diff --git a/hu-HU/images/world-sign-test2.png b/hu-HU/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/hu-HU/images/world-sign-test2.png differ diff --git a/hu-HU/images/world-sign.png b/hu-HU/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/hu-HU/images/world-sign.png differ diff --git a/hu-HU/images/world-starter.png b/hu-HU/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/hu-HU/images/world-starter.png differ diff --git a/hu-HU/images/world-treasure.png b/hu-HU/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/hu-HU/images/world-treasure.png differ diff --git a/hu-HU/images/world-up.png b/hu-HU/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/hu-HU/images/world-up.png differ diff --git a/hu-HU/images/world-walls-test.png b/hu-HU/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/hu-HU/images/world-walls-test.png differ diff --git a/hu-HU/images/world-walls.png b/hu-HU/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/hu-HU/images/world-walls.png differ diff --git a/hu-HU/meta.yml b/hu-HU/meta.yml new file mode 100644 index 000000000..aa45dcd5a --- /dev/null +++ b/hu-HU/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Bevezetés + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/hu-HU/resources/CreateYourOwnWorldResources.sb3 b/hu-HU/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/hu-HU/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/hu-HU/resources/chest.svg b/hu-HU/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/hu-HU/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hu-HU/resources/coin.svg b/hu-HU/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/hu-HU/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hu-HU/resources/door-blue.png b/hu-HU/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/hu-HU/resources/door-blue.png differ diff --git a/hu-HU/resources/enemy.png b/hu-HU/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/hu-HU/resources/enemy.png differ diff --git a/hu-HU/resources/key.svg b/hu-HU/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/hu-HU/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/hu-HU/resources/person.png b/hu-HU/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/hu-HU/resources/person.png differ diff --git a/hu-HU/resources/player.png b/hu-HU/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/hu-HU/resources/player.png differ diff --git a/hu-HU/resources/room1.png b/hu-HU/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/hu-HU/resources/room1.png differ diff --git a/hu-HU/resources/room2.png b/hu-HU/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/hu-HU/resources/room2.png differ diff --git a/hu-HU/resources/room3.png b/hu-HU/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/hu-HU/resources/room3.png differ diff --git a/hu-HU/resources/sign.svg b/hu-HU/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/hu-HU/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/hu-HU/scratch-translatable.txt b/hu-HU/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/hu-HU/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/hu-HU/solutions/CreateYourOwnWorld.sb3 b/hu-HU/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/hu-HU/solutions/CreateYourOwnWorld.sb3 differ diff --git a/hu-HU/step_1.md b/hu-HU/step_1.md new file mode 100644 index 000000000..68c9cad18 --- /dev/null +++ b/hu-HU/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Ez a projekt **Scratch 3**-as verziója. A projekt [Scratch 2 változata](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2) is elérhető. + +\--- /no-print \--- + +## Bevezetés + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Mit fogsz elkészíteni + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Amire szükséged lesz + +### Hardver + +- Egy, a Scratch 3 futtatására alkalmas számítógép + +### Szoftver + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Letöltések + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Amit meg fogsz tanulni + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: További információk oktatóknak + +Ha ki szeretnéd nyomtatni ezt a projektet, kérjük, használd a [nyomtatóbarát verziót](https://projects.raspberrypi.org/en/projects/create-your-own-world/print) {:target="_blank"}. + +Itt található a [befejezett projekt](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/hu-HU/step_10.md b/hu-HU/step_10.md new file mode 100644 index 000000000..602cf5cc4 --- /dev/null +++ b/hu-HU/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![játéktér](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/hu-HU/step_11.md b/hu-HU/step_11.md new file mode 100644 index 000000000..fb9a465df --- /dev/null +++ b/hu-HU/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![képernyőkép](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/hu-HU/step_12.md b/hu-HU/step_12.md new file mode 100644 index 000000000..5d0e58cc6 --- /dev/null +++ b/hu-HU/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Íme néhány ötlet: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![screenshot](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![screenshot](images/north-south-rooms.png) + +![képernyőkép](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/hu-HU/step_13.md b/hu-HU/step_13.md new file mode 100644 index 000000000..fd036b2f1 --- /dev/null +++ b/hu-HU/step_13.md @@ -0,0 +1,21 @@ +## Mi a következő lépés? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/hu-HU/step_2.md b/hu-HU/step_2.md new file mode 100644 index 000000000..51a6dd489 --- /dev/null +++ b/hu-HU/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Ha már van Scratch fiókod, készíthetsz egy másolatot a **Remixelés** gombbal. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Ha le szeretnéd tölteni és telepíteni a Scratch offline szerkesztőt, akkor azt itt találod: [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/hu-HU/step_3.md b/hu-HU/step_3.md new file mode 100644 index 000000000..c35c898cf --- /dev/null +++ b/hu-HU/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/hu-HU/step_4.md b/hu-HU/step_4.md new file mode 100644 index 000000000..7343fe1de --- /dev/null +++ b/hu-HU/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/hu-HU/step_5.md b/hu-HU/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/hu-HU/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/hu-HU/step_6.md b/hu-HU/step_6.md new file mode 100644 index 000000000..f046657d5 --- /dev/null +++ b/hu-HU/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![screenshot](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/hu-HU/step_7.md b/hu-HU/step_7.md new file mode 100644 index 000000000..2368ef13a --- /dev/null +++ b/hu-HU/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/hu-HU/step_8.md b/hu-HU/step_8.md new file mode 100644 index 000000000..42966a563 --- /dev/null +++ b/hu-HU/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/hu-HU/step_9.md b/hu-HU/step_9.md new file mode 100644 index 000000000..02b33ad08 --- /dev/null +++ b/hu-HU/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/it-IT/images/banner.png b/it-IT/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/it-IT/images/banner.png differ diff --git a/it-IT/images/cats-finished.png b/it-IT/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/it-IT/images/cats-finished.png differ diff --git a/it-IT/images/coin.png b/it-IT/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/it-IT/images/coin.png differ diff --git a/it-IT/images/coin.svg b/it-IT/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/it-IT/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/it-IT/images/create-variable.png b/it-IT/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/it-IT/images/create-variable.png differ diff --git a/it-IT/images/create-your-own-world.png b/it-IT/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/it-IT/images/create-your-own-world.png differ diff --git a/it-IT/images/door.png b/it-IT/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/it-IT/images/door.png differ diff --git a/it-IT/images/enemy.png b/it-IT/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/it-IT/images/enemy.png differ diff --git a/it-IT/images/finished-move-down-right.png b/it-IT/images/finished-move-down-right.png new file mode 100644 index 000000000..a32d41fbe Binary files /dev/null and b/it-IT/images/finished-move-down-right.png differ diff --git a/it-IT/images/key.png b/it-IT/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/it-IT/images/key.png differ diff --git a/it-IT/images/key.svg b/it-IT/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/it-IT/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/it-IT/images/north-south-rooms.png b/it-IT/images/north-south-rooms.png new file mode 100644 index 000000000..b365366cb Binary files /dev/null and b/it-IT/images/north-south-rooms.png differ diff --git a/it-IT/images/number-grid.png b/it-IT/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/it-IT/images/number-grid.png differ diff --git a/it-IT/images/person-sprite.png b/it-IT/images/person-sprite.png new file mode 100644 index 000000000..ecbf5de99 Binary files /dev/null and b/it-IT/images/person-sprite.png differ diff --git a/it-IT/images/person.png b/it-IT/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/it-IT/images/person.png differ diff --git a/it-IT/images/player.png b/it-IT/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/it-IT/images/player.png differ diff --git a/it-IT/images/showcase.png b/it-IT/images/showcase.png new file mode 100644 index 000000000..71a78501a Binary files /dev/null and b/it-IT/images/showcase.png differ diff --git a/it-IT/images/sign.png b/it-IT/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/it-IT/images/sign.png differ diff --git a/it-IT/images/sign.svg b/it-IT/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/it-IT/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/it-IT/images/stage.png b/it-IT/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/it-IT/images/stage.png differ diff --git a/it-IT/images/variable-show.png b/it-IT/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/it-IT/images/variable-show.png differ diff --git a/it-IT/images/world-backdrops.png b/it-IT/images/world-backdrops.png new file mode 100644 index 000000000..9bb65ac33 Binary files /dev/null and b/it-IT/images/world-backdrops.png differ diff --git a/it-IT/images/world-bribe.png b/it-IT/images/world-bribe.png new file mode 100644 index 000000000..414f25736 Binary files /dev/null and b/it-IT/images/world-bribe.png differ diff --git a/it-IT/images/world-coins.png b/it-IT/images/world-coins.png new file mode 100644 index 000000000..fefb6bc4d Binary files /dev/null and b/it-IT/images/world-coins.png differ diff --git a/it-IT/images/world-door.png b/it-IT/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/it-IT/images/world-door.png differ diff --git a/it-IT/images/world-enemy-code.png b/it-IT/images/world-enemy-code.png new file mode 100644 index 000000000..a709dcec7 Binary files /dev/null and b/it-IT/images/world-enemy-code.png differ diff --git a/it-IT/images/world-enemy2.png b/it-IT/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/it-IT/images/world-enemy2.png differ diff --git a/it-IT/images/world-final.png b/it-IT/images/world-final.png new file mode 100644 index 000000000..be67a2606 Binary files /dev/null and b/it-IT/images/world-final.png differ diff --git a/it-IT/images/world-key.png b/it-IT/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/it-IT/images/world-key.png differ diff --git a/it-IT/images/world-north-south.png b/it-IT/images/world-north-south.png new file mode 100644 index 000000000..69e8a6f6c Binary files /dev/null and b/it-IT/images/world-north-south.png differ diff --git a/it-IT/images/world-person-test.png b/it-IT/images/world-person-test.png new file mode 100644 index 000000000..a747dd519 Binary files /dev/null and b/it-IT/images/world-person-test.png differ diff --git a/it-IT/images/world-person.png b/it-IT/images/world-person.png new file mode 100644 index 000000000..8f5568e17 Binary files /dev/null and b/it-IT/images/world-person.png differ diff --git a/it-IT/images/world-player.png b/it-IT/images/world-player.png new file mode 100644 index 000000000..1d3991d35 Binary files /dev/null and b/it-IT/images/world-player.png differ diff --git a/it-IT/images/world-resources.png b/it-IT/images/world-resources.png new file mode 100644 index 000000000..151d08eea Binary files /dev/null and b/it-IT/images/world-resources.png differ diff --git a/it-IT/images/world-room-test.png b/it-IT/images/world-room-test.png new file mode 100644 index 000000000..2f58aba9e Binary files /dev/null and b/it-IT/images/world-room-test.png differ diff --git a/it-IT/images/world-room.png b/it-IT/images/world-room.png new file mode 100644 index 000000000..3f5d7db94 Binary files /dev/null and b/it-IT/images/world-room.png differ diff --git a/it-IT/images/world-sign-test-left.png b/it-IT/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/it-IT/images/world-sign-test-left.png differ diff --git a/it-IT/images/world-sign-test-right.png b/it-IT/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/it-IT/images/world-sign-test-right.png differ diff --git a/it-IT/images/world-sign-test.png b/it-IT/images/world-sign-test.png new file mode 100644 index 000000000..be47b35e3 Binary files /dev/null and b/it-IT/images/world-sign-test.png differ diff --git a/it-IT/images/world-sign-test2.png b/it-IT/images/world-sign-test2.png new file mode 100644 index 000000000..da14cd9b2 Binary files /dev/null and b/it-IT/images/world-sign-test2.png differ diff --git a/it-IT/images/world-sign.png b/it-IT/images/world-sign.png new file mode 100644 index 000000000..b73959dbf Binary files /dev/null and b/it-IT/images/world-sign.png differ diff --git a/it-IT/images/world-starter.png b/it-IT/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/it-IT/images/world-starter.png differ diff --git a/it-IT/images/world-treasure.png b/it-IT/images/world-treasure.png new file mode 100644 index 000000000..d9ba5ceb6 Binary files /dev/null and b/it-IT/images/world-treasure.png differ diff --git a/it-IT/images/world-up.png b/it-IT/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/it-IT/images/world-up.png differ diff --git a/it-IT/images/world-walls-test.png b/it-IT/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/it-IT/images/world-walls-test.png differ diff --git a/it-IT/images/world-walls.png b/it-IT/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/it-IT/images/world-walls.png differ diff --git a/it-IT/meta.yml b/it-IT/meta.yml new file mode 100644 index 000000000..10fedc116 --- /dev/null +++ b/it-IT/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Crea il Tuo Mondo +description: Scopri come creare il tuo gioco di avventura esplorativa +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introduzione + - + title: Spostare lo sprite del giocatore + - + title: Muri solidi + completion: + - engaged + - + title: Muoviti nel tuo mondo + - + title: 'Sfida: trasferirsi nella stanza precedente' + challenge: true + - + title: Cartelli + - + title: 'Sfida: tesoro!' + challenge: true + - + title: Persone + - + title: 'Sfida: nemici' + challenge: true + - + title: Raccogliere monete + - + title: Porte e chiavi + completion: + - internal + - + title: 'Sfida: espandi il tuo mondo' + challenge: true + completion: + - external diff --git a/it-IT/resources/CreateYourOwnWorld.sb2 b/it-IT/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8c01983d1 Binary files /dev/null and b/it-IT/resources/CreateYourOwnWorld.sb2 differ diff --git a/it-IT/resources/CreateYourOwnWorldResources.sb2 b/it-IT/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..bca4be03c Binary files /dev/null and b/it-IT/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/it-IT/resources/CreateYourOwnWorldResources.sb3 b/it-IT/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..0973db5a0 Binary files /dev/null and b/it-IT/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/it-IT/resources/chest.svg b/it-IT/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/it-IT/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/it-IT/resources/coin.svg b/it-IT/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/it-IT/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/it-IT/resources/door-blue.png b/it-IT/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/it-IT/resources/door-blue.png differ diff --git a/it-IT/resources/enemy.png b/it-IT/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/it-IT/resources/enemy.png differ diff --git a/it-IT/resources/key.svg b/it-IT/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/it-IT/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/it-IT/resources/person.png b/it-IT/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/it-IT/resources/person.png differ diff --git a/it-IT/resources/player.png b/it-IT/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/it-IT/resources/player.png differ diff --git a/it-IT/resources/room1.png b/it-IT/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/it-IT/resources/room1.png differ diff --git a/it-IT/resources/room2.png b/it-IT/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/it-IT/resources/room2.png differ diff --git a/it-IT/resources/room3.png b/it-IT/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/it-IT/resources/room3.png differ diff --git a/it-IT/resources/sign.svg b/it-IT/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/it-IT/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/it-IT/scratch-translatable.txt b/it-IT/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/it-IT/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/it-IT/solutions/CreateYourOwnWorld.sb3 b/it-IT/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..dbd4cd7b4 Binary files /dev/null and b/it-IT/solutions/CreateYourOwnWorld.sb3 differ diff --git a/it-IT/step_1.md b/it-IT/step_1.md new file mode 100644 index 000000000..1819435fb --- /dev/null +++ b/it-IT/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Questa è la versione **Scratch 3** del progetto. C'è anche una versione [Scratch 2 del progetto](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introduzione + +In questo progetto, imparerai come creare il tuo gioco di avventura in cui il giocatore dovrà esplorare molte stanze. + +### Che cosa creerai + +\--- no-print \--- + +Clicca sulla bandiera verde per cominciare. Usa i tasti freccia per muovere il tuo personaggio in giro per il mondo. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Usa i tasti freccia per muovere il tuo personaggio in giro per il mondo. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Di cosa avrete bisogno? + +### Hardware + +- Un computer in grado di eseguire Scratch 3 + +### Software + +- Scratch 3 ([online](https://rpf.io/scratchon){:target="_blank"} o [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +Puoi trovare tutto il necessario per completare questo progetto su [ rpf.io/p/en/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Cosa imparerai + +- Utilizzare la selezione condizionale per reagire alla pressione dei tasti +- Usa le variabili per memorizzare lo stato di un gioco +- Utilizzare la selezione condizionale in base al valore di una variabile +- Usare liste per memorizzare i dati + +\--- / chiudi \--- + +## \--- collapse \--- + +## title: Informazioni aggiuntive per gli educatori + +Se intendete stampare questo progetto, cliccate su [Versione stampabile](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_ blank"}. + +Puoi trovare il [progetto completo qui](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- / chiudi \--- \ No newline at end of file diff --git a/it-IT/step_10.md b/it-IT/step_10.md new file mode 100644 index 000000000..4d01088ca --- /dev/null +++ b/it-IT/step_10.md @@ -0,0 +1,73 @@ +## Raccogliere monete + +Il tuo sprite `player` dovrebbe essere in grado di raccogliere monete quando si muove nel mondo. + +\--- task \--- + +Aggiungi una nuova variabile denominata `monete` {:class="block3variables"} al tuo progetto. + +\--- /task \--- + +\--- task \--- + +Seleziona lo sprite `monete` e clicca **mostra**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Aggiungi del codice allo sprite `moneta` per far sì che appaia solo nella stanza 1. + +![schermata](images/coin.png) + +```blocks3 +quando si clicca sulla bandiera verde +per sempre + se <(stanza :: variables) = [1]> allora + mostra + altrimenti + nascondi + end +end +``` + +\--- /task \--- + +\--- task \--- + +Aggiungi del codice allo sprite `moneta` per fare in modo che `scompaia{:class="block3looks"} ed il valore 1` venga aggiunto alle variabile `monete`{:class="block3variables"} quando lo sprite `player` tocca lo sprite <0>moneta per "raccoglierla". + +![moneta](images/coin.png) + +```blocks3 +quando si clicca sulla bandiera verde +attendi fino a quando +cambia [monete v] di (1) +nascondi +ferma [altri script in sprite v] +``` + +Il codice `ferma tutti gli altri script dello sprite`{:class="block3control"} è necessario affinchè lo sprite `moneta` smetta di essere visualizzato nella stanza 1 una volta che è stato raccolto. + +\--- /task \--- + +\--- task \--- + +Ora aggiungi il codice per impostare le tue `monete`{:class="block3variables"} a `0`{:class="block3variables"} all'inizio del gioco. + +![stage](images/stage.png) + +```blocks3 +quando si clicca sulla bandiera verde +porta [monete v] a [0] +``` + +\--- /task \--- + +\--- task \--- + +Prova di nuovo il tuo codice. La raccolta di una moneta deve cambiare il valore delle `monete` a `1` {:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/it-IT/step_11.md b/it-IT/step_11.md new file mode 100644 index 000000000..0a5d9173b --- /dev/null +++ b/it-IT/step_11.md @@ -0,0 +1,104 @@ +## Porte e chiavi + +Ora aggiungerai il codice in modo che alcune porte del tuo mondo di gioco siano bloccate e il giocatore debba trovare la chiave per aprirle e passare alla stanza successiva. + +\--- task \--- + +Seleziona lo sprite `chiave`. Fai clic su `mostra` {:class="blocklooks"} nel menu codice in modo che lo sprite appaia sullo stage. + +\--- /task \--- + +\--- task \--- + +Modifica il costume dello sprite `chiave` in modo che sia blu. + +\--- /task \--- + +\--- task \--- + +Passa alla stanza 3 cambiando sfondo dallo stage e posiziona lo sprite `chiave` in qualche punto difficile da raggiungere! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Aggiungi del codice allo sprite `chiave` in modo che sia visibile solo nella stanza 3. + +\--- /task \--- + +\--- task \--- + +Crea una nuova lista chiamata `inventario`{:class="block3variables"} per memorizzare gli oggetti che lo sprite `player` colleziona. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +Il codice che è necessario aggiungere per raccogliere la chiave è molto simile al codice per la raccolta delle monete. La differenza è che aggiungi la chiave all'`inventario` {:class="block3variables"}. + +![chiave](images/key.png) + +```blocks3 +quando si clicca sulla bandiera verde +attendi fino a quando +aggiungi [chiave blu] a [inventario v] +nascondi +ferma [altri script in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Aggiungi il codice per svuotare il tuo inventario all'inizio del gioco. + +```blocks3 +delete all of [inventario v] +``` + +\--- /task \--- + +\--- task \--- + +Prova il tuo gioco per verificare se è possibile raccogliere lo sprite `chiave` e aggiungerlo al tuo inventario. + +\--- /task \--- + +\--- task \--- + +Ora aggiungiamo una porta chiusa. Seleziona lo sprite `porta blu` e clicca su `mostra`{:class="blocklooks"} nel menu codice, e quindi posiziona lo sprite nel passaggio tra le due pareti. + +![schermata](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Aggiungi del codice allo sprite `porta blu` per far sì che sia visibile solo nella stanza 3. + +\--- /task \--- + +\--- task \--- + +Aggiungi il codice a `porta blu` in modo che, quando la chiave si trova nell'` inventario` {:class="block3variables"}, lo sprite sia `nascosta` {:class="block3looks"} per consentire al tuo ` giocatore ` di passare. + +![porta](images/door.png) + +```blocks3 +quando si clicca sulla bandiera verde +attendi fino a quando <[inventario v] contiene [chiave blu]?> +ferma [altri script in sprite v] +nascondi +``` + +\--- /task \--- + +\--- task \--- + +Prova il tuo progetto e controlla se riesci a raccogliere la chiave blu per aprire la porta! + +\--- /task \--- \ No newline at end of file diff --git a/it-IT/step_12.md b/it-IT/step_12.md new file mode 100644 index 000000000..9bbb833a8 --- /dev/null +++ b/it-IT/step_12.md @@ -0,0 +1,29 @@ +## Sfida: espandi il tuo mondo + +Ora puoi continuare a creare il tuo mondo! Ecco alcune idee: + ++ Aggiungi più monete al tuo gioco in stanze diverse. Puoi lasciare che alcune monete siano sorvegliate da pattuglie avversarie? ++ Cambia gli sfondi del tuo gioco ++ Aggiungi suoni e musica al tuo gioco ++ Aggiungi più persone, nemici, messaggi e monete ++ Aggiungi porte rosse e gialle e chiavi speciali per aprirle ++ Aggiungi più stanze al tuo mondo ++ Aggiungi altri oggetti utili al tuo gioco + + + Usa le monete per ottenere informazioni dalle altre persone: + +![screenshot](images/world-bribe.png) + ++ Potresti persino aggiungere porte nelle pareti nord e sud della stanza 1, in modo che il giocatore possa spostarsi tra le stanze in tutte e quattro le direzioni. Ad esempio, il tuo gioco può avere nove stanze in una griglia 3 × 3. Potresti quindi aggiungere `3` al numero delle stanze per scendere di un livello. + +![screenshot](images/north-south-rooms.png) + +![schermata](images/number-grid.png) + +```blocks3 +se allora + passa allo sfondo ((costume [number v]) + (3)) + vai a x: (0) y: (200) + cambia [stanza v] di (3) +end +``` \ No newline at end of file diff --git a/it-IT/step_13.md b/it-IT/step_13.md new file mode 100644 index 000000000..e9db26deb --- /dev/null +++ b/it-IT/step_13.md @@ -0,0 +1,21 @@ +## E poi? + +Vai alla creazione di un altro gioco lavorando sul progetto [GATTI!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Clicca e trascina per tracciare una linea con la matita con il mouse. Il tuo obiettivo è quello di impedire ai gatti di cadere in buche creando un percorso sicuro verso l'uscita. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Gatti finiti](images/cats-finished.png) + +\--- /print-only \--- + +Se vuoi fare un gioco usando Python invece di Scratch, prova il progetto [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/it-IT/step_2.md b/it-IT/step_2.md new file mode 100644 index 000000000..e0544506a --- /dev/null +++ b/it-IT/step_2.md @@ -0,0 +1,132 @@ +## Codifica il tuo giocatore + +Inizia creando uno sprite `giocatore` che possa muoversi nel mondo. + +\--- task \--- + +Apri il progetto di avvio Scratch 'Crea il tuo mondo'. + +**Online:** apri il progetto iniziale su [scratch.mit.edu/projects/395751322](https://scratch.mit.edu/projects/395751322){:target="_blank"}. + +Se hai un account su Scratch, puoi farne una copia cliccando su **Remix**. + +**Offline:** scarica il progetto iniziale da [rpf.io/p/it-IT/create-your-own-world-go](https://rpf.io/p/it-IT/create-your-own-world-go){:target="_blank"}, e aprilo con l'editor offline. Se hai bisogno di scaricare ed installare l'editor Scratch offline, puoi trovarlo su [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Premendo i tasti freccia si dovrà spostare lo sprite `giocatore` intorno. Quando si preme la freccia su, lo sprite `player` in risposta dovrebbe spostarsi verso l'alto dello stage. + +\--- task \--- + +Aggiungi questo codice allo sprite `player`: + +![player](images/player.png) + +```blocks3 +quando si clicca sulla bandiera verde +per sempre + se allora + punta in direzione (0) + fai (4) passi + end +end +``` + +\--- /task \--- + +\--- task \--- + +Fai clic sulla bandiera e tieni premuta la freccia su. Il tuo sprite `player` si muove verso l'alto? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Per spostare lo sprite `player` a sinistra, è necessario aggiungere un altro blocco `if`{:class="blockcontrol"} con un codice simile a quello precedente: + +![player](images/player.png) + +```blocks3 +quando si clicca sulla bandiera verde +per sempre + se allora + punta in direzione (0) + fai (4) passi + end + + se allora + + punta in direzione (-90) + + fai (4) passi + + end +end +``` + +\--- /task \--- + +\--- task \--- + +Aggiungi altro codice al tuo sprite `player` in modo che possa muoversi anche verso destra e verso il basso. Usa il codice che hai già per aiutarti. + +\--- hints \--- + +\--- hint \--- + +Per spostarti verso l'alto, punta `player` in direzione `0` gradi. Cosa dovresti fare per spostare lo sprite verso il basso? + +Per spostarti a sinistra, hai puntato lo sprite in direzione `-90` gradi. Cosa dovresti fare per spostare lo sprite verso destra? + +\--- /hint \--- + +\--- hint \--- + +Devi modificare questi due blocchi: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplica il codice che muove lo sprite `player` verso l'alto e cambia questi due blocchi per far spostare lo sprite verso il basso. Duplica nuovamente il codice e modificalo per spostare lo sprite verso destra. + +\--- /hint \--- + +\--- hint \--- + +Il tuo codice dovrebbe essere più o meno così: + +![giocatore](images/player.png) + +```blocks3 +quando si clicca sulla bandiera verde +per sempre + se allora + punta in direzione (0) + fai (4) passi + end + se allora + punta in direzione (-90) + fai (4) passi + end + + + se then + point in direction (180) + move (4) steps + end ++ if allora +punta in direzione (90) +fai (4) passi +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/it-IT/step_3.md b/it-IT/step_3.md new file mode 100644 index 000000000..098ae359e --- /dev/null +++ b/it-IT/step_3.md @@ -0,0 +1,48 @@ +## Muri solidi + +\--- task \--- + +Prova di nuovo il tuo sprite `giocatore`. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Per risolvere questo problema, devi far sì che lo sprite `giocatore` si sposti indietro se tocca una parete grigia leggera. Ecco il codice che devi aggiungere all'interno del tuo blocco `per sempre`{:class="block3control"} sotto i blocchi di direzione: + +![player](images/player.png) + +```blocks3 +quando si clicca sulla bandiera verde +per sempre +se allora + punta in direzione (0) + fai (4) passi + end + se allora + punta in direzione (-90) + fai (4) passi + end + se allora + punta in direzione (90) + fai (4) passi + end + + se < sta toccando il colore [#BABABA]? > allora + + fai (-4) passi + + end +end +``` + +\--- /task \--- + +\--- task \--- + +Prova a far correre lo sprite `player` attraverso una parete. Se il nuovo codice funziona, non dovrebbe essere possibile. + +![schermata](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/it-IT/step_4.md b/it-IT/step_4.md new file mode 100644 index 000000000..746deb584 --- /dev/null +++ b/it-IT/step_4.md @@ -0,0 +1,141 @@ +## Muoviti nel tuo mondo + +Lo sprite `player` dovrebbe essere in grado di raggiungere altre stanze attraversando le porte. + +Il tuo progetto contiene sfondi per ulteriori stanze: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Crea una nuova variabile valida 'per tutti gli sprite' chiamata `stanza`{:class="blockdata"}, per definire in quale stanza si trova lo sprite `player`. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Quando lo sprite `player` tocca la porta arancione nella prima stanza, bisogna rendere visibile lo sfondo successivo, e lo sprite `player` deve tornare sul lato sinistro dello stage. Aggiungi questo codice all'interno del ciclo `per sempre`{:class="block3control"} dello sprite `player`: + +![player](images/player.png) + +```blocks3 +quando si clicca sulla bandiera verde +per sempre + se allora + punta in direzione (0) + fai (4) passi + end + se allora + punta in direzione (-90) + fai (4) passi + end + se allora + punta in direzione (90) + fai (4) passi + end + se < sta toccando il colore [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Ogni volta che inizia il gioco, la stanza, la posizione del personaggio e lo sfondo devono essere ripristinati. + +Aggiungi questo codice **all'inizio** del codice del tuo sprite `player` prima del ciclo `per sempre`{:class="block3control"}, per assicurarti che tutto venga ripristinato quando viene cliccata la bandierina verde: + +\--- hints \--- + +\--- hint \--- + +Quando si avvia il gioco: + ++ Il valore di `stanza`{:class="block3variabili"} dovrebbe essere impostato a `1`{:class="block3variabili"} ++ Lo `sfondo` {:class="block3looks"} dovrebbe essere impostato su ` stanza1 ` {:class="block3looks"} ++ La posizione del `giocatore` deve essere impostata a `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Ecco i blocchi di codice che ti serviranno: + +![player](images/player.png) + +```blocks3 +vai a x: (-200) y: (0) + +porta [stanza v] a (1) + +passa allo sfondo (stanza1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Ecco come dovrebbe apparire il risultato: + +![player](images/player.png) + +```blocks3 +quando si clicca sulla bandiera verde ++porta [stanza v] a (1) ++vai a x: (-200) y: (0) ++passa allo sfondo (stanza1 v) +per sempre +se allora + punta in direzione (0) + fai (4) passi + end + se allora + punta in direzione (-90) + fai (4) passi + end + se allora + punta in direzione (90) + fai (4) passi + end + se < sta toccando il colore [#BABABA]? > allora + fai (-4) passi + end + se < sta toccando il colore [#F2A24A]> allora + passa allo sfondo (next backdrop v) + vai a x: (-200) y: (0) + cambia [stanza v] di (1) + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Fai clic sulla bandiera, quindi sposta il tuo sprite `player` fino a toccare la porta arancione. Il tuo sprite passa alla schermata successiva? La variabile `stanza`{:class="block3variables"} cambia il proprio valore a `2`? + +![schermata](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/it-IT/step_5.md b/it-IT/step_5.md new file mode 100644 index 000000000..eb0f12ad8 --- /dev/null +++ b/it-IT/step_5.md @@ -0,0 +1,3 @@ +## Sfida: trasferirsi nella stanza precedente + +Riesci a fare in modo che il tuo sprite `player` torni nella stanza precedente dopo aver toccato una porta gialla? Il codice necessario per fare ciò è molto simile al codice che hai già aggiunto per far passare il giocatore alla stanza successiva. \ No newline at end of file diff --git a/it-IT/step_6.md b/it-IT/step_6.md new file mode 100644 index 000000000..0f6be6598 --- /dev/null +++ b/it-IT/step_6.md @@ -0,0 +1,108 @@ +## Cartelli + +Aggiungiamo cartelli al tuo mondo per guidare il giocatore nel suo viaggio. + +Il tuo progetto contiene uno sprite `cartello di benvenuto`: + +![screenshot](images/world-sign.png) + +\--- task \--- + +Il `cartello di benvenuto` dovrebbe vedersi solo nella stanza 1, quindi aggiungi del codice allo sprite per fare in modo che succeda ciò: + +\--- hints \--- + +\--- hint \--- + +`Quando si clicca sulla bandiera verde`{:class="block3events"}, controlla `per sempre`{:class="block3control"} `se`{:class="block3control"} la `stanza è 1`{:class="block3sensing"}, ed in quel caso `mostra`{:class="block3looks"} `cartello di benvenuto`{:class="block3control"}, `altrimenti`{:class="block3control"} `nascondi`{:class="block3looks"} lo sprite. + +\--- /hint \--- + +\--- hint \--- + +Ecco i blocchi di codice che ti serviranno: + +![cartello](images/sign.png) + +```blocks3 +
se <> allora +altrimenti +end + +<(stanza :: variables) = [1]> + +nascondi + +mostra + +per sempre +end + +quando si clicca sulla bandiera verde + +``` + +\--- /hint \--- + +\--- hint \--- + +Ecco il codice completo: + +![cartello](images/sign.png) + +```blocks3 +quando si clicca sulla bandiera verde +per sempre + se <(stanza :: variables) = [1]> allora + mostra + altrimenti + nascondi + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Metti alla prova il tuo sprite `cartello di benvenuto` muovendoti tra le stanze. Il tuo cartello dovrebbe essere visibile solo nella stanza 1. + +![schermata](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +Un cartello non è molto utile se non dice nulla! Aggiungi del codice per far visualizzare un messaggio se lo sprite `cartello di benvenuto` sta toccando lo sprite `giocatore`: + +![cartello](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (stanza :: variables) = [1] > then +show +else +hide +end ++if < touching (giocatore v)? > then +say [Benvenuto! Riesci a raccogliere il tesoro?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Prova di nuovo il tuo sprite `cartello di benvenuto`. Ora dovresti vedere un messaggio quando lo sprite ` player ` tocca il ` cartello di benvenuto`. + +![schermata](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/it-IT/step_7.md b/it-IT/step_7.md new file mode 100644 index 000000000..36a47de79 --- /dev/null +++ b/it-IT/step_7.md @@ -0,0 +1,7 @@ +## Sfida: tesoro! + +Sapresti aggiungere un tesoro da far trovare al giocatore? + +Fai apparire la `cassaforte` solo nella stanza 3 e falle dire "Ben fatto!" quando lo sprite `giocatore` la tocca. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/it-IT/step_8.md b/it-IT/step_8.md new file mode 100644 index 000000000..adacb7dd1 --- /dev/null +++ b/it-IT/step_8.md @@ -0,0 +1,65 @@ +## Persone + +Aggiunge persone al tuo mondo con le quali il tuo sprite `player` possa interagire. + +\--- task \--- + +Seleziona lo sprite `persona`. + +![Sprite persona](images/person.png) + +\--- /task \--- + +\--- task \--- + +Aggiungi del codice allo sprite `persona`, per far sì che la persona parli con lo sprite `giocatore`. Questo codice è molto simile al codice che hai aggiunto al tuo sprite `cartello di benvenuto`: + +![persona](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (giocatore v)? > then + say [Lo sapevi che puoi attraversare le porte arancioni e gialle?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Puoi anche consentire allo sprite `persona` di spostarsi aggiungendo questi due blocchi nella sezione `altrimenti`{:class="bloc3kcontrol"} del tuo codice: + +![persona](images/person.png) + +```blocks3 +quando si clicca sulla bandiera verde +vai a x: (0) y: (-150) +per sempre + se < sta toccando (giocatore v)? > allora + dire [Lo sapevi che puoi attraversare le porte arancioni e gialle?] + altrimenti + dire [] + + fai (1) passi + + rimbalza quando tocchi il bordo + end +end +``` + +\--- /task \--- + +Il tuo sprite `persona` ora si muoverà, ma si fermerà per parlare con lo sprite `giocatore`. + +![schermata](images/world-person-test.png) + +\--- task \--- + +Aggiungi il codice alla tua nuova `persona` in modo che lo sprite appaia solo nella stanza 1. Il codice di cui hai bisogno è esattamente lo stesso che rende visibile lo sprite `cartello di benvenuto` solo nella stanza 1. + +Assicurati di testare il tuo nuovo codice. + +\--- /task \--- \ No newline at end of file diff --git a/it-IT/step_9.md b/it-IT/step_9.md new file mode 100644 index 000000000..cfa20e8a1 --- /dev/null +++ b/it-IT/step_9.md @@ -0,0 +1,45 @@ +## Sfida: aggiungi un nemico + +Se vuoi, puoi anche aggiungere dei nemici pattugliatori al tuo gioco. Se lo sprite `player` tocca un nemico, il gioco termina. + ++ Il tuo gioco contiene già uno sprite `nemico`. Aggiungi del codice allo sprite `nemico` per far sì che appaia solo nella stanza 2. + ++ Aggiungi del codice per far muovere lo sprite `nemico` e per far terminare il gioco se lo sprite `nemico` tocca lo sprite `giocatore`. È più facile farlo in blocchi di codice separati. Ecco come il codice del tuo sprite `nemico` potrebbe apparire: + +```blocks3 +quando si clicca sulla bandiera verde +per sempre + se <(stanza :: variables) = [2]> allora + mostra + altrimenti + nascondi + end +end + +quando si clicca sulla bandiera verde +per sempre + se allora + ferma [all v] + end +end + +quando si clicca sulla bandiera verde +vai a x: (170) y: (0) +per sempre + ripeti (130) volte + cambia x di (-1) + end + ripeti (130) volte + cambia x di (1) + end +end +``` + ++ Prova il tuo nuovo codice per assicurarti che: + + Lo sprite `nemico` sia visibile solo nella stanza 2 + + Il `nemico` pattugli la stanza + + Il gioco finisca se lo sprite `giocatore` tocca lo sprite `nemico` + +Sapresti creare un altro sprite `nemico` nella stanza 3 che pattugli su e giù attraverso lo spazio nel muro? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/ja-JP/images/banner.png b/ja-JP/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/ja-JP/images/banner.png differ diff --git a/ja-JP/images/cats-finished.png b/ja-JP/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/ja-JP/images/cats-finished.png differ diff --git a/ja-JP/images/coin.png b/ja-JP/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/ja-JP/images/coin.png differ diff --git a/ja-JP/images/coin.svg b/ja-JP/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/ja-JP/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ja-JP/images/create-variable.png b/ja-JP/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/ja-JP/images/create-variable.png differ diff --git a/ja-JP/images/create-your-own-world.png b/ja-JP/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/ja-JP/images/create-your-own-world.png differ diff --git a/ja-JP/images/door.png b/ja-JP/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/ja-JP/images/door.png differ diff --git a/ja-JP/images/enemy.png b/ja-JP/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/ja-JP/images/enemy.png differ diff --git a/ja-JP/images/finished-move-down-right.png b/ja-JP/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/ja-JP/images/finished-move-down-right.png differ diff --git a/ja-JP/images/key.png b/ja-JP/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/ja-JP/images/key.png differ diff --git a/ja-JP/images/key.svg b/ja-JP/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/ja-JP/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ja-JP/images/north-south-rooms.png b/ja-JP/images/north-south-rooms.png new file mode 100644 index 000000000..04b35ae25 Binary files /dev/null and b/ja-JP/images/north-south-rooms.png differ diff --git a/ja-JP/images/number-grid.png b/ja-JP/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/ja-JP/images/number-grid.png differ diff --git a/ja-JP/images/person-sprite.png b/ja-JP/images/person-sprite.png new file mode 100644 index 000000000..8936b2e71 Binary files /dev/null and b/ja-JP/images/person-sprite.png differ diff --git a/ja-JP/images/person.png b/ja-JP/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/ja-JP/images/person.png differ diff --git a/ja-JP/images/player.png b/ja-JP/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/ja-JP/images/player.png differ diff --git a/ja-JP/images/showcase.png b/ja-JP/images/showcase.png new file mode 100644 index 000000000..1004ea764 Binary files /dev/null and b/ja-JP/images/showcase.png differ diff --git a/ja-JP/images/sign.png b/ja-JP/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/ja-JP/images/sign.png differ diff --git a/ja-JP/images/sign.svg b/ja-JP/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/ja-JP/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ja-JP/images/stage.png b/ja-JP/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/ja-JP/images/stage.png differ diff --git a/ja-JP/images/variable-show.png b/ja-JP/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/ja-JP/images/variable-show.png differ diff --git a/ja-JP/images/world-backdrops.png b/ja-JP/images/world-backdrops.png new file mode 100644 index 000000000..cdd585d49 Binary files /dev/null and b/ja-JP/images/world-backdrops.png differ diff --git a/ja-JP/images/world-bribe.png b/ja-JP/images/world-bribe.png new file mode 100644 index 000000000..184ea6a7e Binary files /dev/null and b/ja-JP/images/world-bribe.png differ diff --git a/ja-JP/images/world-coins.png b/ja-JP/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/ja-JP/images/world-coins.png differ diff --git a/ja-JP/images/world-door.png b/ja-JP/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/ja-JP/images/world-door.png differ diff --git a/ja-JP/images/world-enemy-code.png b/ja-JP/images/world-enemy-code.png new file mode 100644 index 000000000..ce74f2c17 Binary files /dev/null and b/ja-JP/images/world-enemy-code.png differ diff --git a/ja-JP/images/world-enemy2.png b/ja-JP/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/ja-JP/images/world-enemy2.png differ diff --git a/ja-JP/images/world-final.png b/ja-JP/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/ja-JP/images/world-final.png differ diff --git a/ja-JP/images/world-key.png b/ja-JP/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/ja-JP/images/world-key.png differ diff --git a/ja-JP/images/world-north-south.png b/ja-JP/images/world-north-south.png new file mode 100644 index 000000000..972ef30d6 Binary files /dev/null and b/ja-JP/images/world-north-south.png differ diff --git a/ja-JP/images/world-person-test.png b/ja-JP/images/world-person-test.png new file mode 100644 index 000000000..f521589c5 Binary files /dev/null and b/ja-JP/images/world-person-test.png differ diff --git a/ja-JP/images/world-person.png b/ja-JP/images/world-person.png new file mode 100644 index 000000000..d10b2feba Binary files /dev/null and b/ja-JP/images/world-person.png differ diff --git a/ja-JP/images/world-player.png b/ja-JP/images/world-player.png new file mode 100644 index 000000000..96fc9768f Binary files /dev/null and b/ja-JP/images/world-player.png differ diff --git a/ja-JP/images/world-resources.png b/ja-JP/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/ja-JP/images/world-resources.png differ diff --git a/ja-JP/images/world-room-test.png b/ja-JP/images/world-room-test.png new file mode 100644 index 000000000..0b18e5848 Binary files /dev/null and b/ja-JP/images/world-room-test.png differ diff --git a/ja-JP/images/world-room.png b/ja-JP/images/world-room.png new file mode 100644 index 000000000..a125e00e0 Binary files /dev/null and b/ja-JP/images/world-room.png differ diff --git a/ja-JP/images/world-sign-test-left.png b/ja-JP/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/ja-JP/images/world-sign-test-left.png differ diff --git a/ja-JP/images/world-sign-test-right.png b/ja-JP/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/ja-JP/images/world-sign-test-right.png differ diff --git a/ja-JP/images/world-sign-test.png b/ja-JP/images/world-sign-test.png new file mode 100644 index 000000000..b525fb707 Binary files /dev/null and b/ja-JP/images/world-sign-test.png differ diff --git a/ja-JP/images/world-sign-test2.png b/ja-JP/images/world-sign-test2.png new file mode 100644 index 000000000..8d15d2c5f Binary files /dev/null and b/ja-JP/images/world-sign-test2.png differ diff --git a/ja-JP/images/world-sign.png b/ja-JP/images/world-sign.png new file mode 100644 index 000000000..3ee433437 Binary files /dev/null and b/ja-JP/images/world-sign.png differ diff --git a/ja-JP/images/world-starter.png b/ja-JP/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/ja-JP/images/world-starter.png differ diff --git a/ja-JP/images/world-treasure.png b/ja-JP/images/world-treasure.png new file mode 100644 index 000000000..bf4d2a832 Binary files /dev/null and b/ja-JP/images/world-treasure.png differ diff --git a/ja-JP/images/world-up.png b/ja-JP/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/ja-JP/images/world-up.png differ diff --git a/ja-JP/images/world-walls-test.png b/ja-JP/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/ja-JP/images/world-walls-test.png differ diff --git a/ja-JP/images/world-walls.png b/ja-JP/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/ja-JP/images/world-walls.png differ diff --git a/ja-JP/meta.yml b/ja-JP/meta.yml new file mode 100644 index 000000000..2f3f6878e --- /dev/null +++ b/ja-JP/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: あなた自身の世界を作りなさい +description: あなた自身のオープンワールドアドベンチャーゲームを作りましょう +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: 前書き + - + title: プレーヤーのスプライトを移動する + - + title: 堅い壁 + completion: + - engaged + - + title: あなたの世界を動き回る + - + title: '課題:前の部屋に戻る' + challenge: true + - + title: サイン + - + title: '挑戦:宝物!' + challenge: true + - + title: 人 + - + title: '挑戦:敵' + challenge: true + - + title: コインを集める + - + title: ドアとキー + completion: + - internal + - + title: '課題:あなたの世界を広げる' + challenge: true + completion: + - external diff --git a/ja-JP/resources/CreateYourOwnWorld.sb2 b/ja-JP/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8682d05f8 Binary files /dev/null and b/ja-JP/resources/CreateYourOwnWorld.sb2 differ diff --git a/ja-JP/resources/CreateYourOwnWorldResources.sb2 b/ja-JP/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8a9935e60 Binary files /dev/null and b/ja-JP/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/ja-JP/resources/CreateYourOwnWorldResources.sb3 b/ja-JP/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/ja-JP/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/ja-JP/resources/chest.svg b/ja-JP/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/ja-JP/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ja-JP/resources/coin.svg b/ja-JP/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/ja-JP/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ja-JP/resources/door-blue.png b/ja-JP/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/ja-JP/resources/door-blue.png differ diff --git a/ja-JP/resources/enemy.png b/ja-JP/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/ja-JP/resources/enemy.png differ diff --git a/ja-JP/resources/key.svg b/ja-JP/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/ja-JP/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/ja-JP/resources/person.png b/ja-JP/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/ja-JP/resources/person.png differ diff --git a/ja-JP/resources/player.png b/ja-JP/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/ja-JP/resources/player.png differ diff --git a/ja-JP/resources/room1.png b/ja-JP/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/ja-JP/resources/room1.png differ diff --git a/ja-JP/resources/room2.png b/ja-JP/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/ja-JP/resources/room2.png differ diff --git a/ja-JP/resources/room3.png b/ja-JP/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/ja-JP/resources/room3.png differ diff --git a/ja-JP/resources/sign.svg b/ja-JP/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/ja-JP/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ja-JP/scratch-translatable.txt b/ja-JP/scratch-translatable.txt new file mode 100644 index 000000000..8bce2b14b --- /dev/null +++ b/ja-JP/scratch-translatable.txt @@ -0,0 +1,13 @@ +ルーム + +プレーヤー + +ようこそ! たからものにたどりつけるかな? + +オレンジいろやきいろのどあをとおりぬけることができることをしっていたかな? + +コイン + +あおいろのかぎ + +アイテムいちらん diff --git a/ja-JP/solutions/CreateYourOwnWorld.sb3 b/ja-JP/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/ja-JP/solutions/CreateYourOwnWorld.sb3 differ diff --git a/ja-JP/step_1.md b/ja-JP/step_1.md new file mode 100644 index 000000000..544190afe --- /dev/null +++ b/ja-JP/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +このプロジェクトは **Scratch 3** バージョンを使っています。 Scratch 2バージョンを使うプロジェクトもあります。

+ +\--- /no-print \--- + +## はじめに + +このプロジェクトでは、探索するための複数のレベルを持つ独自のアドベンチャーゲームの世界を作成する方法を学びます。 + +### 作るもの + +\--- no-print \--- + +緑色の旗をクリックして開始します。 あなたのキャラクターを世界中に動かすには矢印キーを使ってください。 + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +あなたは世界中であなたのキャラクターを動かすのに矢印キーを使うでしょう。 ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: 必要なもの + +### ハードウェア + +- Scratch 3を実行できるコンピュータ + +### ソフトウェア + +- Scratch 3 ([オンライン](https://rpf.io/scratchon){:target="_blank"}または[オフライン](https://rpf.io/scratchoff){:target="_blank"}) + +### ダウンロード + +このプロジェクトを完成させるために必要なものはすべて以下のサイトにあります。 [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go) + +\--- /collapse \--- + +## \--- collapse \--- + +## title: 学習すること + +- 条件付き選択を使用してキーの押下に反応する +- 変数を使ってゲームの状態を保存する +- 変数の値に基づいて条件付き選択を使用する +- リストを使ってデータを保存する + +\--- /collapse \--- + +## \--- collapse \--- + +## title:教育者向けの追加情報 + +このプロジェクトを印刷する必要がある場合は、 [印刷用バージョン](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_ blank"}を使用してください。 + +[ここで完成したプロジェクト](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}を見ることができます 。 + +\--- /collapse \--- \ No newline at end of file diff --git a/ja-JP/step_10.md b/ja-JP/step_10.md new file mode 100644 index 000000000..be7e9f60a --- /dev/null +++ b/ja-JP/step_10.md @@ -0,0 +1,71 @@ +## コインを集める + +あなたの `プレイヤー` スプライトは、世界中を移動するにつれてコインを集めることができるはずです。 + +\--- task \--- + +`時間` {:class = "block3variables"}という新しい変数をステージに追加します。 + +\--- /task \--- + +\--- task \--- + +`コイン` のスプライトを選択し、 **表示**をクリックします。 + +![スクリーンショット](images/coin.png) + +\--- /task \--- + +\--- task \--- + +`コイン` スプライトにコードを追加して、部屋1にのみ表示されるようにします。 + +![スクリーンショット](images/coin.png) + +```blocks3 +flagが永遠に +クリックしたとき + <(room :: variables)=[1]> +> +それ以外のとき +隠す +``` + +\--- /task \--- + +\--- task \--- + +`コイン` スプライトにコードを追加して、`プレーヤー` スプライトが `コイン` スプライトにさわることによってこいんを「拾い上げる」と、スプライト が`非表示`{:class = "block3looks"}になり、 `1`{:class ="block3variables"}ポイントが `コイン`{:class="block3variables"}変数に追加されるようにします。 + +![コイン](images/coin.png) + +```blocks3 +フラグがクリックされたときに +になるまで待ち +変化[コインV](1)によって +隠す +STOP [スプライトVの他のスクリプト] +``` + +コード `スプライトの他のスクリプトを停止する`{:class="block3control"}は、 `コイン` スプライトが一たび拾い上げられると、とルーム1の中では非表示とするために必要となります。 + +\--- /task \--- + +\--- task \--- + +次に、ゲーム開始時に `コイン`{:class="block3variables"}変数を `0`{:class="block3variables"}に設定するために、ステージにコードを追加します。 + +![ステージ](images/stage.png) + +```blocks3 +flagが +クリックしたとき[coins v]を [0] +``` + +\--- /task \--- + +\--- task \--- + +あなたのゲーム(コード)をテストしましょう。 コインを集めると、 `コイン` スコアが `1`{:class="block3variables"}に変わるはずです。 + +\--- /task \--- \ No newline at end of file diff --git a/ja-JP/step_11.md b/ja-JP/step_11.md new file mode 100644 index 000000000..c0ad4a6a5 --- /dev/null +++ b/ja-JP/step_11.md @@ -0,0 +1,104 @@ +## ドアとキー + +次に、コード(プログラム)を追加してあなたのゲームの世界のドア(一部)に鍵をかけられるようにします。プレイヤーはドアを開けて次の部屋へ進むために鍵をみつける必要があります。 + +\--- task \--- + +`かぎ`のスプライトを選んでください。 スクリプトメニューの `表示`{:class="blocklooks"}をクリックすると、ステージにスプライトが表示されます。 + +\--- /task \--- + +\--- task \--- + +`キー` スプライトのコスチュームを編集して青になるようにします。 + +\--- /task \--- + +\--- task \--- + +ステージの背景を部屋3に切り替え、 `キー` のスプライトを手の届きにくい場所に配置します。 + +![スクリーンショット](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +`キー` スプライトにコードを追加して、部屋3でのみ表示されるようにします。 + +\--- /task \--- + +\--- task \--- + +`インベントリ`{:class="block3variables"}という新しいリストを作成して、 `プレイヤー` のスプライトが収集するアイテムを保存するようにします。 + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +キーを収集するために追加する必要のあるコードは、コインを収集するためのコードととてもよく似ています。 違いは `インベントリ`{:class="block3variables"}にキーを追加することです。 + +![キー](images/key.png) + +```blocks3 +フラグがクリックされたとき + まで待つ +[インベントリv]に[青い鍵]を追加 +非表示 +停止[スプライトvの他のスクリプト] +``` + +\--- /task \--- + +\--- task \--- + +ステージにコードを追加して、ゲームの開始時にインベントリを空にします。 + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +ゲームをテストして、 `キー` のスプライトを集めてインベントリに追加できるかどうかを確認しましょう。 + +\--- /task \--- + +\--- task \--- + +次に、ロックされたドアを追加します。 `青いドア` スプライトを選択し、「スクリプト」メニューの[ `表示`{:class = "blocklooks}]をクリックして、2つの壁の間の谷間にスプライトを配置します。 + +![スクリーンショット](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +部屋3でのみ表示されるように、 `青いドア` スプライトにコードを追加します。 + +\--- /task \--- + +\--- task \--- + +`青いドア` スプライトにコードを追加して、キーが `インベントリ`{:class = "block3variables"}の中にある場合、スプライトを `非表示`{:class = "block3looks"}にして、 `プレーヤー` スプライトが通過できるようにします。 + +![ドア](images/door.png) + +```blocks3 +フラグがクリックされたとき + <[在庫v]に[ブルーキー]が含まれるまで待つ?> +停止[スプライトvの他のスクリプト] +隠す +``` + +\--- /task \--- + +\--- task \--- + +ゲームをテストして、ドアを開けるために、青いキーを集めることができるかどうか確認してください。 + +\--- /task \--- \ No newline at end of file diff --git a/ja-JP/step_12.md b/ja-JP/step_12.md new file mode 100644 index 000000000..f49126e5d --- /dev/null +++ b/ja-JP/step_12.md @@ -0,0 +1,28 @@ +## 課題:あなたの世界を広げる + +あなたは今あなた自身の世界を創造し続けることができます! 例えば: + ++ 別の部屋であなたのゲームにもっとコインを追加してください。 あなたはいくつかのコインが敵をパトロールすることによって守られるようにすることができますか? ++ ゲームの背景を変更する ++ ゲームにサウンドと音楽を追加する ++ 人、敵、サインを追加する ++ 赤と黄色の扉、そしてそれらを開くための特別な鍵を追加する ++ あなたの世界にもっと部屋を追加する ++ 他の便利なアイテムをあなたのゲームに追加する + + + コインを使って他の人から情報を入手する: + +![スクリーンショット](images/world-bribe.png) + ++ 部屋1の北と南の壁にドアを追加することもでき、プレイヤーは4方向すべての部屋を移動できます。 たとえば、3×3のグリッドに9つの部屋があるとします。 部屋番号に `3` を追加して1つ下の階層に移動できます。 + +![スクリーンショット](images/north-south-rooms.png) + +![スクリーンショット](images/number-grid.png) + +```blocks3 +もし 次に +へスイッチ背景((衣装[数V])+(3)) +Xに移動します(0)、Y(200) +によって変化[ルームV](3) +``` \ No newline at end of file diff --git a/ja-JP/step_13.md b/ja-JP/step_13.md new file mode 100644 index 000000000..e6d4be5d1 --- /dev/null +++ b/ja-JP/step_13.md @@ -0,0 +1,21 @@ +## 次は何をしますか? + +[CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) プロジェクトに取り組んで別のゲームを作ってみましょう。 + +\--- no-print \--- + +マウスでクリックアンドドラッグして、鉛筆で線を描きます。 あなたの目標は、出口への安全な道を作ることによって猫が穴に落ちるのを防ぐことです。 + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![「Cats!」ゲームを終えることができました](images/cats-finished.png) + +\--- /print-only \--- + +Scratchの代わりにPythonを使用してゲームを作成したい場合は、 [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) プロジェクトを試してみてください。 \ No newline at end of file diff --git a/ja-JP/step_2.md b/ja-JP/step_2.md new file mode 100644 index 000000000..0b988e3ea --- /dev/null +++ b/ja-JP/step_2.md @@ -0,0 +1,135 @@ +## プレーヤーのスプライトを移動する + +あなたの世界を動き回ることができる `プレイヤー` スプライトを作成することから始めます。 + +\--- task \--- + +'Create your own world'スクラッチスタータープロジェクトを開きます。 + +**オンライン: ** [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target = "_ blank"}にあるスタータープロジェクトを開きます。 + +Scratchアカウントをお持ちの場合は、 「リミックス」ボタンをクリックしてコピーできます。 + +**オフライン:** [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}から基本のプロジェクトをダウンロードして、オフラインエディターで開きます。 Scratchオフラインエディタをダウンロードしてインストールする必要がある場合は、 [rpf.io / scratchoff](https://rpf.io/scratchoff){:target="_blank"}で見つけることができます。 + +![スクリーンショット](images/world-starter.png) + +\--- /task \--- + +矢印キーを押すと、 `プレーヤー` のスプライトが移動します。 上向きの矢印が押されると、 `プレーヤー` のスプライトがステージの上方に移動します。 + +\--- task \--- + +以下のコードを `プレイヤー` スプライトに追加してください。 + +![プレイヤー](images/player.png) + +```blocks3 +<キー(上向き矢印v)が押されたらフラグが永久に +クリックしたとき + > から + 方向に +ポイント(0) + 移動(4)ステップ + 終了 +終了 +``` + +\--- /task \--- + +\--- task \--- + +旗をクリックし、上矢印キーを押し下げ続けます。 `プレイヤー` スプライトは上に移動しますか? + +![スクリーンショット](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +`プレイヤー` スプライトを左に動かすには、似たようなコードを使って `イフ(もし)`{:class="block3control"}ブロックを追加する必要があります。 + +![プレイヤー](images/player.png) + +```blocks3 +<キー(上向き矢印v)が押されたらフラグが永久に +クリックしたとき + > 次に方向 + 指す(0) + 移動する(4)ステップ + 終了 ++ <キー(左矢印v)を押すと? > から + 方向に +ポイント(-90) + 移動(4)ステップ + 終了 +終了 +``` + +\--- /task \--- + +\--- task \--- + +`プレイヤー` スプライトに、下や右に動かすコードを追加しましょう。 あなたがすでに書いたコードを活用してください。 + +\--- hints \--- + +\--- hint \--- + +上に移動するには、 `プレーヤー` スプライトを `0` 度の方向に向けます。 スプライトを下に動かすには、どうすればよいでしょうか? + +左に動かすには、スプライトを `-90` 度の方向に向けます。 スプライトを右に動かすには、どうすればよいでしょうか? + +\--- /hint \--- + +\--- hint \--- + +これらの2つのブロックを変更する必要があります。 + +![プレイヤー](images/player.png) + +```blocks3 + + +方向のポイント() +``` + +`プレイヤー`スプライト を上に動かすコードを複製して、2つのブロックのコードを変更して、スプライトを下に動かすように書き換えます。 コードを再度複製し、スプライトが右に移動するようにコードを変更します。 + +\--- /hint \--- + +\--- hint \--- + +コードは次のようになります。 + +![プレイヤー](images/player.png) + +```blocks3 +<キー(上向き矢印v)が押されたらフラグが永久に +クリックしたとき + > 次に方向 + 指す(0) + 移動する(4)ステップ + 終了 + <キー(左矢印v)を押すと? > から + 方向に +ポイント(-90) + 移動(4)ステップ + 終了 + ++ <キー(下矢印v)が押されたら > then + point in direction (180) + move (4) steps + end ++ if 方向に + ポイント(90) + 移動(4)ステップ + 終了 +終了 +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/ja-JP/step_3.md b/ja-JP/step_3.md new file mode 100644 index 000000000..1fe291688 --- /dev/null +++ b/ja-JP/step_3.md @@ -0,0 +1,51 @@ +## 堅い壁 + +\--- task \--- + +`プレーヤー` スプライトをもう一度テストしてください。 プレイヤーが薄灰色の壁を歩いて通り抜けることができるのがわかりますか? + +![スクリーンショット](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +これを修正するには、 `プレーヤー` スプライトが薄い灰色の壁に接触した場合に、スプライトを後方に移動させる必要があります。 方向ブロックの下にある`無限ループ(forever)`{:class="block3control"}ブロック内に追加する必要があるコードは次の通りです。 + +![プレーヤー](images/player.png) + +```blocks3 +<キー(上向き矢印v)が押されたらフラグが永久に +クリックしたとき + > 次に方向 + 指す(0) + 移動する(4)ステップ + 終了 + <キー(左矢印v)を押すと? > から + 方向に +ポイント(-90) + 移動(4)ステップ + 終了 + <キー(下矢印v)が押されたら > then + point in direction (180) + move (4) steps + end + if その後 + 方向を指す(90) + 移動する(4)ステップ + 終了 ++ < [ < ]色に触れた場合、 > から + 移動(-4)ステップ + 終了 +終了 +``` + +\--- /task \--- + +\--- task \--- + +`プレイヤー` スプライトを壁を通り抜けることができるか試してみましょう。 あなたの新しいコードがうまく動作する場合は、通り抜けることができないはずです。 + +![スクリーンショット](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ja-JP/step_4.md b/ja-JP/step_4.md new file mode 100644 index 000000000..a75991496 --- /dev/null +++ b/ja-JP/step_4.md @@ -0,0 +1,145 @@ +## あなたの「世界」の中を動き回ろう + +`プレイヤー` スプライトはドアを通って他の部屋に入ることができるはずです。 + +あなたのプロジェクトには追加の部屋の背景が含まれています。 + +![スクリーンショット](images/world-backdrops.png) + +\--- task \--- + +`ルーム`{:class = "block3variables"}という新しい 'スプライト全体' 変数を作成して、 `プレーヤー` スプライトがどの部屋にいるかを追跡できるようにしましょう。 + +[[[generic-scratch3-add-variable]]] + +![スクリーンショット](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +`プレーヤー` スプライトが最初の部屋のオレンジ色のドアに触れると、ゲームは次の背景を表示し、 `プレーヤー` スプライトはステージの左側に戻るはずです。 以下のコードを`プレイヤー` スプライトの `無限ループ`{:class="block3control"}の中にを追加します。 + +![プレーヤー](images/player.png) + +```blocks3 +<キー(上向き矢印v)が押されたらフラグが永久に +クリックしたとき + > 次に方向 + 指す(0) + 移動する(4)ステップ + 終了 + <キー(左矢印v)を押すと? > から + 方向に +ポイント(-90) + 移動(4)ステップ + 終了 + <キー(下矢印v)が押されたら > then + point in direction (180) + move (4) steps + end + if その後 + 方向(90)に点 + の動きは(4)ステップ + の端部 + であれば < [#BABABA】タッチ色? > 次に + 移動(-4)ステップ + 終了 ++ < タッチ色[#F2A24A] > 次に + 背景に(次の背景v) + に切り替える + xに移動:(-200)y:(0) + change [room] v]×(1) + 端 +端 +``` + +\--- /task \--- + +\--- task \--- + +ゲームが始まるたびに、ルーム、キャラクターの位置、背景がリセットされる必要があります。 + +フラグがクリックされたときにすべてをリセットするには、 `プレーヤー` スプライトコードの**開始** 部分(ただし`無限ループ`{:class ="block3control"}の上)にコードを追加します。 + +\--- hints \--- + +\--- hint \--- + +ゲーム起動時: + ++ `ルーム`{:class = "block3variables"}の値は、 `1`{:class = "block3variables"}に設定する必要があります。 ++ `背景`{:class = "block3looks"}を `room1`{:class = "block3looks"}に設定します。 ++ `プレイヤー` スプライトの位置は `x: -200 y: 0`{:class="block3motion"}に設定する必要があります + +\--- /hint \--- + +\--- hint \--- + +必要なコードブロックは次のとおりです。 + +![プレーヤー](images/player.png) + +```blocks3 +x:(-200)y:(0) + +[room v]を(1) + +背景を(room1 v)に切り替える +``` + +\--- /hint \--- + +\--- hint \--- + +完成したコードは次のようになっているはずです。 + +![プレーヤー](images/player.png) + +```blocks3 +フラグがクリックされたときに +設定+ [ルームV](1)〜 ++は、Xに移動します(-200)、Y(0) ++(ROOM1 V)に背景を切り替え +永久 + であれば <(矢印Vアップ)キーが押され? > 次に方向 + 指す(0) + 移動する(4)ステップ + 終了 + <キー(左矢印v)を押すと? > から + 方向に +ポイント(-90) + 移動(4)ステップ + 終了 + <キー(下矢印v)が押されたら > then + point in direction (180) + move (4) steps + end + if その後 + 方向(90)に点 + の動きは(4)ステップ + の端部 + であれば < [#BABABA】タッチ色? > 次に + の動きは(-4)ステップ + 端 + であれば < タッチ色[#1 F2A24A] > 次いで + (次背景V)にスイッチ背景を + (-200)Y:(0)Xに移動 + 変化[部屋vを](1) +終了 +終了 +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +旗をクリックしてから、 `プレーヤー` スプライトをオレンジ色のドアに触れるまで動かします。 プレーヤースプライトは次の画面に移動しますか? `ルーム`{:class="block3variables"}変数は `2` になりますか? + +![スクリーンショット](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ja-JP/step_5.md b/ja-JP/step_5.md new file mode 100644 index 000000000..0718833d5 --- /dev/null +++ b/ja-JP/step_5.md @@ -0,0 +1,3 @@ +## 課題:前の部屋に戻る + +黄色いドアに触れたときに、あなたの `プレーヤー` スプライトを前の部屋に戻すことはできますか。 これに必要なコードは、スプライトを隣の部屋に移動させるためにすでに追加したコードと非常によく似ています。 \ No newline at end of file diff --git a/ja-JP/step_6.md b/ja-JP/step_6.md new file mode 100644 index 000000000..369509a6e --- /dev/null +++ b/ja-JP/step_6.md @@ -0,0 +1,108 @@ +## サイン + +ここで、プレイヤーを彼らの旅に導くためのサイン(みちしるべ)をあなたの「世界」に追加しましょう。 + +あなたのプロジェクトには、 `ようこそ!` スプライトが含まれています。 + +![スクリーンショット](images/world-sign.png) + +\--- task \--- + +`ようこそ` スプライトは、部屋1にのみ表示されるはずなので、これを確実にするために、スプライトにコードを追加します。 + +\--- hints \--- + +\--- hint \--- + +`旗がクリックされたとき`{:class="block3events"}イベントについては、`無限ループ`{:class="block3control"} の中をみて、`もし`{:class="block3control"} `ルーム変数が1`{:class="block3variables"} の時には `ようこそ` スプライトを`表示`{:class="block3looks"}して, `そうでなければ`{:class="block3control"} `非表示`{:class="block3looks"} にする。 + +\--- /hint \--- + +\--- hint \--- + +必要なブロックは次のとおりです。 + +![標識](images/sign.png) + +```blocks3 +
場合 < > 、次いで +他の +末端 + +< (部屋::変数)= [1] > + +隠す + +ショー + +永久 +の端部 + +フラグがクリックしたとき + +``` + +\--- /hint \--- + +\--- hint \--- + +これが完成したプログラムです。 + +![標識](images/sign.png) + +```blocks3 +flagが永遠に +クリックしたとき + < (room :: variables)= [1] > + > + それ以外のとき + 隠す + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +あなたの `ようこそ!` スプライトのコードを、部屋の間を移動してテストしましょう。 標識はルーム1でのみ表示されなければなりません。 + +![スクリーンショット](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +標識は何も示していない(言わない)とするとはあまり良くありませんね! さらにコードを追加して`ようこそ!` スプライトが `プレーヤー` スプライトに触れた場合にメッセージを表示するようにしましょう。 + +![標識](images/sign.png) + +```blocks3 +flagが永遠に +クリックしたとき + < (room :: variables)= [1] > +show +else +hide +end ++ < タッチしている場合(プレーヤーv) > それから +と言う[ようこそ! あなたは宝物に得ることができますか?] +他 +[]と言う +エンド +終了 +``` + +\--- /task \--- + +\--- task \--- + +`ようこそ!` スプライトをもう一度テストしましょう。 `プレイヤー` のスプライトが `ようこそ!` スプライトにさわったときに、メッセージが表示されるはずです。 + +![スクリーンショット](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/ja-JP/step_7.md b/ja-JP/step_7.md new file mode 100644 index 000000000..965308fa1 --- /dev/null +++ b/ja-JP/step_7.md @@ -0,0 +1,7 @@ +## 挑戦:宝物! + +プレイヤーに宝物を追加してもらえますか? + +`宝箱` スプライトを部屋3にのみ出現させ、このスプライトに「よくできました」と言わせます `プレーヤー` スプライトがそれに触れると。 + +![スクリーンショット](images/world-treasure.png) \ No newline at end of file diff --git a/ja-JP/step_8.md b/ja-JP/step_8.md new file mode 100644 index 000000000..8afbd4d26 --- /dev/null +++ b/ja-JP/step_8.md @@ -0,0 +1,67 @@ +## 人 + +あなたの `プレイヤー` スプライトが相互作用できる他の人々をあなたの世界に追加しましょう。 + +\--- task \--- + +`人`のスプライトを選んでください。 + +![人のスプライト](images/person.png) + +\--- /task \--- + +\--- task \--- + +`人` スプライトにコードを追加して、その人が `プレーヤー` スプライトと会話できるようにします。 このコードは `標識(ようこそ!)` スプライトに追加したコードにとてもよく似ています。 + +![人](images/person.png) + +```blocks3 +旗がクリックされたとき +はxに行きます:(0)y:(-150) +永遠に + < 触れたら + (プレイヤーv) > その後、 + [あなたはオレンジと黄色のドアを通って行くことができることを知っていますか?]と言う + 他 + []と言う + 終了 +終了 +``` + +\--- /task \--- + +\--- task \--- + +コードの `そのほか` {:class="block3control"}セクションに2つのブロックを追加することで、 `人`スプライトを移動させることができます。 + +![人](images/person.png) + +```blocks3 +旗がクリックされたとき +はxに行きます:(0)y:(-150) +永遠に + < 触れたら + (プレイヤーv) > その後、 + [あなたはオレンジと黄色のドアを通って行くことができることを知っていますか?]と言う + 他 + []と言う ++移動が(1)の手順 +端に、バウンス場合は+ + 終了 +終了を +``` + +\--- /task \--- + +`人` のスプライトは動きますが、 `プレイヤー` のスプライトと話すために立ち止まります。 + +![スクリーンショット](images/world-person-test.png) + +\--- task \--- + +新しい `人` のスプライトがルーム1にのみ現れるようにコードを追加しましょう。 必要なコードは、 `標識(ようこそ!)` のスプライトをルーム1でのみ見えるようにするコードとまったく同じです。 + +新しいコードを必ずテストしてください。 + +\--- /task \--- \ No newline at end of file diff --git a/ja-JP/step_9.md b/ja-JP/step_9.md new file mode 100644 index 000000000..a6a0bb243 --- /dev/null +++ b/ja-JP/step_9.md @@ -0,0 +1,39 @@ +## 課題:敵を追加する + +あなたが望むなら、あなたはまたあなたのゲームにパトロールの敵を追加することができます。 `プレイヤー` スプライトが敵に触れると、ゲームは終了です。 + ++ あなたのゲームは既に `敵` スプライトを含んでいます。 `敵` スプライトにコードを追加して、それが部屋2にのみ現れるようにします。 + ++ `敵` スプライトを移動し、 `敵` スプライトが `プレーヤー` スプライトに触れるとゲームを終了するコードを追加します。 別のコードブロックでこれを行う方が簡単です。 `敵` スプライトコードがどのように見えるかは次のとおりです。 + +```blocks3 +フラグがクリックされたときに +永久 +であれば <(部屋::変数)=[2]> 次に +ショー +そう +隠す + +フラグをクリック +永久 +あれば 、次いで +STOP [全てV] + +フラグがクリックしたときに +行くxに:( 170)y:(0) +永遠に +繰り返し(130) +xを(-1)だけ変えて +end +繰り返し(130) +xを(1)だけ変えて +``` + ++ 次のことを確認するために新しいコードをテストします。 + + `敵` スプライトは部屋2にのみ見える + + `敵` スプライトが部屋をパトロール + + `プレイヤー` スプライトが `敵` スプライトに触れるとゲームが終了します + +あなたは部屋3にもう
つの `敵`スプライトを作り、壁の隙間を通して上下に巡回することができますか? + +![スクリーンショット](images/world-enemy2.png) \ No newline at end of file diff --git a/kn-IN/images/banner.png b/kn-IN/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/kn-IN/images/banner.png differ diff --git a/kn-IN/images/cats-finished.png b/kn-IN/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/kn-IN/images/cats-finished.png differ diff --git a/kn-IN/images/coin.png b/kn-IN/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/kn-IN/images/coin.png differ diff --git a/kn-IN/images/door.png b/kn-IN/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/kn-IN/images/door.png differ diff --git a/kn-IN/images/key.png b/kn-IN/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/kn-IN/images/key.png differ diff --git a/kn-IN/images/north-south-rooms.png b/kn-IN/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/kn-IN/images/north-south-rooms.png differ diff --git a/kn-IN/images/number-grid.png b/kn-IN/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/kn-IN/images/number-grid.png differ diff --git a/kn-IN/images/person.png b/kn-IN/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/kn-IN/images/person.png differ diff --git a/kn-IN/images/player.png b/kn-IN/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/kn-IN/images/player.png differ diff --git a/kn-IN/images/showcase.png b/kn-IN/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/kn-IN/images/showcase.png differ diff --git a/kn-IN/images/sign.png b/kn-IN/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/kn-IN/images/sign.png differ diff --git a/kn-IN/images/stage.png b/kn-IN/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/kn-IN/images/stage.png differ diff --git a/kn-IN/images/world-backdrops.png b/kn-IN/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/kn-IN/images/world-backdrops.png differ diff --git a/kn-IN/images/world-bribe.png b/kn-IN/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/kn-IN/images/world-bribe.png differ diff --git a/kn-IN/images/world-door.png b/kn-IN/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/kn-IN/images/world-door.png differ diff --git a/kn-IN/images/world-enemy2.png b/kn-IN/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/kn-IN/images/world-enemy2.png differ diff --git a/kn-IN/images/world-key.png b/kn-IN/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/kn-IN/images/world-key.png differ diff --git a/kn-IN/images/world-person-test.png b/kn-IN/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/kn-IN/images/world-person-test.png differ diff --git a/kn-IN/images/world-room-test.png b/kn-IN/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/kn-IN/images/world-room-test.png differ diff --git a/kn-IN/images/world-room.png b/kn-IN/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/kn-IN/images/world-room.png differ diff --git a/kn-IN/images/world-sign-test.png b/kn-IN/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/kn-IN/images/world-sign-test.png differ diff --git a/kn-IN/images/world-sign-test2.png b/kn-IN/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/kn-IN/images/world-sign-test2.png differ diff --git a/kn-IN/images/world-sign.png b/kn-IN/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/kn-IN/images/world-sign.png differ diff --git a/kn-IN/images/world-starter.png b/kn-IN/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/kn-IN/images/world-starter.png differ diff --git a/kn-IN/images/world-treasure.png b/kn-IN/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/kn-IN/images/world-treasure.png differ diff --git a/kn-IN/images/world-up.png b/kn-IN/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/kn-IN/images/world-up.png differ diff --git a/kn-IN/images/world-walls-test.png b/kn-IN/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/kn-IN/images/world-walls-test.png differ diff --git a/kn-IN/images/world-walls.png b/kn-IN/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/kn-IN/images/world-walls.png differ diff --git a/kn-IN/meta.yml b/kn-IN/meta.yml new file mode 100644 index 000000000..9954065e6 --- /dev/null +++ b/kn-IN/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಪಂಚವನ್ನು ರಚಿಸಿ +description: ನಿಮ್ಮ ಸ್ವಂತ ಮುಕ್ತ ಪ್ರಪಂಚದ ಸಾಹಸ ಆಟವನ್ನು ರಚಿಸಿ +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: ಪರಿಚಯ + - + title: ಆಟಗಾರ ಸ್ಪ್ರೈಟ್ ಅನ್ನು ಸರಿಸಿ + - + title: ಘನ ಗೋಡೆಗಳು + completion: + - engaged + - + title: ನಿಮ್ಮ ಪ್ರಪಂಚದಾದ್ಯಂತ ಸರಿಸಿ + - + title: 'ಸವಾಲು: ಹಿಂದಿನ ಕೋಣೆಗೆ ಹಿಂತಿರುಗಿ' + challenge: true + - + title: ಚಿಹ್ನೆಗಳು + - + title: 'ಸವಾಲು: ನಿಧಿ!' + challenge: true + - + title: ಜನರು + - + title: 'ಸವಾಲು: ಶತ್ರುಗಳು' + challenge: true + - + title: ನಾಣ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ + - + title: ಬಾಗಿಲುಗಳು ಮತ್ತು ಕೀಲಿಗಳು + completion: + - internal + - + title: 'ಸವಾಲು: ನಿಮ್ಮ ಜಗತ್ತನ್ನು ವಿಸ್ತರಿಸಿ' + challenge: true + completion: + - external diff --git a/kn-IN/resources/CreateYourOwnWorldResources.sb3 b/kn-IN/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/kn-IN/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/kn-IN/resources/chest.svg b/kn-IN/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/kn-IN/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kn-IN/resources/coin.svg b/kn-IN/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/kn-IN/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kn-IN/resources/door-blue.png b/kn-IN/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/kn-IN/resources/door-blue.png differ diff --git a/kn-IN/resources/enemy.png b/kn-IN/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/kn-IN/resources/enemy.png differ diff --git a/kn-IN/resources/key.svg b/kn-IN/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/kn-IN/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/kn-IN/resources/person.png b/kn-IN/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/kn-IN/resources/person.png differ diff --git a/kn-IN/resources/player.png b/kn-IN/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/kn-IN/resources/player.png differ diff --git a/kn-IN/resources/room1.png b/kn-IN/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/kn-IN/resources/room1.png differ diff --git a/kn-IN/resources/room2.png b/kn-IN/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/kn-IN/resources/room2.png differ diff --git a/kn-IN/resources/room3.png b/kn-IN/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/kn-IN/resources/room3.png differ diff --git a/kn-IN/resources/sign.svg b/kn-IN/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/kn-IN/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kn-IN/scratch-translatable.txt b/kn-IN/scratch-translatable.txt new file mode 100644 index 000000000..ed3d9a9b0 --- /dev/null +++ b/kn-IN/scratch-translatable.txt @@ -0,0 +1,13 @@ +ರೂಮ್ + +ಆಟಗಾರ + +ಸ್ವಾಗತ! ನೀವು ನಿಧಿಗೆ ಹೋಗಬಹುದೇ? + +ನೀವು ಕಿತ್ತಳೆ ಮತ್ತು ಹಳದಿ ಬಾಗಿಲುಗಳ ಮೂಲಕ ಹೋಗಬಹುದು ಎಂದು ನಿಮಗೆ ತಿಳಿದಿದೆಯೇ? + +ನಾಣ್ಯಗಳು + +blue key + +ದಾಸ್ತಾನು diff --git a/kn-IN/solutions/CreateYourOwnWorld.sb3 b/kn-IN/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/kn-IN/solutions/CreateYourOwnWorld.sb3 differ diff --git a/kn-IN/step_1.md b/kn-IN/step_1.md new file mode 100644 index 000000000..3b60e1bbf --- /dev/null +++ b/kn-IN/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +ಇದು **Scratch 3** ಯೋಜನೆಯ ಆವೃತ್ತಿ. ಒಂದು ಸಹ ಇದೆ [Scratch 2 ಯೋಜನೆಯ ಆವೃತ್ತಿ](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## ಪರಿಚಯ + +ಈ ಯೋಜನೆಯಲ್ಲಿ, ಅನ್ವೇಷಿಸಲು ಅನೇಕ ಹಂತಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಸ್ವಂತ ಸಾಹಸ ಆಟದ ಪ್ರಪಂಚವನ್ನು ಹೇಗೆ ರಚಿಸುವುದು ಎಂದು ನೀವು ಕಲಿಯುವಿರಿ. + +### ನೀವು ಏನು ಮಾಡುವಿರಿ + +\--- no-print \--- + +ಪ್ರಾರಂಭಿಸಲು ಹಸಿರು ಧ್ವಜದ ಮೇಲೆ ಒತ್ತಿರಿ. ನಿಮ್ಮ ಪಾತ್ರವನ್ನು ಪ್ರಪಂಚದಾದ್ಯಂತ ಸರಿಸಲು ಬಾಣದ ಕೀಲಿಗಳನ್ನು ಬಳಸಿ. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +ನಿಮ್ಮ ಪಾತ್ರವನ್ನು ಪ್ರಪಂಚದಾದ್ಯಂತ ಸರಿಸಲು ನೀವು ಬಾಣದ ಕೀಲಿಗಳನ್ನು ಬಳಸುತ್ತೀರಿ. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: ನಿಮಗೆ ಬೇಕಾದುದು + +### ಹಾರ್ಡ್ವೇರ್ + +- ಸಾಮರ್ಥ್ಯವಿರುವ ಕಂಪ್ಯೂಟರ್ ಚಾಲನೆಯಲ್ಲಿದೆ Scratch 3 + +### ಸಾಫ್ಟ್ವೇರ್ + +- Scratch 3 ( ಇತ್ತೆರ್ [ಆನ್‌ಲೈನ್](https://rpf.io/scratchon){:target="_blank"} ಅಥವಾ [ಆಫ್‌ಲೈನ್](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +ಈ ಯೋಜನೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ನಿಮಗೆ ಬೇಕಾದ ಎಲ್ಲವನ್ನೂ ನೀವು ಕಾಣಬಹುದು [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: ನೀವು ಏನು ಕಲಿಯುವಿರಿ + +- ಕಂಡೀಷನಲ್ ಅನ್ನು ಬಳಸಿ ವೇರಿಯೇಬಲ್ ಮೌಲ್ಯವನ್ನು ಆಧರಿಸಿ ಆಯ್ಕೆ ಮಾಡೀ +- ಆಟದ ಸ್ಥಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ವೇರಿಯೇಬಲ್ ಬಳಸಿ +- ಕಂಡೀಷನಲ್ ಅನ್ನು ಬಳಸಿ ವೇರಿಯೇಬಲ್ ಮೌಲ್ಯವನ್ನು ಆಧರಿಸಿ ಆಯ್ಕೆ ಮಾಡೀ +- ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಪಟ್ಟಿಗಳನ್ನು ಬಳಸಿ + +\--- /collapse \--- + +## \--- collapse \--- + +## title: ಶಿಕ್ಷಣತಜ್ಞರಿಗೆ ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿ + +ನೀವು ಈ ಯೋಜನೆಯನ್ನು ಮುದ್ರಿಸಬೇಕಾದರೆ, ದಯವಿಟ್ಟು ಬಳಸಿ [ಮುದ್ರಕ ಸ್ನೇಹಿ ಆವೃತ್ತಿ](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +ನೀವು ಕಾಣಬಹುದು [ಪೂರ್ಣಗೊಂಡ ಯೋಜನೆ ಇಲ್ಲಿ](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/kn-IN/step_10.md b/kn-IN/step_10.md new file mode 100644 index 000000000..08da1a4a7 --- /dev/null +++ b/kn-IN/step_10.md @@ -0,0 +1,71 @@ +## ನಾಣ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ + +ನಿಮ್ಮ`player` ಸ್ಪ್ರೈಟ್ ಪ್ರಪಂಚದಾದ್ಯಂತ ಚಲಿಸುವಾಗ ನಾಣ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಶಕ್ತವಾಗಿರಬೇಕು. + +\--- task \--- + +ಹೊಸ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಸೇರಿಸಿ `coins`{:class="block3variables"} ನಿಮ್ಮ ಯೋಜನೆಗೆ. + +\--- /task \--- + +\--- task \--- + +ಆಯ್ಕೆಮಾಡಿ `coin` ಸ್ಪ್ರೈಟ್ ಮತ್ತು ಕ್ಲಿಕ್ ಮಾಡಿ **show**. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/coin.png) + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಕೋಡ್ ಸೇರಿಸಿ `coin` ಸ್ಪ್ರೈಟ್ ಆದ್ದರಿಂದ ಅದು ಕೊಠಡಿ 1 ರಲ್ಲಿ ಮಾತ್ರ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಕೋಡ್ ಸೇರಿಸಿ `coin` ಸ್ಪ್ರೈಟ್ ಆದ್ದರಿಂದ ಸ್ಪ್ರೈಟ್ `hides`{:class="block3looks"} ಮತ್ತು `1`{:class="block3variables"} ಸೇರಿಸಲಾಗಿದೆ `coins`{:class="block3variables"} ಒಮ್ಮೆ ವೇರಿಯಬಲ್ `player` ಸ್ಪ್ರೈಟ್ ಸ್ಪರ್ಶಿಸುತ್ತದೆ `coin` ಸ್ಪ್ರೈಟ್ ಅನ್ನು 'ಅದನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು'. + +![ನಾಣ್ಯ](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +ಕೋಡ್ `stop other scripts in sprite`{:class="block3control"} ಅಗತ್ಯವಿದೆ ಆದ್ದರಿಂದ `coin` ಸ್ಪ್ರೈಟ್ ಅದನ್ನು ಸಂಗ್ರಹಿಸಿದ ನಂತರ ಕೊಠಡಿ 1 ರಲ್ಲಿ ಪ್ರದರ್ಶಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ. + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಹೊಂದಿಸಲು ಈಗ ಹಂತಕ್ಕೆ ಕೋಡ್ ಸೇರಿಸಿ `coins`{:class="block3variables"} ವೇರಿಯಬಲ್ಗೆ `0`{:class="block3variables"} ಆಟದ ಪ್ರಾರಂಭದಲ್ಲಿ. + +![ಹಂತ](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಆಟವನ್ನು ಪರೀಕ್ಷಿಸಿ. ನಾಣ್ಯವನ್ನು ಸಂಗ್ರಹಿಸುವುದ್ದರಿಂದ ನಿಮ್ಮ ಬದಲಾವಣೆ `ನಾಣ್ಯಗಳು` ಸ್ಕೋರ್ `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/kn-IN/step_11.md b/kn-IN/step_11.md new file mode 100644 index 000000000..c788d32b2 --- /dev/null +++ b/kn-IN/step_11.md @@ -0,0 +1,104 @@ +## ಬಾಗಿಲುಗಳು ಮತ್ತು ಕೀಲಿಗಳು + +ಈಗ ನೀವು ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಲು ಹೊರಟಿದ್ದೀರಿ ಇದರಿಂದ ನಿಮ್ಮ ಆಟದ ಪ್ರಪಂಚದ ಕೆಲವು ಬಾಗಿಲುಗಳು ಲಾಕ್ ಆಗುತ್ತವೆ, ಮತ್ತು ಆಟಗಾರನು ಅವುಗಳನ್ನು ತೆರೆಯಲು ಕೀಲಿಯನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು ಮತ್ತು ಮುಂದಿನ ಕೋಣೆಗೆ ಹೋಗಬೇಕು. + +\--- task \--- + +ಬದಲಾಯಿಸಿ `key` ಸ್ಪ್ರೈಟ್. ಕ್ಲಿಕ್ ಮಾಡಿ `show`{:class="blocklooks"} ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಮೆನುವಿನಲ್ಲಿ ಸ್ಪ್ರೈಟ್ ಹಂತದಲ್ಲಿ ಗೋಚರಿಸುತ್ತದೆ. + +\--- /task \--- + +\--- task \--- + +ಸಂಪಾದಿಸಿ `key` ಸ್ಪ್ರೈಟ್ನ ವೇಷಭೂಷಣವು ನೀಲಿ ಬಣ್ಣದ್ದಾಗಿದೆ. + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಹಂತದ ಹಿನ್ನೆಲೆಯನ್ನು 3 ನೇ ಕೋಣೆಗೆ ಬದಲಾಯಿಸಿ ಮತ್ತು ಇರಿಸಿ `key` ಸ್ಪ್ರೈಟ್ ತಲುಪಲು ಎಲ್ಲೋ ಕಷ್ಟ! + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +ಕೋಡ್ ಸೇರಿಸಿ `key` ಸ್ಪ್ರೈಟ್ room 3 ರಲ್ಲಿ ಮಾತ್ರ ಗೋಚರಿಸುವಂತೆ ಮಾಡಲು. + +\--- /task \--- + +\--- task \--- + +ಹೊಸ ಪಟ್ಟಿಯನ್ನು ರಚಿಸಿ `inventory`{:class="block3variables"} ನಿಮ್ಮ ವಸ್ತುಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು `player` ಸ್ಪ್ರೈಟ್ ಸಂಗ್ರಹಿಸುತ್ತದೆ. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +ಕೀಲಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ನೀವು ಸೇರಿಸಬೇಕಾದ ಕೋಡ್ ನಾಣ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಕೋಡ್‌ಗೆ ಹೋಲುತ್ತದೆ. ವ್ಯತ್ಯಾಸವೆಂದರೆ ನೀವು ಕೀಲಿಯನ್ನು ಸೇರಿಸುತ್ತೀರಿ `inventory`{:class="block3variables"}. + +![ಕೀ](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +ಆಟದ ಪ್ರಾರಂಭದಲ್ಲಿ ನಿಮ್ಮ ದಾಸ್ತಾನು ಖಾಲಿ ಮಾಡಲು ನಿಮ್ಮ ಹಂತಕ್ಕೆ ಕೋಡ್ ಸೇರಿಸಿ. + +```blocks3 +delete (all v) of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +ನೀವು ಸಂಗ್ರಹಿಸಬಹುದೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ನಿಮ್ಮ ಆಟವನ್ನು ಪರೀಕ್ಷಿಸಿ `key` ಸ್ಪ್ರೈಟ್ ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ ದಾಸ್ತಾನುಗೆ ಸೇರಿಸಿ. + +\--- /task \--- + +\--- task \--- + +ಈಗ ಬೀಗ ಹಾಕಿದ ಬಾಗಿಲು ಸೇರಿಸಿ. ಆಯ್ಕೆಮಾಡಿ `door-blue` ಸ್ಪ್ರೈಟ್ ಮತ್ತು ಕ್ಲಿಕ್ ಮಾಡಿ `show`{:class="blocklooks} ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಮೆನು,ತದನಂತರ ಎರಡು ಗೋಡೆಗಳ ನಡುವಿನ ಅಂತರದಲ್ಲಿ ಸ್ಪ್ರೈಟ್ ಅನ್ನು ಇರಿಸಿ. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +ಕೋಡ್ ಸೇರಿಸಿ `door-blue` ಸ್ಪ್ರೈಟ್ ಕೊಠಡಿ 3 ರಲ್ಲಿ ಮಾತ್ರ ಗೋಚರಿಸುವಂತೆ ಮಾಡಲು. + +\--- /task \--- + +\--- task \--- + +ಕೋಡ್ ಸೇರಿಸಿ `door-blue` ಸ್ಪ್ರೈಟ್ ಕೀಲಿಯಲ್ಲಿರುವಾಗ `inventory`{:class="block3variables"}, ಸ್ಪ್ರೈಟ್ `hides`{:class="block3looks"} ನಿಮ್ಮ ಅನುಮತಿಸಲು `player` ಸ್ಪ್ರೈಟ್ಹಾ ದುಹೋಗಲು. + +![ಬಾಗಿಲು](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಆಟವನ್ನು ಪರೀಕ್ಷಿಸಿ ಮತ್ತು ಬಾಗಿಲು ತೆರೆಯಲು ನೀವು ನೀಲಿ ಕೀಲಿಯನ್ನು ಸಂಗ್ರಹಿಸಬಹುದೇ ಎಂದು ನೋಡಿ! + +\--- /task \--- \ No newline at end of file diff --git a/kn-IN/step_12.md b/kn-IN/step_12.md new file mode 100644 index 000000000..1cb99feb6 --- /dev/null +++ b/kn-IN/step_12.md @@ -0,0 +1,28 @@ +## ಸವಾಲು: ನಿಮ್ಮ ಜಗತ್ತನ್ನು ವಿಸ್ತರಿಸಿ + +ನೀವು ಈಗ ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಪಂಚವನ್ನು ರಚಿಸುವುದನ್ನು ಮುಂದುವರಿಸಬಹುದು! ಕೆಲವು ವಿಚಾರಗಳು ಇಲ್ಲಿವೆ: + ++ ವಿವಿಧ ಕೋಣೆಗಳಲ್ಲಿ ನಿಮ್ಮ ಆಟಕ್ಕೆ ಹೆಚ್ಚಿನ ನಾಣ್ಯಗಳನ್ನು ಸೇರಿಸಿ. ಗಸ್ತು ತಿರುಗುವ ಶತ್ರುಗಳ ಮೂಲಕ ಕೆಲವು ನಾಣ್ಯಗಳನ್ನು ಕಾಪಾಡಲು ನೀವು ಬಿಡಬಹುದೇ? ++ ನಿಮ್ಮ ಆಟದ ಬ್ಯಾಕ್‌ಡ್ರಾಪ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ ++ ನಿಮ್ಮ ಆಟಕ್ಕೆ ಧ್ವನಿ ಮತ್ತು ಸಂಗೀತವನ್ನು ಸೇರಿಸಿ ++ ಹೆಚ್ಚಿನ ಜನರು, ಶತ್ರುಗಳು ಮತ್ತು ಚಿಹ್ನೆಗಳನ್ನು ಸೇರಿಸಿ ++ ಕೆಂಪು ಮತ್ತು ಹಳದಿ ಬಾಗಿಲುಗಳು ಮತ್ತು ಅವುಗಳನ್ನು ತೆರೆಯಲು ವಿಶೇಷ ಕೀಲಿಗಳನ್ನು ಸೇರಿಸಿ ++ ನಿಮ್ಮ ಜಗತ್ತಿಗೆ ಹೆಚ್ಚಿನ ಕೊಠಡಿಗಳನ್ನು ಸೇರಿಸಿ ++ ನಿಮ್ಮ ಆಟಕ್ಕೆ ಇತರ ಉಪಯುಕ್ತ ವಸ್ತುಗಳನ್ನು ಸೇರಿಸಿ + + + ಇತರ ಜನರಿಂದ ಮಾಹಿತಿ ಪಡೆಯಲು ನಾಣ್ಯಗಳನ್ನು ಬಳಸಿ: + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-bribe.png) + ++ ಕೊಠಡಿ 1 ರ ಉತ್ತರ ಮತ್ತು ದಕ್ಷಿಣ ಗೋಡೆಗಳಲ್ಲಿ ನೀವು ಬಾಗಿಲುಗಳನ್ನು ಕೂಡ ಸೇರಿಸಬಹುದು, ಇದರಿಂದಾಗಿ ಆಟಗಾರನು ನಾಲ್ಕು ದಿಕ್ಕುಗಳಲ್ಲಿನ ಕೊಠಡಿಗಳ ನಡುವೆ ಚಲಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ಆಟವು 3 × 3 ಗ್ರಿಡ್‌ನಲ್ಲಿ ಒಂಬತ್ತು ಕೊಠಡಿಗಳನ್ನು ಹೊಂದಬಹುದು. ನಂತರ ನೀವು `3` ಅನ್ನು ಸೇರಿಸಬಹುದು ಒಂದು ಹಂತಕ್ಕೆ ಇಳಿಯಲು ಕೋಣೆಯ ಸಂಖ್ಯೆಗೆ. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/north-south-rooms.png) + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/kn-IN/step_13.md b/kn-IN/step_13.md new file mode 100644 index 000000000..1e414c410 --- /dev/null +++ b/kn-IN/step_13.md @@ -0,0 +1,21 @@ +## ಮುಂದೆ ಏನು? + +ಮೂಲಕ ಕೆಲಸ ಮಾಡುವ ಮೂಲಕ ಮತ್ತೊಂದು ಆಟವನ್ನು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸಿ [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) ಯೋಜನೆ. + +\--- no-print \--- + +ಪೆನ್ಸಿಲ್ನೊಂದಿಗೆ ರೇಖೆಯನ್ನು ಸೆಳೆಯಲು ಮೌಸ್ನೊಂದಿಗೆ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಎಳೆಯಿರಿ. ನಿರ್ಗಮನಕ್ಕೆ ಸುರಕ್ಷಿತ ಮಾರ್ಗವನ್ನು ರಚಿಸುವ ಮೂಲಕ ಬೆಕ್ಕುಗಳು ರಂಧ್ರಗಳಿಗೆ ಬೀಳದಂತೆ ತಡೆಯುವುದು ನಿಮ್ಮ ಗುರಿಯಾಗಿದೆ. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![ಬೆಕ್ಕುಗಳು ಮುಗಿದವು](images/cats-finished.png) + +\--- /print-only \--- + +ನೀವು ಆಟವನ್ನು ಮಾಡಲು ಬಯಸಿದರೆ ಬಳಸಿ Python ಬದಲಾಗಿ Scratch, ಪ್ರಯತ್ನಿಸಿ [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) ಯೋಜನೆ. \ No newline at end of file diff --git a/kn-IN/step_2.md b/kn-IN/step_2.md new file mode 100644 index 000000000..fb97c57a2 --- /dev/null +++ b/kn-IN/step_2.md @@ -0,0 +1,132 @@ +## ಆಟಗಾರ ಸ್ಪ್ರೈಟ್ ಅನ್ನು ಸರಿಸಿ + +ರಚಿಸುವ ಮೂಲಕ ಪ್ರಾರಂಭಿಸಿ `player` ನಿಮ್ಮ ಪ್ರಪಂಚದಾದ್ಯಂತ ಚಲಿಸಬಲ್ಲ ಸ್ಪ್ರೈಟ್. + +\--- task \--- + +'ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಪಂಚವನ್ನು ರಚಿಸಿ' ಸ್ಕ್ರ್ಯಾಚ್ ಸ್ಟಾರ್ಟರ್ ಯೋಜನೆಯನ್ನು ತೆರೆಯಿರಿ. + +**ಆನ್‌ಲೈನ್**: ನಲ್ಲಿ ಆನ್‌ಲೈನ್ ಸ್ಟಾರ್ಟರ್ ಯೋಜನೆಯನ್ನು ತೆರೆಯಿರಿ [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +ನೀವು ಸ್ಕ್ರ್ಯಾಚ್ ಖಾತೆಯನ್ನು ಹೊಂದಿದ್ದರೆ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ನೀವು ನಕಲನ್ನು ಮಾಡಬಹುದು **ರಿಮಿಕ್ಸ್**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. ನೀವು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ ಸ್ಥಾಪಿಸಬೇಕಾದರೆ Scratch ಆಫ್‌ಲೈನ್ ಸಂಪಾದಕ, ನೀವು ಅದನ್ನು ಕಾಣಬಹುದು [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-starter.png) + +\--- /task \--- + +ಬಾಣದ ಕೀಲಿಗಳನ್ನು ಒತ್ತುವುದರಿಂದ ಚಲಿಸಬೇಕು `player` ಸ್ಪ್ರೈಟ್ಸು ತ್ತಲೂ. ಮೇಲಿನ ಬಾಣ ಒತ್ತಿದಾಗ, `player` ಸ್ಪ್ರೈಟ್ ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ ವೇದಿಕೆಯ ಮೇಲೆ ಮೇಲಕ್ಕೆ ಚಲಿಸಬೇಕು. + +\--- task \--- + +ಈ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿ `player` ಸ್ಪ್ರೈಟ್: + +![ಆಟಗಾರ](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +ಧ್ವಜವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ನಂತರ ಮೇಲಿನ ಬಾಣವನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ. ಮಾಡುತ್ತದೆ `player` ಸ್ಪ್ರೈಟ್ ಮೇಲಕ್ಕೆ ಚಲಿಸುತ್ತದೆಯೇ? + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +ಸರಿಸಲು `player` ಸ್ಪ್ರೈಟ್ ಎಡಕ್ಕೆ, ನೀವು ಇನ್ನೊಂದನ್ನು ಸೇರಿಸುವ ಅಗತ್ಯವಿದೆ `if`{:class="block3control"} ಒಂದೇ ರೀತಿಯ ಕೋಡ್‌ನೊಂದಿಗೆ ನಿರ್ಬಂಧಿಸಿ: + +![ಆಟಗಾರ](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಹೆಚ್ಚಿನ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿ `player` ಸ್ಪ್ರೈಟ್ ಆದ್ದರಿಂದ ಅದು ಕೆಳಕ್ಕೆ ಮತ್ತು ಬಲಕ್ಕೆ ಚಲಿಸಬಹುದು. ನೀವು ಈಗಾಗಲೇ ನಿಮಗೆ ಸಹಾಯ ಮಾಡಬೇಕಾದ ಕೋಡ್ ಬಳಸಿ. + +\--- hints \--- + +\--- hint \--- + +ಮೇಲಕ್ಕೆ ಸರಿಸಲು, ನೀವು ಸೂಚಿಸುತ್ತೀರಿ `player` ಸ್ಪ್ರೈಟ್ ದಿಕ್ಕಿನಲ್ಲಿ `0` ಡಿಗ್ರಿ. ಸ್ಪ್ರೈಟ್ ಅನ್ನು ಕೆಳಕ್ಕೆ ಸರಿಸಲು ನೀವು ಏನು ಮಾಡಬೇಕು? + +ಎಡಕ್ಕೆ ಸರಿಸಲು, ನೀವು ಸ್ಪ್ರೈಟ್ ಅನ್ನು ದಿಕ್ಕಿನಲ್ಲಿ ತೋರಿಸುತ್ತೀರಿ `-90` ಡಿಗ್ರಿ. ಸ್ಪ್ರೈಟ್ ಅನ್ನು ಸರಿಯಾಗಿ ಸರಿಸಲು ನೀವು ಏನು ಮಾಡಬೇಕು? + +\--- /hint \--- + +\--- hint \--- + +ನೀವು ಈ ಎರಡು ಬ್ಲಾಕ್ಗಳನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ: + +![ಆಟಗಾರ](images/player.png) + +```blocks3 + + +point in direction () +``` + +ಮಾಡುವ ಕೋಡ್ ಅನ್ನು ನಕಲು ಮಾಡಿ `player` ಸ್ಪ್ರೈಟ್ ಮೇಲಕ್ಕೆ ಚಲಿಸುತ್ತದೆ, ಮತ್ತು ಸ್ಪ್ರೈಟ್ ಕೆಳಗೆ ಚಲಿಸುವಂತೆ ಮಾಡಲು ಈ ಎರಡು ಬ್ಲಾಕ್ಗಳನ್ನು ಬದಲಾಯಿಸಿ. ಕೋಡ್ ಅನ್ನು ಮತ್ತೆ ನಕಲು ಮಾಡಿ, ಮತ್ತು ಸ್ಪ್ರೈಟ್ ಅನ್ನು ಬಲಕ್ಕೆ ಚಲಿಸುವಂತೆ ಬದಲಾಯಿಸಿ. + +\--- /hint \--- + +\--- hint \--- + +ನಿಮ್ಮ ಕೋಡ್ ಹೇಗೆ ಕಾಣಬೇಕು ಎಂಬುದು ಇಲ್ಲಿದೆ: + +![ಆಟಗಾರ](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/kn-IN/step_3.md b/kn-IN/step_3.md new file mode 100644 index 000000000..b4db8bf83 --- /dev/null +++ b/kn-IN/step_3.md @@ -0,0 +1,50 @@ +## ಘನ ಗೋಡೆಗಳು + +\--- task \--- + +ನಿಮ್ಮನ್ನು ಪರೀಕ್ಷಿಸಿ `player` ಸ್ಪ್ರೈಟ್ ಮತ್ತೆ. ಇದು ತಿಳಿ ಬೂದು ಗೋಡೆಗಳ ಮೂಲಕ ನಡೆಯಬಲ್ಲದು ಎಂದು ನೀವು ನೋಡುತ್ತೀರಾ? + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +ಇದನ್ನು ಸರಿಪಡಿಸಲು, ನೀವು ಇದನ್ನು ಮಾಡಬೇಕಾಗಿದೆ `player` ಸ್ಪ್ರೈಟ್ ತಿಳಿ ಬೂದು ಗೋಡೆಗೆ ಮುಟ್ಟಿದರೆ ಹಿಂದಕ್ಕೆ ಸರಿಯುತ್ತದೆ. ನಿಮ್ಮೊಳಗೆ ನೀವು ಸೇರಿಸಬೇಕಾದ ಕೋಡ್ ಇಲ್ಲಿದೆ `forever`{:class="block3control"} ದಿಕ್ಕಿನ ಬ್ಲಾಕ್ಗಳ ಕೆಳಗೆ ನಿರ್ಬಂಧಿಸಿ: + +![ಆಟಗಾರ](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ `player` ಸ್ಪ್ರೈಟ್ ಗೋಡೆಯ ಮೂಲಕ ಚಲಿಸುತ್ತದೆ. ನಿಮ್ಮ ಹೊಸ ಕೋಡ್ ಕಾರ್ಯನಿರ್ವಹಿಸಿದರೆ, ಇದು ಸಾಧ್ಯವಾಗಬಾರದು. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/kn-IN/step_4.md b/kn-IN/step_4.md new file mode 100644 index 000000000..af6ff2a41 --- /dev/null +++ b/kn-IN/step_4.md @@ -0,0 +1,142 @@ +## ನಿಮ್ಮ ಪ್ರಪಂಚದಾದ್ಯಂತ ಸರಿಸಿ + +`player` ಸ್ಪ್ರೈಟ್ ಬಾಗಿಲುಗಳ ಮೂಲಕ ಇತರ ಕೋಣೆಗಳಿಗೆ ಕಾಲಿಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. + +ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಹೆಚ್ಚುವರಿ ಕೊಠಡಿಗಳಿಗಾಗಿ ಬ್ಯಾಕ್‌ಡ್ರಾಪ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-backdrops.png) + +\--- task \--- + +ಹೊಸ 'ಎಲ್ಲಾ ಸ್ಪ್ರೈಟ್‌ಗಳಿಗೆ' ವೇರಿಯೇಬಲ್ ಅನ್ನು ರಚಿಸಿ `room`{:class="block3variables"} ಯಾವ ಕೋಣೆಯ ಬಗ್ಗೆ ನಿಗಾ ಇಡಲು `player` ಸ್ಪ್ರೈಟ್ ಇದೆಯ. + +[[[generic-scratch3-add-variable]]] + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +ಯಾವಾಗ `player` ಸ್ಪ್ರೈಟ್ ಮೊದಲ ಕೋಣೆಯಲ್ಲಿ ಕಿತ್ತಳೆ ಬಾಗಿಲನ್ನು ಮುಟ್ಟುತ್ತದೆ, ಆಟವು ಮುಂದಿನ ಹಿನ್ನೆಲೆಯನ್ನು ಪ್ರದರ್ಶಿಸಬೇಕು, ಮತ್ತು `player` ಸ್ಪ್ರೈಟ್ ಹಂತದ ಎಡಭಾಗಕ್ಕೆ ಹಿಂತಿರುಗಬೇಕು. ಒಳಗೆ ಈ ಕೋಡ್ ಸೇರಿಸಿ `player` ಸ್ಪ್ರೈಟ್ಸ್ `forever`{:class="block3control"} ಲೂಪ್: + +![ಆಟಗಾರ](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +ಆಟ ಪ್ರಾರಂಭವಾದಾಗಲೆಲ್ಲಾ ಕೊಠಡಿ, ಪಾತ್ರದ ಸ್ಥಾನ ಮತ್ತು ಹಿನ್ನೆಲೆ ಮರುಹೊಂದಿಸಬೇಕಾಗುತ್ತದೆ. + +ಕೋಡ್ ಸೇರಿಸಿ **start** ನಿಮ್ಮ `player` ಮೇಲಿನ ಸ್ಪ್ರೈಟ್ ಕೋಡ್ `forever`{:class="block3control"} ಲೂಪ್ ಧ್ವಜ ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಎಲ್ಲವನ್ನೂ ಮರುಹೊಂದಿಸಲು: + +\--- hints \--- + +\--- hint \--- + +ಆಟ ಪ್ರಾರಂಭವಾದಾಗ: + ++ ಮೌಲ್ಯದ `room`{:class="block3variables"} ಹೊಂದಿಸಬೇಕುದು `1`{:class="block3variables"} ++ `backdrop`{:class="block3looks"} ಹೊಂದಿಸಬೇಕು `room1`{:class="block3looks"} ++ ಸ್ಥಾನ `player` ಸ್ಪ್ರೈಟ್ ಅನ್ನು ಹೊಂದಿಸಬೇಕು `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಹೆಚ್ಚುವರಿ ಬ್ಲಾಕ್‌ಗಳು ಇಲ್ಲಿವೆ: + +![ಆಟಗಾರ](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +ನಿಮ್ಮ ಸಿದ್ಧಪಡಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್ ಹೇಗಿರಬೇಕು ಎಂಬುದು ಇಲ್ಲಿದೆ: + +![ಆಟಗಾರ](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +ಧ್ವಜವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ, ತದನಂತರ ನಿಮ್ಮದನ್ನು ಸರಿಸಿ `player` ಸ್ಪ್ರೈಟ್ ಕಿತ್ತಳೆ ಬಾಗಿಲನ್ನು ಮುಟ್ಟುವವರೆಗೆ. ಸ್ಪ್ರೈಟ್ ಮುಂದಿನ ಪರದೆಯತ್ತ ಚಲಿಸುತ್ತದೆಯೇ? ಮಾಡುತ್ತ `room`{:class="block3variables"} ವೇರಿಯಬಲ್ ಬದಲಾವಣೆ `2`? + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/kn-IN/step_5.md b/kn-IN/step_5.md new file mode 100644 index 000000000..5beb4c642 --- /dev/null +++ b/kn-IN/step_5.md @@ -0,0 +1,3 @@ +## ಸವಾಲು: ಹಿಂದಿನ ಕೋಣೆಗೆ ಹಿಂತಿರುಗಿ + +ನಿಮ್ಮದನ್ನು ಮಾಡಬಹುದೇ `player` ಹಳದಿ ಬಾಗಿಲನ್ನು ಮುಟ್ಟಿದಾಗ ಸ್ಪ್ರೈಟ್ ಹಿಂದಿನ ಕೋಣೆಗೆ ಹಿಂತಿರುಗುತ್ತದೆಯೇ? ಇದಕ್ಕಾಗಿ ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಕೋಡ್ ಸ್ಪ್ರೈಟ್ ಅನ್ನು ಮುಂದಿನ ಕೋಣೆಗೆ ಸರಿಸಲು ನೀವು ಈಗಾಗಲೇ ಸೇರಿಸಿದ ಕೋಡ್‌ಗೆ ಹೋಲುತ್ತದೆ. \ No newline at end of file diff --git a/kn-IN/step_6.md b/kn-IN/step_6.md new file mode 100644 index 000000000..014cbe913 --- /dev/null +++ b/kn-IN/step_6.md @@ -0,0 +1,108 @@ +## ಚಿಹ್ನೆಗಳು + +ಆಟಗಾರರ ಪ್ರಯಾಣದಲ್ಲಿ ಮಾರ್ಗದರ್ಶನ ನೀಡಲು ಈಗ ನಿಮ್ಮ ಜಗತ್ತಿಗೆ ಚಿಹ್ನೆಗಳನ್ನು ಸೇರಿಸಿ. + +ನಿಮ್ಮ ಯೋಜನೆಯು ಒಂದು `welcome sign` ಸ್ಪ್ರೈಟ್: + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-sign.png) + +\--- task \--- + +`welcome sign` ಸ್ಪ್ರೈಟ್ ಕೊಠಡಿ 1 ರಲ್ಲಿ ಮಾತ್ರ ಗೋಚರಿಸಬೇಕು, ಆದ್ದರಿಂದ ಇದು ಸಂಭವಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸ್ಪ್ರೈಟ್‌ಗೆ ಕೆಲವು ಕೋಡ್ ಸೇರಿಸಿ: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, ಒಂದು `forever`{:class="block3control"} ಲೂಪ್, ಪರಿಶೀಲಿಸಿ `if`{:class="block3control"} `room is 1`{:class="block3variables"} ಮತ್ತು ಆ ಸಂದರ್ಭದಲ್ಲಿ `show`{:class="block3looks"} `welcome sign` ಸ್ಪ್ರೈಟ್, `else`{:class="block3control"} `hide`{:class="block3looks"} ಸ್ಪ್ರೈಟ್. + +\--- /hint \--- + +\--- hint \--- + +ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಬ್ಲಾಕ್ಗಳು ಇಲ್ಲಿವೆ: + +![ಚಿಹ್ನೆ](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +ಸಂಪೂರ್ಣ ಕೋಡ್ ಇಲ್ಲಿದೆ: + +![ಚಿಹ್ನೆ](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ `welcome sign` ಕೊಠಡಿಗಳ ನಡುವೆ ಚಲಿಸುವ ಮೂಲಕ ಸ್ಪ್ರೈಟ್. ಚಿಹ್ನೆ ಕೊಠಡಿ 1 ರಲ್ಲಿ ಮಾತ್ರ ಗೋಚರಿಸಬೇಕು. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +ಏನನ್ನೂ ಹೇಳದಿದ್ದರೆ ಚಿಹ್ನೆ ಹೆಚ್ಚು ಒಳ್ಳೆಯದಲ್ಲ! ಒಂದು ವೇಳೆ ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಇನ್ನೂ ಕೆಲವು ಕೋಡ್‌ಗಳನ್ನು ಸೇರಿಸಿ `welcome sign` ಸ್ಪ್ರೈಟ್ ಸ್ಪರ್ಶಿಸುತ್ತಿದೆ `player` ಸ್ಪ್ರೈಟ್: + +![ಚಿಹ್ನೆ](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +ನಿಮ್ಮ ಪರೀಕ್ಷಿಸಿ `welcome sign` ಸ್ಪ್ರೈಟ್ ಮತ್ತೆ. ಯಾವಾಗ ನೀವು ಈಗ ಸಂದೇಶವನ್ನು ನೋಡಬೇಕು `player` ಸ್ಪ್ರೈಟ್ ಸ್ಪರ್ಶಿಸುತ್ತದೆ `welcome sign` ಸ್ಪ್ರೈಟ್. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/kn-IN/step_7.md b/kn-IN/step_7.md new file mode 100644 index 000000000..a9d98f992 --- /dev/null +++ b/kn-IN/step_7.md @@ -0,0 +1,7 @@ +## ಸವಾಲು: ನಿಧಿ! + +ಆಟಗಾರನು ಹುಡುಕಲು ನೀವು ಸ್ವಲ್ಪ ನಿಧಿಯನ್ನು ಸೇರಿಸಬಹುದೇ? + +ಮಾಡೀರಿ `treasure chest` ಸ್ಪ್ರೈಟ್ 3 ನೇ ಕೊಠಡಿಯಲ್ಲಿ ಮಾತ್ರ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಈ ಸ್ಪ್ರೈಟ್ 'ಒಳ್ಳೆಯದು!' ಯಾವಾಗ `player` ಸ್ಪ್ರೈಟ್ ಅದನ್ನು ಮುಟ್ಟುತ್ತದೆ. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-treasure.png) \ No newline at end of file diff --git a/kn-IN/step_8.md b/kn-IN/step_8.md new file mode 100644 index 000000000..2e675a892 --- /dev/null +++ b/kn-IN/step_8.md @@ -0,0 +1,65 @@ +## ಜನರು + +ನಿಮ್ಮ ಜಗತ್ತಿಗೆ ಇತರ ಜನರನ್ನು ಸೇರಿಸಿ `player` ಸ್ಪ್ರೈಟ್ ಸಂವಹನ ಮಾಡಬಹುದು. + +\--- task \--- + +ಬದಲಾಯಿಸಿ `person` ಸ್ಪ್ರೈಟ್. + +![ವ್ಯಕ್ತಿ ಸ್ಪ್ರೈಟ್](images/person.png) + +\--- /task \--- + +\--- task \--- + +ಕೆಲವು ಕೋಡ್ ಸೇರಿಸಿ `person` ಸ್ಪ್ರೈಟ್ ಆದ್ದರಿಂದ ವ್ಯಕ್ತಿಯು ಮಾತನಾಡುತ್ತಾನೆ `player` ಸ್ಪ್ರೈಟ್. ಈ ಕೋಡ್ ನಿಮ್ಮೊಂದಿಗೆ ನೀವು ಸೇರಿಸಿದ ಕೋಡ್‌ಗೆ ಹೋಲುತ್ತದೆ `sign` ಸ್ಪ್ರೈಟ್: + +![ವ್ಯಕ್ತಿ](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +ಅನುಮತಿಸಿ `person` ಸ್ಪ್ರೈಟ್ ಈ ಎರಡು ಬ್ಲಾಕ್ಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಚಲಿಸಲು `else`{:class="block3control"} ನಿಮ್ಮ ವಿಭಾಗದ ಕೋಡ್‌: + +![ವ್ಯಕ್ತಿ](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +ನಿಮ್ಮ `person` ಸ್ಪ್ರೈಟ್ ಈಗ ಚಲಿಸುತ್ತದೆ, ಆದರೆ ಮಾತನಾಡಲು ನಿಲ್ಲುತ್ತದೆ `player` ಸ್ಪ್ರೈಟ್. + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-person-test.png) + +\--- task \--- + +ನಿಮ್ಮ ಹೊಸದಕ್ಕೆ ಕೋಡ್ ಸೇರಿಸಿ `person` ಸ್ಪ್ರೈಟ್ ಆದ್ದರಿಂದ ಸ್ಪ್ರೈಟ್ ಕೊಠಡಿ 1 ರಲ್ಲಿ ಮಾತ್ರ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ಕೋಡ್ ನಿಖರವಾಗಿ ಮಾಡುವ ಕೋಡ್‌ನಂತೆಯೇ ಇರುತ್ತದೆ `sign` ಸ್ಪ್ರೈಟ್ ಕೊಠಡಿ 1 ರಲ್ಲಿ ಮಾತ್ರ ಗೋಚರಿಸುತ್ತದೆ. + +ನಿಮ್ಮ ಹೊಸ ಕೋಡ್ ಅನ್ನು ನೀವು ಪರೀಕ್ಷಿಸುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. + +\--- /task \--- \ No newline at end of file diff --git a/kn-IN/step_9.md b/kn-IN/step_9.md new file mode 100644 index 000000000..94f671b75 --- /dev/null +++ b/kn-IN/step_9.md @@ -0,0 +1,39 @@ +## ಸವಾಲು: ಶತ್ರುವನ್ನು ಸೇರಿಸಿ + +ನೀವು ಬಯಸಿದರೆ, ನಿಮ್ಮ ಆಟಕ್ಕೆ ಗಸ್ತು ತಿರುಗುವ ಶತ್ರುಗಳನ್ನು ಸಹ ನೀವು ಸೇರಿಸಬಹುದು. `player` ಸ್ಪ್ರೈಟ್ ಶತ್ರುವನ್ನು ಮುಟ್ಟುತ್ತಾನೆ, ಆಟವು ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. + ++ ನಿಮ್ಮ ಆಟವು ಈಗಾಗಲೇ ಒಂದು ಹೊಂದಿದೆ `enemy` ಸ್ಪ್ರೈಟ್. ನಿಮ್ಮ ಕೋಡ್ ಸೇರಿಸಿ `enemy` ಸ್ಪ್ರೈಟ್ ಆದ್ದರಿಂದ ಅದು ಕೊಠಡಿ 2 ರಲ್ಲಿ ಮಾತ್ರ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. + ++ ಸರಿಸಲು ಕೋಡ್ ಸೇರಿಸಿ `enemy` ಸ್ಪ್ರೈಟ್ ಮತ್ತು ಆಟವನ್ನು ಕೊನೆಗೊಳಿಸಲು `enemy` ಸ್ಪ್ರೈಟ್ ಸ್ಪರ್ಶಿಸುತ್ತದೆ `player` ಸ್ಪ್ರೈಟ್. ಪ್ರತ್ಯೇಕ ಕೋಡ್ ಬ್ಲಾಕ್‌ಗಳಲ್ಲಿ ಇದನ್ನು ಮಾಡುವುದು ಸುಲಭ. ನಿಮ್ಮ `enemy` ಸ್ಪ್ರೈಟ್ ಕೋಡ್ ಕಾಣಿಸಬಹುದು: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ ಇದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಿಮ್ಮ ಹೊಸ ಕೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ: + + `enemy` ಸ್ಪ್ರೈಟ್ room 2 ರಲ್ಲಿ ಮಾತ್ರ ಗೋಚರಿಸುತ್ತದೆ + + `enemy` ಸ್ಪ್ರೈಟ್ ಕೋಣೆಯಲ್ಲಿ ಗಸ್ತು ತಿರುಗುತ್ತದೆ + + ಒಂದು ವೇಳೆ ಆಟವು ಕೊನೆಗೊಳ್ಳುತ್ತದೆ `player` ಸ್ಪ್ರೈಟ್ ಸ್ಪರ್ಶಿಸುತ್ತದೆ `enemy` ಸ್ಪ್ರೈಟ್ + +ನೀವು ಇನ್ನೊಂದು `enemy` ಕೋಣೆಯ 3 ರಲ್ಲಿ ಸ್ಪ್ರೈಟ್ ಗೋಡೆಯ ಅಂತರದ ಮೂಲಕ ಮೇಲಕ್ಕೆ ಮತ್ತು ಕೆಳಕ್ಕೆ ಗಸ್ತು ತಿರುಗುತ್ತದೆಯ? + +![ಸ್ಕ್ರೀನ್‍ಶಾಟ್ (ಪರದೆ ಚಿತ್ರ)](images/world-enemy2.png) \ No newline at end of file diff --git a/ko-KR/images/banner.png b/ko-KR/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/ko-KR/images/banner.png differ diff --git a/ko-KR/images/cats-finished.png b/ko-KR/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/ko-KR/images/cats-finished.png differ diff --git a/ko-KR/images/coin.png b/ko-KR/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/ko-KR/images/coin.png differ diff --git a/ko-KR/images/coin.svg b/ko-KR/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/ko-KR/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ko-KR/images/create-variable.png b/ko-KR/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/ko-KR/images/create-variable.png differ diff --git a/ko-KR/images/create-your-own-world.png b/ko-KR/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/ko-KR/images/create-your-own-world.png differ diff --git a/ko-KR/images/door.png b/ko-KR/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/ko-KR/images/door.png differ diff --git a/ko-KR/images/enemy.png b/ko-KR/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/ko-KR/images/enemy.png differ diff --git a/ko-KR/images/finished-move-down-right.png b/ko-KR/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/ko-KR/images/finished-move-down-right.png differ diff --git a/ko-KR/images/key.png b/ko-KR/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/ko-KR/images/key.png differ diff --git a/ko-KR/images/key.svg b/ko-KR/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/ko-KR/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ko-KR/images/north-south-rooms.png b/ko-KR/images/north-south-rooms.png new file mode 100644 index 000000000..56408ecc8 Binary files /dev/null and b/ko-KR/images/north-south-rooms.png differ diff --git a/ko-KR/images/number-grid.png b/ko-KR/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/ko-KR/images/number-grid.png differ diff --git a/ko-KR/images/person-sprite.png b/ko-KR/images/person-sprite.png new file mode 100644 index 000000000..8936b2e71 Binary files /dev/null and b/ko-KR/images/person-sprite.png differ diff --git a/ko-KR/images/person.png b/ko-KR/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/ko-KR/images/person.png differ diff --git a/ko-KR/images/player.png b/ko-KR/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/ko-KR/images/player.png differ diff --git a/ko-KR/images/showcase.png b/ko-KR/images/showcase.png new file mode 100644 index 000000000..aa861076c Binary files /dev/null and b/ko-KR/images/showcase.png differ diff --git a/ko-KR/images/sign.png b/ko-KR/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/ko-KR/images/sign.png differ diff --git a/ko-KR/images/sign.svg b/ko-KR/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/ko-KR/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ko-KR/images/stage.png b/ko-KR/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/ko-KR/images/stage.png differ diff --git a/ko-KR/images/variable-show.png b/ko-KR/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/ko-KR/images/variable-show.png differ diff --git a/ko-KR/images/world-backdrops.png b/ko-KR/images/world-backdrops.png new file mode 100644 index 000000000..b506e14b2 Binary files /dev/null and b/ko-KR/images/world-backdrops.png differ diff --git a/ko-KR/images/world-bribe.png b/ko-KR/images/world-bribe.png new file mode 100644 index 000000000..2af9939ff Binary files /dev/null and b/ko-KR/images/world-bribe.png differ diff --git a/ko-KR/images/world-coins.png b/ko-KR/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/ko-KR/images/world-coins.png differ diff --git a/ko-KR/images/world-door.png b/ko-KR/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/ko-KR/images/world-door.png differ diff --git a/ko-KR/images/world-enemy-code.png b/ko-KR/images/world-enemy-code.png new file mode 100644 index 000000000..ce74f2c17 Binary files /dev/null and b/ko-KR/images/world-enemy-code.png differ diff --git a/ko-KR/images/world-enemy2.png b/ko-KR/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/ko-KR/images/world-enemy2.png differ diff --git a/ko-KR/images/world-final.png b/ko-KR/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/ko-KR/images/world-final.png differ diff --git a/ko-KR/images/world-key.png b/ko-KR/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/ko-KR/images/world-key.png differ diff --git a/ko-KR/images/world-north-south.png b/ko-KR/images/world-north-south.png new file mode 100644 index 000000000..972ef30d6 Binary files /dev/null and b/ko-KR/images/world-north-south.png differ diff --git a/ko-KR/images/world-person-test.png b/ko-KR/images/world-person-test.png new file mode 100644 index 000000000..247ae25e8 Binary files /dev/null and b/ko-KR/images/world-person-test.png differ diff --git a/ko-KR/images/world-person.png b/ko-KR/images/world-person.png new file mode 100644 index 000000000..d10b2feba Binary files /dev/null and b/ko-KR/images/world-person.png differ diff --git a/ko-KR/images/world-player.png b/ko-KR/images/world-player.png new file mode 100644 index 000000000..96fc9768f Binary files /dev/null and b/ko-KR/images/world-player.png differ diff --git a/ko-KR/images/world-resources.png b/ko-KR/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/ko-KR/images/world-resources.png differ diff --git a/ko-KR/images/world-room-test.png b/ko-KR/images/world-room-test.png new file mode 100644 index 000000000..ac5a261e6 Binary files /dev/null and b/ko-KR/images/world-room-test.png differ diff --git a/ko-KR/images/world-room.png b/ko-KR/images/world-room.png new file mode 100644 index 000000000..d5a4943fd Binary files /dev/null and b/ko-KR/images/world-room.png differ diff --git a/ko-KR/images/world-sign-test-left.png b/ko-KR/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/ko-KR/images/world-sign-test-left.png differ diff --git a/ko-KR/images/world-sign-test-right.png b/ko-KR/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/ko-KR/images/world-sign-test-right.png differ diff --git a/ko-KR/images/world-sign-test.png b/ko-KR/images/world-sign-test.png new file mode 100644 index 000000000..ea824b835 Binary files /dev/null and b/ko-KR/images/world-sign-test.png differ diff --git a/ko-KR/images/world-sign-test2.png b/ko-KR/images/world-sign-test2.png new file mode 100644 index 000000000..4586a3503 Binary files /dev/null and b/ko-KR/images/world-sign-test2.png differ diff --git a/ko-KR/images/world-sign.png b/ko-KR/images/world-sign.png new file mode 100644 index 000000000..d6702a402 Binary files /dev/null and b/ko-KR/images/world-sign.png differ diff --git a/ko-KR/images/world-starter.png b/ko-KR/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/ko-KR/images/world-starter.png differ diff --git a/ko-KR/images/world-treasure.png b/ko-KR/images/world-treasure.png new file mode 100644 index 000000000..bca27d0af Binary files /dev/null and b/ko-KR/images/world-treasure.png differ diff --git a/ko-KR/images/world-up.png b/ko-KR/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/ko-KR/images/world-up.png differ diff --git a/ko-KR/images/world-walls-test.png b/ko-KR/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/ko-KR/images/world-walls-test.png differ diff --git a/ko-KR/images/world-walls.png b/ko-KR/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/ko-KR/images/world-walls.png differ diff --git a/ko-KR/meta.yml b/ko-KR/meta.yml new file mode 100644 index 000000000..93f5093ae --- /dev/null +++ b/ko-KR/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: 나만의 세상을 만드세요 +description: 나만의 오픈 월드 어드벤처 게임 만들기 +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: 소개 + - + title: 플레이어 스프라이트 움직이기 + - + title: 단단한 벽 + completion: + - engaged + - + title: 방 이동하기 + - + title: '도전 과제: 이전 방으로 이동하기' + challenge: true + - + title: 표지판 만들기 + - + title: '도전 과제: 보물!' + challenge: true + - + title: 사람 + - + title: '도전 과제: 적' + challenge: true + - + title: 코인 모으기 + - + title: 문과 열쇠 + completion: + - internal + - + title: '도전 과제: 나만의 세계 넓히기' + challenge: true + completion: + - external diff --git a/ko-KR/resources/CreateYourOwnWorldResources.sb3 b/ko-KR/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..cc63b3a10 Binary files /dev/null and b/ko-KR/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/ko-KR/resources/chest.svg b/ko-KR/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/ko-KR/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ko-KR/resources/coin.svg b/ko-KR/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/ko-KR/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ko-KR/resources/door-blue.png b/ko-KR/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/ko-KR/resources/door-blue.png differ diff --git a/ko-KR/resources/enemy.png b/ko-KR/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/ko-KR/resources/enemy.png differ diff --git a/ko-KR/resources/key.svg b/ko-KR/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/ko-KR/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/ko-KR/resources/person.png b/ko-KR/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/ko-KR/resources/person.png differ diff --git a/ko-KR/resources/player.png b/ko-KR/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/ko-KR/resources/player.png differ diff --git a/ko-KR/resources/room1.png b/ko-KR/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/ko-KR/resources/room1.png differ diff --git a/ko-KR/resources/room2.png b/ko-KR/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/ko-KR/resources/room2.png differ diff --git a/ko-KR/resources/room3.png b/ko-KR/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/ko-KR/resources/room3.png differ diff --git a/ko-KR/resources/sign.svg b/ko-KR/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/ko-KR/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ko-KR/scratch-translatable.txt b/ko-KR/scratch-translatable.txt new file mode 100644 index 000000000..2d7bb87cc --- /dev/null +++ b/ko-KR/scratch-translatable.txt @@ -0,0 +1,13 @@ +방 + +플레이어 + +환영합니다! 보물을 찾을 수 있나요? + +주황색과 노란색 문을 통과할 수 있다는 것을 알고 있었나요? + +동전 개수 + +파란색 열쇠 + +아이템 목록 diff --git a/ko-KR/solutions/CreateYourOwnWorld.sb3 b/ko-KR/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..1a08567d3 Binary files /dev/null and b/ko-KR/solutions/CreateYourOwnWorld.sb3 differ diff --git a/ko-KR/step_1.md b/ko-KR/step_1.md new file mode 100644 index 000000000..42159b7fd --- /dev/null +++ b/ko-KR/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +이 프로젝트에 사용된 버전은 **스크래치 3** 입니다. [이 프로젝트의 Scratch 2 버전](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2)도 있습니다. + +\--- /no-print \--- + +## 들어가며 + +이 프로젝트에서는 여러 레벨로 탐험하는 나만의 모험 게임을 만드는 방법을 배웁니다. + +### 만들 작품 + +\--- no-print \--- + +녹색 깃발을 눌러 시작합니다. 맵에서 당신의 캐릭터를 움직이기 위해 화살표 키를 사용하세요. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +화살표 키를 사용해 맵에서 당신의 캐릭터를 움직일 것입니다. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: 준비물 + +### 하드웨어 + +- 스크래치 3을 실행할 수 있는 컴퓨터 + +### 소프트웨어 + +- 스크래치 3 ( [온라인](https://rpf.io/scratchon){:target="_blank"} 또는 [오프라인](https://rpf.io/scratchoff){:target="_blank"}) + +### 다운로드 + +이 프로젝트를 완료하는 데 필요한 모든 것을 [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go) 에서 찾을 수 있습니다. + +\--- /collapse \--- + +## \--- collapse \--- + +## title: 다음과 같은 내용을 배우게 됩니다 + +- 키 누름에 반응하는 조건부 선택 사용하기 +- 변수를 사용하여 게임 상태 저장하기 +- 변수 값을 기반으로 조건부 선택 사용하기 +- list를 사용하여 데이터 저장하기 + +\--- /collapse \--- + +## \--- collapse \--- + +## title: 교육자를 위한 추가 정보 + +이 프로젝트를 인쇄하려면, [프린트용 버전](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}을 사용하십시오. + +여기서 [완료된 프로젝트를 확인할 수 있습니다](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/ko-KR/step_10.md b/ko-KR/step_10.md new file mode 100644 index 000000000..17f3e2b50 --- /dev/null +++ b/ko-KR/step_10.md @@ -0,0 +1,71 @@ +## 동전 모으기 + +`플레이어` 스프라이트는 맵을 지나다니며 동전을 수집 할 수 있어야 합니다. + +\--- task \--- + +프로젝트에 `동전`{:class="block3variables"} 이라는 새로운 변수를 추가합니다. + +\--- /task \--- + +\--- task \--- + +`동전` 스프라이트를 클릭 후 **보이기** 를 선택합니다. + +![스크린샷](images/coin.png) + +\--- /task \--- + +\--- task \--- + +`동전` 스프라이트에 코드를 추가해 방1에만 나타나도록 합니다. + +![스크린샷](images/coin.png) + +```blocks3 +flag이 클릭되었을 때 +무한반복 +만약 <(방 :: 변수)=[1]> 이라면 +보이기 +만약 아니라면 +숨기기 +``` + +\--- /task \--- + +\--- task \--- + +`동전` 스프라이트에 코드를 추가해 해당 스프라이트가 `숨기기`{:class="block3looks"} 되며 `플레이어` 스프라이트가 '동전을 줍기 위해' `동전` 스프라이트에 닿으면 `동전`{:class="block3variables"} 변수에 `1`{:class="block3variables"} 이 추가되게 합니다. + +![동전](images/coin.png) + +```blocks3 +깃발이 클릭되었을 때 +<(플레이어 v) 에 닿게?> 될 때까지 대기 +[동전 v] 를 (1) 만큼 변경 +숨기기 +[스프라이트v 내 기타 스크립트] 정지 +``` + +동전을 일단 줍게 되면 `동전` 스프라이트가 방1에 보이는 걸 중단하기 위해 `스프라이트 내 기타 스크립트 중지`{:class="block3control"} 코드가 필요합니다. + +\--- /task \--- + +\--- task \--- + +이제 스테이지에 코드를 추가해 게임 시작 시 `동전`{:class="block3variables"} 변수가 `0`{:class="block3variables"} 이 되게 설정합니다. + +![스테이지](images/stage.png) + +```blocks3 +깃발이 클릭되었을 때 +[동전 v] 를 [0] 으로 설정 +``` + +\--- /task \--- + +\--- task \--- + +게임을 테스트해보세요. 동전을 줍게 되면 `동전` 스코어가 `1`{:class="block3variables"} 로 바뀌어야 합니다. + +\--- /task \--- \ No newline at end of file diff --git a/ko-KR/step_11.md b/ko-KR/step_11.md new file mode 100644 index 000000000..0538ff0e0 --- /dev/null +++ b/ko-KR/step_11.md @@ -0,0 +1,104 @@ +## 문과 열쇠 + +이제 코드를 추가해 게임에서 몇개의 문이 잠기게 할 것이고 플레이어는 잠긴 문을 열어 다음 방으로 진입하기 위해 열쇠를 찾아야 합니다. + +\--- task \--- + +`열쇠` 스프라이트로 갑니다. 해당 스크립트 내 `보이기`{:class="blocklooks"} 를 클릭해 해당 스프라이트가 스테이지에 나타나게 합니다. + +\--- /task \--- + +\--- task \--- + +`열쇠` 스프라이트의 코스튬을 편집해 색상이 파란색이 되게 합니다. + +\--- /task \--- + +\--- task \--- + +스테이지 배경을 방3으로 전환하고 `열쇠` 스프라이트를 도달하기 어려운 곳에 놓으세요! + +![스크린샷](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +`열쇠` 스프라이트에 코드를 추가해 그것이 방3에서만 나타나게 합니다. + +\--- /task \--- + +\--- task \--- + +`플레이어` 스프라이트가 수집하는 아이템들을 저장하도록 `인벤토리`{:class="block3variables"} 라는 새로운 리스트를 만듭니다. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +열쇠 줍기를 위해 추가하는 코드는 동전 수집을 위한 코드와 매우 유사합니다. 차이점은 열쇠를 `인벤토리`{:class="block3variables"} 에 추가하는 점입니다. + +![열쇠](images/key.png) + +```blocks3 +깃발이 클릭되었을 때 +<(플레이어 v) 에 닿을?> 때 까지 대기 +[인벤토리 v] 에 [파란 키] 추가 +숨기기 +[스프라이트v 내 기타 스크립트] 정지 +``` + +\--- /task \--- + +\--- task \--- + +게임 시작 시 인벤토리가 비워지게 스테이지에 코드를 추가합니다. + +```blocks3 +delete (all v) of [아이템 목록 v] +``` + +\--- /task \--- + +\--- task \--- + +게임 테스트를 통해 `열쇠` 스프라이트를 수집하고 이것을 인벤토리에 추가할 수 있는지 여부를 확인하세요. + +\--- /task \--- + +\--- task \--- + +이제 잠긴 문을 추가하세요. `문-파란색` 스프라이트를 선택하고 스크립트 메뉴의 `보이기`{:class="blocklooks} 를 클릭 후 해당 스프라이트를 두 벽 사이에 위치시키세요. + +![스크린샷](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +`문-파란색` 스프라이트에 코드를 추가해 그것이 방3에서만 보여지게 합니다. + +\--- /task \--- + +\--- task \--- + +`문-파란색` 스프라이트에 코드를 추가해 열쇠가 `인벤토리`{:class="block3variables"} 에 있을 경우 해당 스프라이트가 `숨기기`{:class="block3looks"} 되어 `플레이어` 스프라이트가 지나가도록 합니다. + +![문](images/door.png) + +```blocks3 +깃발이 클릭되었을 때 +<[인벤토리 v] 에 [파란 열쇠] 가 포함되었는가?> 때까지 대기 +[스프라이트 v 내 기타 스크립트] 정지 +숨기기 +``` + +\--- /task \--- + +\--- task \--- + +게임 테스트를 통해 파란 열쇠를 수집하여 문을 열 수 있는지 확인합니다! + +\--- /task \--- \ No newline at end of file diff --git a/ko-KR/step_12.md b/ko-KR/step_12.md new file mode 100644 index 000000000..c59e2fdaa --- /dev/null +++ b/ko-KR/step_12.md @@ -0,0 +1,28 @@ +## 도전 과제: 나만의 세계 넓히기 + +이제 나만의 세상을 계속 만들어 나갈 수 있습니다! 다음은 몇 가지 아이디어입니다. + ++ 여러 방마다 게임에 동전을 더 추가합니다. 적을 순찰하는 방법으로 동전을 지킬 수 있나요? ++ 게임 배경을 변경합니다 ++ 게임에 사운드와 음악을 추가합니다 ++ 사람, 적, 표지판을 더 많이 추가합니다. ++ 빨간색과 노란색 문을 비롯해 이를 열기 위한 특별 열쇠를 추가합니다. ++ 맵에 방을 더 많이 추가합니다. ++ 개임에 기타 유용한 아이템을 추가합니다. + + + 동전을 사용해 다른 사람으로부터 정보를 얻습니다: + +![스크린샷](images/world-bribe.png) + ++ 심지어 방1의 북쪽과 남쪽 벽에 문을 추가해 플레이어가 전체 4가지 방향으로 방 사이를 이동하도록 할 수 있습니다. 예를 들어 3x3 그리드 내 9개 방이 형성될 수 있습니다. 그런 다음 방 번호에 `3`을 추가해 1 레벨 내릴 수 있습니다. + +![스크린샷](images/north-south-rooms.png) + +![스크린샷](images/number-grid.png) + +```blocks3 +만약 <색상 [] 에 닿는다?> 라면 +배경을 ((코스튬 [숫자 v]) + (3)) 으로 전환 +x:(0) y:(200) 으로 이동 +[방 v] 를 (3) 만큼 변경 +``` \ No newline at end of file diff --git a/ko-KR/step_13.md b/ko-KR/step_13.md new file mode 100644 index 000000000..767ffe0c8 --- /dev/null +++ b/ko-KR/step_13.md @@ -0,0 +1,21 @@ +## 더 나아가기 + +[CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) 프로젝트를 시도해보는 것은 어떨까요? + +\--- no-print \--- + +마우스로 클릭하고 드래그하여 연필로 선을 그립니다. 출구로 가는 고양이가 구멍에 빠지지 않는 안전한 길을 만드는 것이 당신의 목표입니다. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![완성된 CATS! 프로젝트](images/cats-finished.png) + +\--- /print-only \--- + +Scratch 대신 Python을 사용하여 게임을 만들어보려면 [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) 프로젝트를 시도해보세요. \ No newline at end of file diff --git a/ko-KR/step_2.md b/ko-KR/step_2.md new file mode 100644 index 000000000..6547fd94c --- /dev/null +++ b/ko-KR/step_2.md @@ -0,0 +1,132 @@ +## 플레이어 스프라이트 움직이기 + +맵에서 움직일 수 있는 `플레이어` 스프라이트를 만들어 시작해봅시다. + +\--- task \--- + +'나만의 세계 만들기' 스크래치 스타터 프로젝트를 엽니다. + +**온라인:** [scratch.mit.edu/projects/389820598](https://scratch.mit.edu/projects/389820598){:target="_blank"}에서 새로운 스타터 프로젝트를 열어주세요. + +스크래치 계정이 있는 경우 **Remix** 를 클릭하여 사본을 만들 수 있습니다. + +**오프라인:** 오프라인 시작 프로그램을 [rpf.io/p/ko-KR/create-your-own-world-go](https://rpf.io/p/ko-KR/create-your-own-world-go){:target="_blank"} 에서 다운로드하고, 오프라인 에디터로 파일을 엽니다. 스크래치 오프라인 에디터 다운로드 및 설치는 [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"} 에서 합니다. + +![스크린샷](images/world-starter.png) + +\--- /task \--- + +화살표 키를 누르면 `플레이어` 스프라이트가 움직여야 합니다. 위 방향 화살표를 누르면 `플레이어` 스프라이트가 위로 움직여야 합니다. + +\--- task \--- + +`플레이어` 스프라이트에 다음의 코드를 추가하세요: + +![플레이어](images/player.png) + +```blocks3 +깃발이 클릭되었을 때 +무한반복 + 만약 <키 (위쪽 화살표 v) 를 누른 상태라면? > 이라면 + (0) 도 방향 보기 + (4) 스텝 이동 + 종료 +종료 +``` + +\--- /task \--- + +\--- task \--- + +플래그 클릭 후 위 방향 화살표를 길게 눌러보세요. `플레이어` 스프라이트가 위로 움직이나요? + +![스크린샷](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +`플레이어` 스프라이트를 왼쪽으로 움직이려면 비슷한 코드를 담은 `만약`{:class="block3control"} 블록을 추가해야 합니다. + +![플레이어](images/player.png) + +```blocks3 +깃발이 클릭되었을 때 +무한반복 + 만약 <키 (위쪽 화살표 v) 를 누른 상태라면? > 이라면 + (0) 도 방향 보기 + (4) 스텝 이동 + 종료 ++ 만약 <키 (왼쪽 화살표 v) 를 누른 상태라면? > 이라면 + (-90) 도 방향 보기 + (4) 스텝 이동 + 종료 +종료 +``` + +\--- /task \--- + +\--- task \--- + +`플레이어` 스프라이트에 코드를 좀 더 추가해 아래 방향과 우측으로 움직이도록 해봅시다. 가지고 있는 코드를 활용해보세요. + +\--- hints \--- + +\--- hint \--- + +위로 움직이기 위해 `플레이어` 스프라이트를 `0`도 방향으로 향하게 합니다. 스프라이트를 아래로 움직이기 위해서는 무엇을 해야 하나요? + +왼쪽으로 움직이고 싶다면 스프라이트를 `-90`도 방향으로 향하게 합니다. 스프라이트를 오른쪽으로 움직이기 위해 무엇을 해야 하나요? + +\--- /hint \--- + +\--- hint \--- + +다음 두 블록을 수정해야 합니다: + +![플레이어](images/player.png) + +```blocks3 +<키 (v) 를 누른 상태> + +() 도 방향 보기 +``` + +`플레이어` 스프라이트를 위 방향으로 움직이게 하는 코드를 복사하고 이 두 블록을 변경하여 스프라이트가 아래로 움직이도록 합니다. 다시 코드를 복사 후 변경하여 스프라이트가 오른쪽으로 움직이도록 합니다. + +\--- /hint \--- + +\--- hint \--- + +코드는 다음과 같아야 합니다: + +![플레이어](images/player.png) + +```blocks3 +깃발이 클릭되었을 때 +무한반복 + 만약 <키 (위쪽 화살표 v) 를 누른 상태라면? > 이라면 + (0) 도 방향 보기 + (4) 스텝 이동 + 종료 + 만약 <키 (왼쪽 화살표 v) 를 누른 상태라면? > 이라면 + (-90) 도 방향 보기 + (4) 스텝 이동 + 종료 + ++ 만약 <키 (아래쪽 화살표 v) 를 누른 상태라면? > 이라면 + (180) 도 방향 보기 + (4) 스텝 이동 + 종료 ++ 만약 <키 (오른쪽 화살표 v) 를 누른 상태라면? > 이라면 + (90) 도 방향 보기 + (4) 스텝 이동 + 종료 +종료 +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/ko-KR/step_3.md b/ko-KR/step_3.md new file mode 100644 index 000000000..68672018a --- /dev/null +++ b/ko-KR/step_3.md @@ -0,0 +1,48 @@ +## 단단한 벽 + +\--- task \--- + +`플레이어` 스프라이트를 다시 테스트해보세요. 밝은 회색 벽을 통과 할 수 있다는 것을 볼 수 있나요? + +![스크린샷](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +이것을 고치려면 `플레이어` 스프라이트가 밝은 회색 벽에 닿을 때 뒤로 물러나게 해야 합니다. 방향 블록 아래의 `무한반복` 블록 내 추가할 코드는 다음과 같습니다: + +![플레이어](images/player.png) + +```blocks3 +깃발이 클릭되었을 때 +무한반복 + 만약 <키 (위쪽 화살표 v) 를 누른 상태라면? > 이라면 + (0) 도 방향 보기 + (4) 스텝 이동 + 종료 + 만약 <키 (왼쪽 화살표 v) 를 누른 상태라면? > 이라면 + (-90) 도 방향 보기 + (4) 스텝 이동 + 종료 + 만약 <키 (아래쪽 화살표 v) 를 누른 상태라면? when flag clicked +forever + if 이라면 + (90) 도 방향 보기 + (4) 스텝 이동 + 종료 ++ 만약 < 가 [#BABABA] 색상에 닿으면? > 이라면 + (-4) 스텝 이동 + 종료 +종료 +``` + +\--- /task \--- + +\--- task \--- + +`플레이어` 스프라이트가 벽을 통과하게 해보세요. 만약에 새로 작성한 코드가 잘 작동한다면, 이것이 불가능할 것입니다. + +![스크린샷](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ko-KR/step_4.md b/ko-KR/step_4.md new file mode 100644 index 000000000..b3771ad24 --- /dev/null +++ b/ko-KR/step_4.md @@ -0,0 +1,141 @@ +## 맵에서 이동하기 + +`플레이어` 스프라이트는 문을 통과하여 다른 방으로 걸어 들어갈 수 있어야 합니다. + +이 프로젝트는 추가적인 방에 대한 배경을 포함합니다. + +![스크린샷](images/world-backdrops.png) + +\--- task \--- + +`방` 이란 명칭의 '모든 스프라이트에 적용' 되는 새로운 변수를 만들어 `플레이어` 스프라이트가 있는 방을 추적해 봅니다. + +[[[generic-scratch3-add-variable]]] + +![스크린샷](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +`플레이어` 스프라이트가 첫째 방의 주황색 문에 닿으면 게임은 다음 배경을 보여주고 `플레이어` 스프라이트는 다시 스테이지 왼쪽으로 이동합니다. `플레이어` 스프라이트의 `무한반복`{:class="block3control"} 루프 네에 다음의 코드를 추가합니다: + +![플레이어](images/player.png) + +```blocks3 +깃발이 클릭되었을 때 +무한반복 + 만약 <키 (위쪽 화살표 v) 를 누른 상태라면? > 이라면 + (0) 도 방향 보기 + (4) 스텝 이동 + 종료 + 만약 <키 (왼쪽 화살표 v) 를 누른 상태라면? > 이라면 + (-90) 도 방향 보기 + (4) 스텝 움직이기 + 종료 + 만약 <키 (아래쪽 화살표 v) 를 누른 상태라면? when flag clicked ++set [방 번호 v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (방1 v) +forever + if 이라면 + (90) 도 방향 보기 + (4) 스텝 이동 + 종료 + 만약 < 가 [#BABABA] 색상에 닿으면? > 이면 + (-4) 스텝 이동 + 종료 ++ 만약 < [#F2A24A] 색상에 닿는 > 다면 + 배경을 (다음 배경 v) 으로 전환 + x: (-200) y: (0) 으로 이동 + [방 v] 을 (1) 만큼 변경 + 종료 +종료 +``` + +\--- /task \--- + +\--- task \--- + +게임이 시작될 때마다 방, 캐릭터 위치, 배경이 초기화되어야 합니다. + +`무한반복`{:class="block3control"} 루프 위의 `플레이어` 스프라이트의 **시작** 부분에 코드를 추가해 플래그 클릭 시 모든게 초기화되도록 하세요: + +\--- hints \--- + +\--- hint \--- + +게임이 시작되면: + ++ `방`{:class="block3variables"} 의 값이 `1`{:class="block3variables"} 로 설정되야 합니다 ++ `배경`{:class="block3looks"} 은 `방1`{:class="block3looks"} 로 설정되야 합니다 ++ `플레이어` 스프라이트의 위치가 `x: -200 y: 0`{:class="block3motion"} 으로 설정되어야 합니다. + +\--- /hint \--- + +\--- hint \--- + +추가로 필요한 블록은 다음과 같습니다: + +![플레이어](images/player.png) + +```blocks3 +x: (-200) y: (0) 으로 이동 + +[방 v] 을 (1) 로 설정 + +배경을 (방1 v) 으로 전환 +``` + +\--- /hint \--- + +\--- hint \--- + +완성된 스크립트는 다음과 같아야 합니다: + +![플레이어](images/player.png) + +```blocks3 +깃발이 클릭되었을 때 ++[방 v] 을 (1) 로 설정 ++x: (-200) y: (0) 으로 이동 ++배경을 (방1 v) 으로 이동 +무한반복 + 만약 <키 (위쪽 화살표 v) 를 누른 상태라면? > 이라면 + (0) 도 방향 보기 + (4) 스텝 이동 + 종료 + 만약 <키 (왼쪽 화살표 v) 를 누른 상태라면? > 이라면 + (-90) 도 방향 보기 + (4) 스텝 이동 + 종료 + 만약 <키 (아래쪽 화살표 v) 를 누른 상태라면? when flag clicked +forever + if 이라면 + (90) 도 방향 보기 + (4) 스텝 이동 + 종료 + 만약 < 가 [#BABABA] 색상에 닿으면? > 이라면 + (-4) 스텝 이동 + 종료 + 만약 < [#F2A24A] 색상에 닿는 > 다면 + 배경을 (다음 배경 v) 으로 전환 + x: (-200) y: (0) 으로 이동 + [방 v] 을 (1) 만큼 변경 +종료 +종료 +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +깃발을 클릭한 후 `플레이어` 스프라이트를 주황색 문에 닿을 때까지 이동시킵니다. 스프라이트가 다음 스크린으로 이동하나요? `방`{:class="block3variables"} 변수가 `2`로 변하나요? + +![스크린샷](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ko-KR/step_5.md b/ko-KR/step_5.md new file mode 100644 index 000000000..aaf463527 --- /dev/null +++ b/ko-KR/step_5.md @@ -0,0 +1,3 @@ +## 도전 과제: 이전 방으로 돌아가기 + +`플레이어` 스프라이트가 노란색 문에 닿으면 이전 방으로 되돌아가게 할 수 있나요? 이에 필요한 코드는 해당 스프라이트가 다음 방으로 이동하도록 추가했던 코드와 매우 유사합니다. \ No newline at end of file diff --git a/ko-KR/step_6.md b/ko-KR/step_6.md new file mode 100644 index 000000000..7aaf2f9b3 --- /dev/null +++ b/ko-KR/step_6.md @@ -0,0 +1,108 @@ +## 표지판 + +이제 표지판을 추가해 플레이어에게 여행을 안내해봅시다. + +이 프로젝트는 `환영 표지판` 스프라이트를 포함합니다. + +![스크린샷](images/world-sign.png) + +\--- task \--- + +`환영 표지판` 스프라이트가 방1에서만 나타나도록 해당 스트라이트에 코드를 약간 추가합니다: + +\--- hints \--- + +\--- hint \--- + +`깃발이 클릭되었을 때`{:class="block3events"}, `무한반복`{:class="block3control"} 루프 내에서, `만약`{:class="block3control"} `방 번호가 1`{:class="block3variables"} 이면 `환영 표지판` 스프라이트가 `보이기`{:class="block3looks"} 되고 `만약 아니라면`{:class="block3control"} 스프라이트가 `숨기기`{:class="block3looks"} 되는지 확인하세요. + +\--- /hint \--- + +\--- hint \--- + +필요한 블록은 다음과 같습니다. + +![표지판](images/sign.png) + +```blocks3 +
만약 < > 이라면 +만약 아니라면 +종료 + +< (방 :: 변수) = [1] > + +숨기기 + +보이기 + +무한반복 +종료 + +깃발이 클릭되었을 때 + +``` + +\--- /hint \--- + +\--- hint \--- + +완성된 코드는 다음과 같습니다: + +![표지판](images/sign.png) + +```blocks3 +깃발이 클릭되었을 때 +무한반복 + 만약 < (방 :: 변수) = [1] > 이라면 + 보이기 + 만약 아니라면 + 숨기기 + 종료 +종료 +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +방 사이를 이동해 다니면서 `환영 표지판` 스프라이트 코드를 테스트해 보세요. 해당 표지판은 방1에서만 보여야 합니다. + +![스크린샷](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +표지판이 아무 말도 하지 않는다면 썩 양호하다고 할 수는 없겠죠! 코드를 좀 더 추가해 `환영 표지판` 스프라이트가 `플레이어` 스프라이트에 닿을 때 메세지가 표시되도게 합니다: + +![표지판](images/sign.png) + +```blocks3 +깃발이 클릭되었을 때 +무한 반복 +만약 < (방 :: 변수) = [1] > 이라면 +보이기 +만약 아니라면 +숨기기 +종료 ++만약 < 가 (플레이어 v) 에 닿았다면? > 이면 +[환영합니다! 라고 말합니다. 보물에 도달할 수 있나요?] +만약 아니라면 +[] 라고 말합니다 +종료 +종료 +``` + +\--- /task \--- + +\--- task \--- + +`환영 표지판` 스트라이트를 다시 한번 테스트해보세요. `플레이어` 스프라이트가 `환영 표지판` 스프라이트에 닿을 때 이제 메세지를 보게 될 겁니다. + +![스크린샷](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/ko-KR/step_7.md b/ko-KR/step_7.md new file mode 100644 index 000000000..f10d635a1 --- /dev/null +++ b/ko-KR/step_7.md @@ -0,0 +1,7 @@ +## 도전 과제: 보물! + +플레이어가 찾을 보물을 몇 개 추가해볼 수 있나요? + +`보물 상자` 스프라이트가 방3에만 나타나고 `플레이어` 스프라이트가 그것에 닿았을 때 '잘했어요!' 라고 말하게 합니다. + +![스크린샷](images/world-treasure.png) \ No newline at end of file diff --git a/ko-KR/step_8.md b/ko-KR/step_8.md new file mode 100644 index 000000000..d5bbaf5a3 --- /dev/null +++ b/ko-KR/step_8.md @@ -0,0 +1,65 @@ +## 사람 + +`플레이어` 스프라이트와 상호작용하도록 사람을 추가합니다. + +\--- task \--- + +`개인` 스프라이트로 전환합니다. + +![개인 스프라이트](images/person.png) + +\--- /task \--- + +\--- task \--- + +`개인` 스프라이트에 코드를 추가해 `플레이어` 스프라이트에게 말을 하게 합니다. 이것은 `표지판` 스프라이트에 추가했던 코드와 매우 유사합니다: + +![개인](images/person.png) + +```blocks3 +깃발이 클릭되었을 때 +x: (0) y: (-150) 으로 이동 +무한반복 + 만약 < 가 (플레이어 v) 에 닿는다면? > 이면 + [주황색과 노란색 문을 통과해 지나갈 수 있다는 걸 아셨나요?] 를 말합니다 + 만약 아니라면 + [] 를 말합니다 + 종료 +종료 +``` + +\--- /task \--- + +\--- task \--- + +코드의 `만약 아니라면` 섹션 내에 두개의 블록을 추가해 `개인` 스프라이트가 움직이게 해줍니다: + +![개인](images/person.png) + +```blocks3 +깃발이 클릭되었을 때 +x: (0) y: (-150) 으로 이동 +무한반복 + 만약 < 가 (플레이어 v) 에 닿는다면? > 이면 + [주황색과 노란색 문을 통과해 지나갈 수 있다는 걸 아셨나요?] 를 말합니다 + 만약 아니라면 + [] 를 말합니다 ++ (1) 스텝 이동 ++ 가장자리에 닿으면, 튕기기 + 종료 +종료 +``` + +\--- /task \--- + +이제 `개인` 스프라이트는 움직일 것이고 `플레이어` 스프라이트에 말을 걸 때는 멈출 것입니다. + +![스크린샷](images/world-person-test.png) + +\--- task \--- + +새로운 `개인` 스프라이트에 코드를 추가해 그것이 방1에서만 나타나게 합니다. 이에 필요한 코드는 `표지판` 스프라이트가 방1에서만 보이게 하는 코드와 정확히 일치합니다. + +새 코드를 반드시 테스트하세요. + +\--- /task \--- \ No newline at end of file diff --git a/ko-KR/step_9.md b/ko-KR/step_9.md new file mode 100644 index 000000000..bd6f1af35 --- /dev/null +++ b/ko-KR/step_9.md @@ -0,0 +1,37 @@ +## 도전 과제: 적 추가하기 + +원한다면 주변을 순찰하는 적을 추가할 수도 있습니다. `플레이어` 스프라이트가 적과 닿으면 게임은 종료됩니다. + ++ 게임에는 `적` 스프라이트가 포함되어 있습니다. `적` 스프라이트에 코드를 추가해 그것이 방2에만 나타나게 합니다. + ++ 코드를 추가해 `적` 스프라이트가 움직이고 `적` 스프라이트가 `플레이어` 스프라이트에 닿으면 게임이 종료되게 합니다. 분리된 코드 블럭으로 진행하는 게 보다 용이합니다. `적` 스프라이트 코드는 다음과 같습니다: + +```blocks3 +깃발이 클릭되었을 때 +무한반복 +만약 <(방 :: 변수)=[2]> 이라면 +보이기 +만약 아니라면 +숨기기 + +깃발이 클릭되었을 때 +무한반복 +만약 <(플레이어 v) 에 닿는다?> 라면 +[모든 v] 정지 + +깃발이 클릭되었을 때 +x: (170) y:(0) 으로 이동 +무한반복 +(130) 반복 +x 를 (-1) 만큼 변경 +종료 +``` + ++ 새 코드를 테스트해 다음을 확인합니다: + + `적` 스프라이트는 방2에서만 보인다 + + `적` 스프라이트는 해당 방을 돌아다닌다 + + `플레이어` 스프라이트가 `적` 스프라이트에 닿으면 게임이 종료된다 + +방 3에서 벽의 틈 사이를 통해 위 아래로 지나다니는 `적` 스프라이트를 추가적으로 만들 수 있나요? + +![스크린샷](images/world-enemy2.png) \ No newline at end of file diff --git a/me-ME/images/banner.png b/me-ME/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/me-ME/images/banner.png differ diff --git a/me-ME/images/cats-finished.png b/me-ME/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/me-ME/images/cats-finished.png differ diff --git a/me-ME/images/coin.png b/me-ME/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/me-ME/images/coin.png differ diff --git a/me-ME/images/coin.svg b/me-ME/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/me-ME/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/me-ME/images/create-variable.png b/me-ME/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/me-ME/images/create-variable.png differ diff --git a/me-ME/images/create-your-own-world.png b/me-ME/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/me-ME/images/create-your-own-world.png differ diff --git a/me-ME/images/door.png b/me-ME/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/me-ME/images/door.png differ diff --git a/me-ME/images/enemy.png b/me-ME/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/me-ME/images/enemy.png differ diff --git a/me-ME/images/finished-move-down-right.png b/me-ME/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/me-ME/images/finished-move-down-right.png differ diff --git a/me-ME/images/key.png b/me-ME/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/me-ME/images/key.png differ diff --git a/me-ME/images/key.svg b/me-ME/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/me-ME/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/me-ME/images/north-south-rooms.png b/me-ME/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/me-ME/images/north-south-rooms.png differ diff --git a/me-ME/images/number-grid.png b/me-ME/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/me-ME/images/number-grid.png differ diff --git a/me-ME/images/person-sprite.png b/me-ME/images/person-sprite.png new file mode 100644 index 000000000..6e2f2a99e Binary files /dev/null and b/me-ME/images/person-sprite.png differ diff --git a/me-ME/images/person.png b/me-ME/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/me-ME/images/person.png differ diff --git a/me-ME/images/player.png b/me-ME/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/me-ME/images/player.png differ diff --git a/me-ME/images/showcase.png b/me-ME/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/me-ME/images/showcase.png differ diff --git a/me-ME/images/sign.png b/me-ME/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/me-ME/images/sign.png differ diff --git a/me-ME/images/sign.svg b/me-ME/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/me-ME/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/me-ME/images/stage.png b/me-ME/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/me-ME/images/stage.png differ diff --git a/me-ME/images/variable-show.png b/me-ME/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/me-ME/images/variable-show.png differ diff --git a/me-ME/images/world-backdrops.png b/me-ME/images/world-backdrops.png new file mode 100644 index 000000000..fa5604a2b Binary files /dev/null and b/me-ME/images/world-backdrops.png differ diff --git a/me-ME/images/world-bribe.png b/me-ME/images/world-bribe.png new file mode 100644 index 000000000..b40ffef21 Binary files /dev/null and b/me-ME/images/world-bribe.png differ diff --git a/me-ME/images/world-coins.png b/me-ME/images/world-coins.png new file mode 100644 index 000000000..67b2df7a9 Binary files /dev/null and b/me-ME/images/world-coins.png differ diff --git a/me-ME/images/world-door.png b/me-ME/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/me-ME/images/world-door.png differ diff --git a/me-ME/images/world-enemy-code.png b/me-ME/images/world-enemy-code.png new file mode 100644 index 000000000..f75197932 Binary files /dev/null and b/me-ME/images/world-enemy-code.png differ diff --git a/me-ME/images/world-enemy2.png b/me-ME/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/me-ME/images/world-enemy2.png differ diff --git a/me-ME/images/world-final.png b/me-ME/images/world-final.png new file mode 100644 index 000000000..ee16c32a8 Binary files /dev/null and b/me-ME/images/world-final.png differ diff --git a/me-ME/images/world-key.png b/me-ME/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/me-ME/images/world-key.png differ diff --git a/me-ME/images/world-north-south.png b/me-ME/images/world-north-south.png new file mode 100644 index 000000000..d9ca0af9c Binary files /dev/null and b/me-ME/images/world-north-south.png differ diff --git a/me-ME/images/world-person-test.png b/me-ME/images/world-person-test.png new file mode 100644 index 000000000..65fb7103d Binary files /dev/null and b/me-ME/images/world-person-test.png differ diff --git a/me-ME/images/world-person.png b/me-ME/images/world-person.png new file mode 100644 index 000000000..024e983ba Binary files /dev/null and b/me-ME/images/world-person.png differ diff --git a/me-ME/images/world-player.png b/me-ME/images/world-player.png new file mode 100644 index 000000000..04af9359a Binary files /dev/null and b/me-ME/images/world-player.png differ diff --git a/me-ME/images/world-resources.png b/me-ME/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/me-ME/images/world-resources.png differ diff --git a/me-ME/images/world-room-test.png b/me-ME/images/world-room-test.png new file mode 100644 index 000000000..2db4308c3 Binary files /dev/null and b/me-ME/images/world-room-test.png differ diff --git a/me-ME/images/world-room.png b/me-ME/images/world-room.png new file mode 100644 index 000000000..b47af8277 Binary files /dev/null and b/me-ME/images/world-room.png differ diff --git a/me-ME/images/world-sign-test-left.png b/me-ME/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/me-ME/images/world-sign-test-left.png differ diff --git a/me-ME/images/world-sign-test-right.png b/me-ME/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/me-ME/images/world-sign-test-right.png differ diff --git a/me-ME/images/world-sign-test.png b/me-ME/images/world-sign-test.png new file mode 100644 index 000000000..fcef3cff7 Binary files /dev/null and b/me-ME/images/world-sign-test.png differ diff --git a/me-ME/images/world-sign-test2.png b/me-ME/images/world-sign-test2.png new file mode 100644 index 000000000..bb9bec86a Binary files /dev/null and b/me-ME/images/world-sign-test2.png differ diff --git a/me-ME/images/world-sign.png b/me-ME/images/world-sign.png new file mode 100644 index 000000000..a706f0481 Binary files /dev/null and b/me-ME/images/world-sign.png differ diff --git a/me-ME/images/world-starter.png b/me-ME/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/me-ME/images/world-starter.png differ diff --git a/me-ME/images/world-treasure.png b/me-ME/images/world-treasure.png new file mode 100644 index 000000000..93e312d3d Binary files /dev/null and b/me-ME/images/world-treasure.png differ diff --git a/me-ME/images/world-up.png b/me-ME/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/me-ME/images/world-up.png differ diff --git a/me-ME/images/world-walls-test.png b/me-ME/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/me-ME/images/world-walls-test.png differ diff --git a/me-ME/images/world-walls.png b/me-ME/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/me-ME/images/world-walls.png differ diff --git a/me-ME/meta.yml b/me-ME/meta.yml new file mode 100644 index 000000000..0efcb949d --- /dev/null +++ b/me-ME/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/create-your-own-world.png +title: Kreiraj sopstveni svijet +description: Nauči kako da napraviš sopstvenu igru avanture u otvorenom svijetu. +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Uvod + - + title: Šta će ti biti potrebno + - + title: Čvrsti zidovi + completion: + - engaged + - + title: Čvrsti zidovi + - + title: 'Programiranje tvog svijeta' + challenge: true + - + title: Znakovi + - + title: 'Izazov: blago!' + challenge: true + - + title: Osobe + - + title: 'Izazov: neprijatelji' + challenge: true + - + title: Sakupljanje novčića + - + title: Vrata i ključevi + completion: + - internal + - + title: 'Izazov: proširi svoj svijet' + challenge: true + completion: + - external diff --git a/me-ME/resources/CreateYourOwnWorld.sb2 b/me-ME/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..adbcf69ae Binary files /dev/null and b/me-ME/resources/CreateYourOwnWorld.sb2 differ diff --git a/me-ME/resources/CreateYourOwnWorldResources.sb2 b/me-ME/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..49d5f5078 Binary files /dev/null and b/me-ME/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/me-ME/resources/CreateYourOwnWorldResources.sb3 b/me-ME/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/me-ME/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/me-ME/resources/chest.svg b/me-ME/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/me-ME/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/me-ME/resources/coin.svg b/me-ME/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/me-ME/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/me-ME/resources/door-blue.png b/me-ME/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/me-ME/resources/door-blue.png differ diff --git a/me-ME/resources/enemy.png b/me-ME/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/me-ME/resources/enemy.png differ diff --git a/me-ME/resources/key.svg b/me-ME/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/me-ME/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/me-ME/resources/person.png b/me-ME/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/me-ME/resources/person.png differ diff --git a/me-ME/resources/player.png b/me-ME/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/me-ME/resources/player.png differ diff --git a/me-ME/resources/room1.png b/me-ME/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/me-ME/resources/room1.png differ diff --git a/me-ME/resources/room2.png b/me-ME/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/me-ME/resources/room2.png differ diff --git a/me-ME/resources/room3.png b/me-ME/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/me-ME/resources/room3.png differ diff --git a/me-ME/resources/sign.svg b/me-ME/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/me-ME/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/me-ME/scratch-translatable.txt b/me-ME/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/me-ME/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/me-ME/solutions/CreateYourOwnWorld.sb3 b/me-ME/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/me-ME/solutions/CreateYourOwnWorld.sb3 differ diff --git a/me-ME/step_1.md b/me-ME/step_1.md new file mode 100644 index 000000000..f31effd18 --- /dev/null +++ b/me-ME/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Uvod + +Ukoliko je potrebno da odštampate ovaj projekat, koristite [verziju za štampu](https://projects.raspberrypi.org/me-ME/projects/create-your-own-world/print){:target="_blank"}. + +### Šta ćeš napraviti + +\--- no-print \--- + +Klikni na zelenu zastavicu da započneš projekat. Koristi tastere sa strelicama za kretanje tvog karaktera po svijetu. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Šta će ti biti potrebno + +### Šta ćeš naučiti + +- [Kombinujte programske konstrukcije za rješavanje problema.](https://www.raspberrypi.org/curriculum/programming/builder){:target="_blank"} + +### Dodatne informacije za nastavnike + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Šta ćeš naučiti + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Additional information for educators + +Ukoliko je potrebno da odštampate ovaj projekat, koristite [verziju za štampu](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +You can find the [completed project here](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/me-ME/step_10.md b/me-ME/step_10.md new file mode 100644 index 000000000..a908ffcd0 --- /dev/null +++ b/me-ME/step_10.md @@ -0,0 +1,71 @@ +## Sakupljanje novčića + +Dok se kreće po svijetu, tvoj lik `igrača` može da sakuplja novčiće. + +\--- task \--- + +\--- challenge \--- + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Dodaj kôd svom liku `novčića` tako da se pojavljuje samo u sobi 1. + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/me-ME/step_11.md b/me-ME/step_11.md new file mode 100644 index 000000000..3bcff4cc3 --- /dev/null +++ b/me-ME/step_11.md @@ -0,0 +1,104 @@ +## Vrata i ključevi + +Kako bi bilo da neka od vrata u tvom svijetu budu zaključana i da igrač mora da nađe ključ da bi nastavio dalje? + +\--- task \--- + +Pređi na lik `ključa`. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Izmijeni kostim lika `ključa` da bude plave boje. + +\--- /task \--- + +\--- task \--- + +Postavi da pozadina Pozornice bude soba 3 i postavi lik `ključa` na neko mjesto do kojeg je teško doći! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete (all v) of [inventar v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Dodaj kôd liku `plavih vrata` tako da se pojavljuje samo u sobi 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/me-ME/step_12.md b/me-ME/step_12.md new file mode 100644 index 000000000..28e418bf7 --- /dev/null +++ b/me-ME/step_12.md @@ -0,0 +1,28 @@ +## Izazov: proširi svoj svijet + +Sada možeš da nastaviš da kreiraš sopstveni svijet! Evo nekoliko ideja: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Dodaj u svoju igru zvukove i muziku ++ Dodaj još osoba, neprijatelja, znakova i novčića ++ Dodaj crvena i žuta vrata, kao i posebne ključeve za njihovo otvaranje ++ Dodaj još soba u svoj svijet ++ Dodaj još soba u svoj svijet ++ Upotrijebi novčiće da dobiješ informacije od drugih osoba: + + + Upotrijebi novčiće da dobiješ informacije od drugih osoba: + +![screenshot](images/world-bribe.png) + ++ Možeš čak da dodaš vrata na sjeverni i južni zid sobe 1, kako bi igrač mogao da se kreće između soba u sva četiri pravca. For example, your game can have nine rooms in a 3×3 grid. Zatim, za spuštanje na niži nivo, možeš broj sobe uvećati za `3`. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/me-ME/step_13.md b/me-ME/step_13.md new file mode 100644 index 000000000..cd13c5762 --- /dev/null +++ b/me-ME/step_13.md @@ -0,0 +1,21 @@ +## Izazov: više olovaka + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/me-ME/step_2.md b/me-ME/step_2.md new file mode 100644 index 000000000..572f905eb --- /dev/null +++ b/me-ME/step_2.md @@ -0,0 +1,132 @@ +## Šta će ti biti potrebno + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +If you have a Scratch account you can make a copy by clicking **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. If you need to download and install the Scratch offline editor, you can find it at [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Dodaj ovaj kôd liku `igrača`: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Kao pomoć, koristi kôd koji već imaš. + +\--- pomoć \--- + +\--- pomoć \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- pomoć \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/me-ME/step_3.md b/me-ME/step_3.md new file mode 100644 index 000000000..118fd4c67 --- /dev/null +++ b/me-ME/step_3.md @@ -0,0 +1,50 @@ +## Pomjeranje lika `igrača` + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/me-ME/step_4.md b/me-ME/step_4.md new file mode 100644 index 000000000..22e877867 --- /dev/null +++ b/me-ME/step_4.md @@ -0,0 +1,142 @@ +## Čvrsti zidovi + +The `player` sprite should be able to walk through doors into other rooms. + +Tvoj projekat sadrži pozadine (backdrops) za dodatne sobe: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/me-ME/step_5.md b/me-ME/step_5.md new file mode 100644 index 000000000..355ab1eb1 --- /dev/null +++ b/me-ME/step_5.md @@ -0,0 +1,3 @@ +## Programiranje tvog svijeta + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/me-ME/step_6.md b/me-ME/step_6.md new file mode 100644 index 000000000..fbfa33831 --- /dev/null +++ b/me-ME/step_6.md @@ -0,0 +1,108 @@ +## Znakovi + +Dodajmo u tvoj svijet znakove koji će voditi igrača na njegovom putovanju. + +Tvoj projekat sadrži lik `znaka dobrodošlice`: + +![screenshot](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +Znak nije koristan ako ništa ne govori! Dodaj kôd da se prikaže poruka kada lik `znaka dobrodošlice` dodirne lik `igrača`: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/me-ME/step_7.md b/me-ME/step_7.md new file mode 100644 index 000000000..e5d1d4b60 --- /dev/null +++ b/me-ME/step_7.md @@ -0,0 +1,7 @@ +## Izazov: blago! + +\--- challenge \--- + +Možeš li da dodaš neko blago koje igrač treba da nađe? + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/me-ME/step_8.md b/me-ME/step_8.md new file mode 100644 index 000000000..2c1d15c67 --- /dev/null +++ b/me-ME/step_8.md @@ -0,0 +1,65 @@ +## Osobe + +Dodajmo u tvoj svijet druge osobe sa kojima tvoj lik `igrača` može da komunicira. + +\--- task \--- + +Tvoj lik `osobe` sada će se kretati, ali će prestati da razgovara sa likom `igrača`. + +![Lik osobe](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. Ovaj kôd je veoma sličan kôdu koji si dodao/dodala svom liku `znaka`: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Tvoj lik `osobe` sada će se kretati, ali će prestati da razgovara sa likom `igrača`. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Ne zaboravi da isprobaš svoj novi kôd. + +\--- /task \--- \ No newline at end of file diff --git a/me-ME/step_9.md b/me-ME/step_9.md new file mode 100644 index 000000000..9468a6207 --- /dev/null +++ b/me-ME/step_9.md @@ -0,0 +1,39 @@ +## Izazov: neprijatelji + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Dodaj kôd liku `neprijatelja` tako da se pojavljuje samo u sobi 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. Ovo je lakše uraditi u odvojenim blokovima kôda. Ovako bi mogao da izgleda kôd tvog lika `neprijatelja`: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Isprobaj svoj lik `neprijatelja` da se uvjeriš u sljedeće: + + Da je vidljiv samo u sobi 2 + + Da patrolira po sobi + + Da se igra završava ako ga lik `igrača` dodirne + +Da li možeš u sobi 3 da kreiraš još jedan lik `neprijatelja` koji patrolira gore-dolje kroz otvor u zidu? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/mr-IN/images/banner.png b/mr-IN/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/mr-IN/images/banner.png differ diff --git a/mr-IN/images/cats-finished.png b/mr-IN/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/mr-IN/images/cats-finished.png differ diff --git a/mr-IN/images/coin.png b/mr-IN/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/mr-IN/images/coin.png differ diff --git a/mr-IN/images/door.png b/mr-IN/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/mr-IN/images/door.png differ diff --git a/mr-IN/images/key.png b/mr-IN/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/mr-IN/images/key.png differ diff --git a/mr-IN/images/north-south-rooms.png b/mr-IN/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/mr-IN/images/north-south-rooms.png differ diff --git a/mr-IN/images/number-grid.png b/mr-IN/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/mr-IN/images/number-grid.png differ diff --git a/mr-IN/images/person.png b/mr-IN/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/mr-IN/images/person.png differ diff --git a/mr-IN/images/player.png b/mr-IN/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/mr-IN/images/player.png differ diff --git a/mr-IN/images/showcase.png b/mr-IN/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/mr-IN/images/showcase.png differ diff --git a/mr-IN/images/sign.png b/mr-IN/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/mr-IN/images/sign.png differ diff --git a/mr-IN/images/stage.png b/mr-IN/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/mr-IN/images/stage.png differ diff --git a/mr-IN/images/world-backdrops.png b/mr-IN/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/mr-IN/images/world-backdrops.png differ diff --git a/mr-IN/images/world-bribe.png b/mr-IN/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/mr-IN/images/world-bribe.png differ diff --git a/mr-IN/images/world-door.png b/mr-IN/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/mr-IN/images/world-door.png differ diff --git a/mr-IN/images/world-enemy2.png b/mr-IN/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/mr-IN/images/world-enemy2.png differ diff --git a/mr-IN/images/world-key.png b/mr-IN/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/mr-IN/images/world-key.png differ diff --git a/mr-IN/images/world-person-test.png b/mr-IN/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/mr-IN/images/world-person-test.png differ diff --git a/mr-IN/images/world-room-test.png b/mr-IN/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/mr-IN/images/world-room-test.png differ diff --git a/mr-IN/images/world-room.png b/mr-IN/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/mr-IN/images/world-room.png differ diff --git a/mr-IN/images/world-sign-test.png b/mr-IN/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/mr-IN/images/world-sign-test.png differ diff --git a/mr-IN/images/world-sign-test2.png b/mr-IN/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/mr-IN/images/world-sign-test2.png differ diff --git a/mr-IN/images/world-sign.png b/mr-IN/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/mr-IN/images/world-sign.png differ diff --git a/mr-IN/images/world-starter.png b/mr-IN/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/mr-IN/images/world-starter.png differ diff --git a/mr-IN/images/world-treasure.png b/mr-IN/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/mr-IN/images/world-treasure.png differ diff --git a/mr-IN/images/world-up.png b/mr-IN/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/mr-IN/images/world-up.png differ diff --git a/mr-IN/images/world-walls-test.png b/mr-IN/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/mr-IN/images/world-walls-test.png differ diff --git a/mr-IN/images/world-walls.png b/mr-IN/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/mr-IN/images/world-walls.png differ diff --git a/mr-IN/meta.yml b/mr-IN/meta.yml new file mode 100644 index 000000000..67fcf4b83 --- /dev/null +++ b/mr-IN/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: आपला स्वतःचा गेम तयार करा +description: आपला स्वतःचा ओपन-वर्ल्ड अ‍ॅडव्हेंचर गेम तयार करा +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: परिचय + - + title: तुमचा खेळाडू (player) sprite ला हलवा + - + title: भरीव भिंती + completion: + - engaged + - + title: तुमच्या गेमच्या जगात फिरा + - + title: 'आव्हान: मागील खोलीकडे परत जा' + challenge: true + - + title: चिन्हे + - + title: 'आव्हान: खजिना!' + challenge: true + - + title: लोक + - + title: 'आव्हान: शत्रू' + challenge: true + - + title: नाणी गोळा करा + - + title: दारे आणि चाबी + completion: + - internal + - + title: 'आव्हान: तुमचे जग वाढवा' + challenge: true + completion: + - external diff --git a/mr-IN/resources/CreateYourOwnWorldResources.sb3 b/mr-IN/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/mr-IN/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/mr-IN/resources/chest.svg b/mr-IN/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/mr-IN/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mr-IN/resources/coin.svg b/mr-IN/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/mr-IN/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mr-IN/resources/door-blue.png b/mr-IN/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/mr-IN/resources/door-blue.png differ diff --git a/mr-IN/resources/enemy.png b/mr-IN/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/mr-IN/resources/enemy.png differ diff --git a/mr-IN/resources/key.svg b/mr-IN/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/mr-IN/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/mr-IN/resources/person.png b/mr-IN/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/mr-IN/resources/person.png differ diff --git a/mr-IN/resources/player.png b/mr-IN/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/mr-IN/resources/player.png differ diff --git a/mr-IN/resources/room1.png b/mr-IN/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/mr-IN/resources/room1.png differ diff --git a/mr-IN/resources/room2.png b/mr-IN/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/mr-IN/resources/room2.png differ diff --git a/mr-IN/resources/room3.png b/mr-IN/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/mr-IN/resources/room3.png differ diff --git a/mr-IN/resources/sign.svg b/mr-IN/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/mr-IN/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mr-IN/scratch-translatable.txt b/mr-IN/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/mr-IN/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/mr-IN/solutions/CreateYourOwnWorld.sb3 b/mr-IN/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/mr-IN/solutions/CreateYourOwnWorld.sb3 differ diff --git a/mr-IN/step_1.md b/mr-IN/step_1.md new file mode 100644 index 000000000..f8daec96c --- /dev/null +++ b/mr-IN/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +ही प्रकल्पाची **Scratch 3** आवृत्ती आहे. प्रकल्पाची [Scratch 2 आवृत्ती देखील आहे](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## परिचय + +या प्रकल्पात, आपण एक्सप्लोर करण्यासाठी अधिकाधिक लेवलसह आपले स्वतःचे साहसी गेम वर्ल्ड कसे तयार करावे ते शिकाल. + +### आपण काय तयार करणार आहोत + +\--- no-print \--- + +प्रारंभ करण्यासाठी हिरव्या ध्वजवर क्लिक करा. आपले कॅरॅक्टर(वर्ण) अवति-भोवतीच्या जगात फिरण्यासाठी एरो की(Arrow key) वापरा. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +आपले कॅरॅक्टर ओवति-भोवतीच्या जगात फिरण्यासाठी एरो की(Arrow key) वापराल. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: आपल्याला कशाची आवश्यकता लागेल + +### हार्डवेअर + +- Scratch 3 चालवण्यास सक्षम असलेले संगणक + +### सॉफ्टवेअर + +- Scratch 3 (एकतर [ऑनलाइन](https://rpf.io/scratchon){:target="_blank"} किंवा [ऑफलाइन](https://rpf.io/scratchoff){:target="_blank"}) + +### डाउनलोड्स + +हा प्रकल्प पूर्ण करण्यासाठी आपल्याला आवश्यक असलेली प्रत्येक गोष्ट आपण [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go) वर शोधू शकता. + +\--- /collapse \--- + +## \--- collapse \--- + +## title: आपण काय शिकणार + +- बटण दाबल्यावर प्रतिक्रिया मिळण्यासाठी conditional selection वापरा +- गेमची स्थिती गोळा करण्यासाठी चल (variable) वापरा +- चलच्या मूल्यानूसार conditional selection वापरा +- डेटा संग्रहित करण्यासाठी यादी(lists) वापरा + +\--- /collapse \--- + +## \--- collapse \--- + +## title: शिक्षकांसाठी अतिरिक्त माहिती + +तुम्हाला हा प्रोजेक्ट प्रिंट करणे आवश्यक असल्यास, कृपया [प्रिन्टर अनुकूल आवृत्ती](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"} वापरा. + +आपण येथे [पूर्ण केलेला प्रोजेक्ट](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"} शोधू शकता. + +\--- /collapse \--- \ No newline at end of file diff --git a/mr-IN/step_10.md b/mr-IN/step_10.md new file mode 100644 index 000000000..6167e72c8 --- /dev/null +++ b/mr-IN/step_10.md @@ -0,0 +1,71 @@ +## नाणी गोळा करा + +आपला `player` sprite गेममधे फिरत असताना नाणी गोळा करण्यास सक्षम असायला हवा. + +\--- task \--- + +आपल्या प्रकल्पामधे `coins`{:class="block3variables"} हे नवीन चल जोडा. + +\--- /task \--- + +\--- task \--- + +`coin` sprite निवडा आणि **show** वर क्लिक करा. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +`coin` sprite मध्ये कोड जोडा जेणेकरून ते फक्त रूम 1 मध्ये दिसून येईल. + +![screenshot](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +आपल्या `coin` sprite मध्ये कोड जोडा जेणेकरून sprite `hides`{:class="block3looks"} आणि `1`{:class="block3variables"} `coins`{:class="block3variables"} मध्ये समाविष्ट केला जाईल जेव्हा `player` sprite `coin` sprite ला 'pick it up'(उचलण्यासाठी) साठी स्पर्श करेल. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +`stop other scripts in sprite`{:class="block3control"} sprite मध्ये इतर स्क्रिप्ट्स थांबवणे आवश्यक आहे जेणेकरून `coin` sprite संग्रहित झाल्यानंतर रूम 1 मध्ये प्रदर्शित करणे थांबेल. + +\--- /task \--- + +\--- task \--- + +आता आपल्या गेमच्या सुरूवातीस `coins`{:class="block3variables"} मध्ये `0`{:class="block3variables"} सेट करण्यासाठी स्टेजमधे कोड जोडा. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +आपल्या गेमची चाचणी घ्या. नाणी गोळा केल्यानंतर आपला `coins` स्कोअर `1`{:class="block3variables"} वर बदलला पाहिजे. + +\--- /task \--- \ No newline at end of file diff --git a/mr-IN/step_11.md b/mr-IN/step_11.md new file mode 100644 index 000000000..5692d1179 --- /dev/null +++ b/mr-IN/step_11.md @@ -0,0 +1,104 @@ +## दारे आणि चाबी + +आता आपण कोड जोडाल जेणेकरून आपल्या गेममधील काही दारे लॉक होतील आणि ते उघडण्यासाठी आणि पुढील खोलीत जाण्यासाठी खेळाडूला एक चाबी सापडली पाहिजे. + +\--- task \--- + +`key` sprite कडे स्विच करा. स्क्रिप्ट्स मेनूमध्ये `show`{:class="blocklooks"} वर क्लिक करा जेणेकरून sprite स्टेजवर दिसून येईल. + +\--- /task \--- + +\--- task \--- + +`key` sprite's costume(पोशाख) एडिट करा जेणेकरुन ते निळे दिसेल. + +\--- /task \--- + +\--- task \--- + +रूम 3 वर आपल्या स्टेज पार्श्वभूमीवर स्विच करा आणि `key` sprite असे कोठेतरी ठेवा की तिथून जाणे अवघड असेल! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +`key` sprite मध्ये कोड जोडा जेणेकरून ते फक्त रूम 3 मध्ये दिसून येईल. + +\--- /task \--- + +\--- task \--- + +`inventory`{:class="block3variables"} नावाची एक नवीन सूची तयार करा त्यात `player` sprite ने गोळा केलेल्या वस्तू जमा होतील. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +आपल्याला चाबी गोळा करण्यासाठी जो कोड जोडण्याची आवश्यकता आहे ते नाणी गोळा करण्यासाठीच्या कोडसारखेच आहे. फरक म्हणजे आपण `inventory`{:class="block3variables"} मध्ये key(चाबी) जोडणार आहो. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +गेमच्या सुरूवातीस आपली यादी(inventory) रिक्त करण्यासाठी आपल्या स्टेजमध्ये कोड जोडा. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +आपण `key` sprite संकलित करून आपल्या यादीमध्ये जोडू शकता की नाही हे तपासण्यासाठी आपल्या गेमची चाचणी घ्या. + +\--- /task \--- + +\--- task \--- + +आता लॉक केलेला दरवाजा जोडा. `door-blue` sprite निवडा आणि स्क्रिप्ट्स मेनूमध्ये `show`{:class="blocklooks} वर क्लिक करा आणि नंतर दोन भिंतींमधील अंतर ओलांडून sprite स्थित करा. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +`door-blue` sprite मध्ये कोड जोडा जेणेकरून ते फक्त रूम 3 मध्ये दिसून येईल. + +\--- /task \--- + +\--- task \--- + +`door-blue` sprite मध्ये कोड जोडा जेणेकरून जेव्हा तुमची चाबी `inventory`{:class="block3variables"} मध्ये असेल तेव्हा, sprite `hides`{:class="block3looks"} आपल्या `player` sprite ला परवानगी देईल. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +आपला गेम तपासून पहा आणि आपण दार उघडण्यासाठी निळी चाबी एकत्रित करू शकता की नाही ते पहा! + +\--- /task \--- \ No newline at end of file diff --git a/mr-IN/step_12.md b/mr-IN/step_12.md new file mode 100644 index 000000000..eea8c73e5 --- /dev/null +++ b/mr-IN/step_12.md @@ -0,0 +1,28 @@ +## आव्हान: तुमचे जग वाढवा + +आपण आता आपले स्वतःचे जग तयार करणे सुरू ठेवू शकता! येथे काही कल्पना आहेत: + ++ आपल्या गेममध्ये वेगवेगळ्या रूममध्ये आणखी नाणी जोडा. गस्त घालणाऱ्या शत्रूद्वारे काही नाण्यांचे रक्षण करू शकता का? ++ आपल्या गेमची बॅकड्रॉप्स बदला ++ आपल्या गेममध्ये ध्वनी आणि संगीत जोडा ++ अधिक लोक, शत्रू आणि चिन्हे जोडा ++ लाल आणि पिवळे दारे आणि ती उघडण्यासाठी खास चाबी जोडा ++ आपल्या प्रकल्पात अधिक रूम जोडा ++ आपल्या गेममध्ये इतर उपयुक्त गोष्टी जोडा + + + इतर लोकांकडून माहिती मिळवण्यासाठी नाणी वापरा: + +![screenshot](images/world-bribe.png) + ++ आपण रूम 1 च्या उत्तरेकडे व दक्षिणेकडील भिंतींमध्ये दरवाजे देखील जोडू शकता, जेणेकरून खेळाडू चारही दिशांमध्ये रूममध्ये फिरू शकेल. उदाहरणार्थ, आपल्या गेममध्ये 3 × 3 ग्रिडमध्ये नऊ खोल्या असू शकतात. एका पातळीवर खाली जाण्यासाठी रूमच्या क्रमांकावरआपण `3` जोडू शकता. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/mr-IN/step_13.md b/mr-IN/step_13.md new file mode 100644 index 000000000..9687bef03 --- /dev/null +++ b/mr-IN/step_13.md @@ -0,0 +1,21 @@ +## पुढे काय? + +[CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) चा वापर करून दुसरा गेम तयार करुन पहा. + +\--- no-print \--- + +पेन्सिलने रेखा काढण्यासाठी माउस क्लिक करून ड्रॅग करा. बाहेर जाण्यासाठी सुरक्षित मार्ग तयार करून मांजरींना गड्ड्यामध्ये पडण्यापासून रोखण्याचे आपले लक्ष्य आहे. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +आपल्याला Scratch ऐवजी Python चा वापर करुन एखादा गेम करायचा असल्यास, [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) प्रकल्प वापरून पहा. \ No newline at end of file diff --git a/mr-IN/step_2.md b/mr-IN/step_2.md new file mode 100644 index 000000000..496431143 --- /dev/null +++ b/mr-IN/step_2.md @@ -0,0 +1,132 @@ +## तुमचा खेळाडू (player) sprite ला हलवा + +आपल्या जगात फिरू शकणारे `player` sprite तयार करुन सुरवात करा. + +\--- task \--- + +'आपला स्वतःचा गेम तयार करा' Scratch स्टार्टर प्रकल्प उघडा. + +**ऑनलाइन**: [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"} वर एक नवीन ऑनलाइन स्क्रॅच प्रकल्प उघडा. + +आपल्याकडे Scratch खाते असल्यास आपण **Remix** वर क्लिक करुन एक काॅपी बनवू शकता. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. आपल्याला स्क्रॅच ऑफलाइन एडिटर डाउनलोड आणि स्थापित करणे आवश्यक असल्यास, आपण ते [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"} येथे शोधू शकता. + +![screenshot](images/world-starter.png) + +\--- /task \--- + +एरो की दाबल्याने `player` sprite हलला पाहिजे. जेव्हा वरचा बाण दाबला जाईल तेव्हा `player` sprite प्रतिसाद म्हणून स्टेजच्या वरच्या दिशेने जावा. + +\--- task \--- + +हा कोड `player` sprite मध्ये जोडा: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +ध्वज क्लिक करा आणि नंतर वरचा बाण दाबून ठेवा. `player` sprite वर हलतो का? + +![screenshot](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +`player` sprite ला डावीकडे हलविण्यासाठी, `if`{:class="block3control"} ब्लॉकमधे आपल्याला समान कोडसह आणखी एक जोडण्याची आवश्यकता आहे: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +आपल्या `player` sprite मध्ये अधिक कोड जोडा जेणेकरून ते खाली आणि उजवीकडे देखील जाऊ शकेल. आपल्याला आधीपासून मदत करण्यासाठी आपल्याकडे असलेला कोड वापरा. + +\--- hints \--- + +\--- hint \--- + +वर जाण्यासाठी आपण `player` sprite ला `0` अंश दिशेने निर्देशित करा. खाली sprite ला हलविण्यासाठी आपल्याला काय करावे लागेल? + +डावीकडे हलविण्यासाठी, आपण sprite ला `-90` अंश दिशेने निर्देशित करा. उजवीकडे sprite ला हलविण्यासाठी आपल्याला काय करावे लागेल? + +\--- /hint \--- + +\--- hint \--- + +आपल्याला हे दोन ब्लॉक बदलण्याची आवश्यकता आहे: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +कोड डुप्लिकेट करा `player` sprite ला वरच्या दिशेने सरकावण्यासाठी आणि sprite ला खाली हलविण्यासाठी हे दोन ब्लॉक्स बदला. कोड पुन्हा डुप्लिकेट करा आणि sprite ला उजवीकडे हलविण्यासाठी कोड बदलून घ्या. + +\--- /hint \--- + +\--- hint \--- + +तुमचा कोड कसा दिसला पाहिजे हे येथे आहे: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/mr-IN/step_3.md b/mr-IN/step_3.md new file mode 100644 index 000000000..c8eb01709 --- /dev/null +++ b/mr-IN/step_3.md @@ -0,0 +1,50 @@ +## भरीव भिंती + +\--- task \--- + +आपल्या `player` sprite ची चाचणी करून घ्या. ते हलका राखाडी भिंतींमधून जाऊ शकतात का असे आपल्यला दिसत का? + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +याचे निराकरण करण्यासाठी, आपल्याला `player` sprite ला हलकी राखाडी भिंतीस स्पर्श केल्यावर मागे सरकावणे आवश्यक आहे. आपल्याला आपल्या `forever`{:class="block3control"} ब्लॉक मध्ये direction ब्लॉक्सच्या खाली आवश्यक असलेला हा कोड जोडायचा आहे: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +`player` sprite ला भिंती मधून हलवण्यासाठी प्रयत्न करा. आपला नवीन कोड कार्य करत असल्यास, हे शक्य नाही. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/mr-IN/step_4.md b/mr-IN/step_4.md new file mode 100644 index 000000000..037756e3c --- /dev/null +++ b/mr-IN/step_4.md @@ -0,0 +1,142 @@ +## तुमच्या गेमच्या जगात फिरा + +आपला `player` sprite हा इतर खोल्यांमध्ये दारातुन फिरण्यास सक्षम असावा. + +आपल्या प्रकल्पात अतिरिक्त खोल्यांसाठी बॅकड्रॉप्स आहेत: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +व्हेरिएबल 'for all sprites' साठी `room`{:class="block3variables"} नावाचे एक नवीन व्हेरिएबल्स तयार करा जेणेकरून `player` sprite कोणत्या खोलीत आहे याचा मागोवा ठेवता येईल. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +जेव्हा `player` sprite पहिल्या खोलीत नारिंगीच्या दाराला स्पर्श करते, तेव्हा पुढील पार्श्वभूमी दिसली पाहिजे आणि `player` sprite स्टेजच्या डाव्या बाजूस परत सरकली पाहिजे. `player` sprite's मध्ये `forever`{:class="block3control"} loop हा कोड जोडा: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +प्रत्येक वेळी गेम सुरू होताच खोली, वर्णांची स्थिती आणि पार्श्वभूमी रीसेट करणे आवश्यक असते. + +ध्वज क्लिक केल्यावर सर्वकाही रीसेट करण्यासाठी **सुरवातीला** `player` sprite च्या वर `forever`{:class="block3control"} loop मधे कोड जोडा: + +\--- hints \--- + +\--- hint \--- + +गेम सुरू झाल्यावर: + ++ `room`{:class="block3variables"} चे मूल्य `1`{:class="block3variables"} वर सेट करा ++ `backdrop`{:class="block3looks"} `room1`{:class="block3looks"} वर सेट करा ++ `player` sprite ची स्थिती `x: -200 y: 0`{:class="block3motion"} वर सेट केली जावी + +\--- /hint \--- + +\--- hint \--- + +आपल्याला आवश्यक असलेले ब्लॉक येथे आहेत: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +आपली पूर्ण झालेली स्क्रिप्ट कशी दिसावी हे येथे आहे: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +ध्वज क्लिक करा आणि नंतर आपल्या `player` sprite ला तो केशरी दाराला स्पर्श करेपर्यंत हलवा. तुमचा sprite पुढील स्क्रीनवर हलतोय का? `room`{:class="block3variables"}चल `2` मध्ये बदलू शकते का? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/mr-IN/step_5.md b/mr-IN/step_5.md new file mode 100644 index 000000000..ee84ab1c6 --- /dev/null +++ b/mr-IN/step_5.md @@ -0,0 +1,3 @@ +## आव्हान: मागील खोलीकडे परत जा + +आपण आपला `player` sprite ला आधीच्या खोली मध्ये परत फिरवू शकतो का जेव्हा तो पिवळ्या दाराला स्पर्श करेल? आपल्याला यासाठी आवश्यक असलेला कोड आधीच्या खोलीत sprite ला हलविण्यासाठी वापरलेल्या कोडसारखेच आहे. \ No newline at end of file diff --git a/mr-IN/step_6.md b/mr-IN/step_6.md new file mode 100644 index 000000000..e9636594b --- /dev/null +++ b/mr-IN/step_6.md @@ -0,0 +1,108 @@ +## चिन्हे + +आता खेळाडूंना त्यांच्या प्रवासासाठी मार्गदर्शन करण्यासाठी तुमच्या गेममधे चिन्हे जोडा. + +तुमच्या प्रकल्पात `welcome sign` sprite असे चिन्हे दिसतील: + +![screenshot](images/world-sign.png) + +\--- task \--- + +`welcome sign` sprite केवळ room(रूम) 1 मध्येच दिसले पाहिजे, हे घडण्यासाठी sprite मधे अधिक कोड जोडा: + +\--- hints \--- + +\--- hint \--- + +जेव्हा `When the flag is clicked`{:class="block3events"} क्लीक केला जाईल `forever`{:class="block3control"} loop च्या आतला चेक करेल `if`{:class="block3control"} the `room is 1`{:class="block3variables"} असेल तेव्हा `show`{:class="block3looks"} `welcome sign` sprite दाखवेल नाहीतर `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite दाखवेल. + +\--- /hint \--- + +\--- hint \--- + +आपल्याला आवश्यक असलेले ब्लॉक येथे आहेत: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +येथे पूर्ण कोड आहे: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +आपल्या `welcome sign` कोडची चाचणी करून घ्या room मध्ये sprite ला फिरवून. चिन्ह(sign) फक्त रूम 1 मध्ये दिसले पाहिजे. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +चिन्ह काहीच बोलले नाही तर जास्त चांगले नाही! जेव्हा `welcome sign` sprite `player` sprite ला स्पर्श करेल तेव्हा एक संदेश दिसला पाहिजे त्यासाठी अजून कोड जोडा: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +आपल्या `welcome sign` sprite ची परत एकदा चाचणी करून घ्या. जेव्हा `player` sprite `welcome sign` sprite ला स्पर्श करेल तेव्हा एक संदेश दिसेल. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/mr-IN/step_7.md b/mr-IN/step_7.md new file mode 100644 index 000000000..f950ecf59 --- /dev/null +++ b/mr-IN/step_7.md @@ -0,0 +1,7 @@ +## आव्हान: खजिना! + +आपण प्लेअरला शोधण्यासाठी काही खजिना जोडू शकता का? + +`treasure chest` sprite केवळ रूम 3 मध्ये दिसतील असे बनवा आणि हा sprite जेव्हा `player` sprite ला स्पर्श करेल तेव्हा 'Well done!'(चांगले केले) असे म्हणेल. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/mr-IN/step_8.md b/mr-IN/step_8.md new file mode 100644 index 000000000..8fe1ff764 --- /dev/null +++ b/mr-IN/step_8.md @@ -0,0 +1,65 @@ +## लोक + +आपल्या गेममध्ये इतर लोकांना जोडा जे आपल्या `player` sprite सोबत संवाद साधू शकतील. + +\--- task \--- + +`person` sprite कडे स्विच करा. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +`person` sprite मध्ये काही कोड जोडा जेणेकरुन ती व्यक्ती `player` sprite सोबत बोलू शकेल. हा कोड आपण आपल्या `sign` sprite मध्ये जोडलेल्या कोडसारखेच आहे: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +`person` sprite ला हलविण्यासाठी आपल्या कोडच्या `else`{:class="block3control"} विभागात हे दोन ब्लॉक्स जोडून आपल्या sprite ला परवानगी द्या: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +आपला `person` sprite आता हलेल, परंतु `player` sprite शी बोलायला थांबेल. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +`enemy` sprite मध्ये कोड जोडा जेणेकरून ते फक्त रूम 1 मध्ये दिसून येईल. आपल्याला आवश्यक असलेला कोड `sign` sprite केवळ रूम 1 मध्ये दिसेल त्या कोडच्या समानच आहे. + +आपण आपला नवीन कोड तपासला असल्याचे सुनिश्चित करा. + +\--- /task \--- \ No newline at end of file diff --git a/mr-IN/step_9.md b/mr-IN/step_9.md new file mode 100644 index 000000000..8aecdf3b5 --- /dev/null +++ b/mr-IN/step_9.md @@ -0,0 +1,39 @@ +## आव्हान: एक शत्रू जोडा + +आपण इच्छित असल्यास, आपण आपल्या गेममध्ये गस्त घालणारे शत्रू देखील जोडू शकता. जर `player` sprite शत्रूला स्पर्श करेल तेव्हा गेम संपेल. + ++ आपल्या गेममध्ये आधीपासून `enemy` sprite आहे. `enemy` sprite मध्ये कोड जोडा जेणेकरून ते फक्त room 2 मध्ये दिसून येईल. + ++ `enemy` sprite ला हलविण्यासाठी आणि `player` sprite ने `enemy` sprite ला स्पर्श केल्यावर गेम समाप्त करण्यासाठी कोड जोडा. हे स्वतंत्र कोड ब्लॉकमध्ये करणे सोपे आहे. आपला `enemy` sprite कोड कसा आहे ते येथे दिसू शकेल: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ आपल्या नवीन कोडची चाचणी घ्या हे सुनिश्चित करण्यासाठी: + + `enemy` sprite केवळ रूम 2 मध्ये दिसू शकेल + + `enemy` sprite रूम मधे गस्त घालत आहे + + `player` sprite ने `enemy` sprite ला स्पर्श केल्यावर गेम समाप्त होईल + +आपण रूम 3 मध्ये आणखी एक `enemy` sprite तयार करू शकता का जो भिंतीत असलेल्या अंतरातून वर खाली पेट्रोलिंग करेल? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/nl-NL/images/banner.png b/nl-NL/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/nl-NL/images/banner.png differ diff --git a/nl-NL/images/cats-finished.png b/nl-NL/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/nl-NL/images/cats-finished.png differ diff --git a/nl-NL/images/coin.png b/nl-NL/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/nl-NL/images/coin.png differ diff --git a/nl-NL/images/coin.svg b/nl-NL/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/nl-NL/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nl-NL/images/create-variable.png b/nl-NL/images/create-variable.png new file mode 100644 index 000000000..c19bfc7a5 Binary files /dev/null and b/nl-NL/images/create-variable.png differ diff --git a/nl-NL/images/create-your-own-world.png b/nl-NL/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/nl-NL/images/create-your-own-world.png differ diff --git a/nl-NL/images/door.png b/nl-NL/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/nl-NL/images/door.png differ diff --git a/nl-NL/images/enemy.png b/nl-NL/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/nl-NL/images/enemy.png differ diff --git a/nl-NL/images/finished-move-down-right.png b/nl-NL/images/finished-move-down-right.png new file mode 100644 index 000000000..8de9c8c89 Binary files /dev/null and b/nl-NL/images/finished-move-down-right.png differ diff --git a/nl-NL/images/key.png b/nl-NL/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/nl-NL/images/key.png differ diff --git a/nl-NL/images/key.svg b/nl-NL/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/nl-NL/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nl-NL/images/north-south-rooms.png b/nl-NL/images/north-south-rooms.png new file mode 100644 index 000000000..b617ef5be Binary files /dev/null and b/nl-NL/images/north-south-rooms.png differ diff --git a/nl-NL/images/number-grid.png b/nl-NL/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/nl-NL/images/number-grid.png differ diff --git a/nl-NL/images/person-sprite.png b/nl-NL/images/person-sprite.png new file mode 100644 index 000000000..3405aa279 Binary files /dev/null and b/nl-NL/images/person-sprite.png differ diff --git a/nl-NL/images/person.png b/nl-NL/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/nl-NL/images/person.png differ diff --git a/nl-NL/images/player.png b/nl-NL/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/nl-NL/images/player.png differ diff --git a/nl-NL/images/showcase.png b/nl-NL/images/showcase.png new file mode 100644 index 000000000..d7a5be5e3 Binary files /dev/null and b/nl-NL/images/showcase.png differ diff --git a/nl-NL/images/sign.png b/nl-NL/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/nl-NL/images/sign.png differ diff --git a/nl-NL/images/sign.svg b/nl-NL/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/nl-NL/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nl-NL/images/stage.png b/nl-NL/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/nl-NL/images/stage.png differ diff --git a/nl-NL/images/variable-show.png b/nl-NL/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/nl-NL/images/variable-show.png differ diff --git a/nl-NL/images/world-backdrops.png b/nl-NL/images/world-backdrops.png new file mode 100644 index 000000000..9cee77caa Binary files /dev/null and b/nl-NL/images/world-backdrops.png differ diff --git a/nl-NL/images/world-bribe.png b/nl-NL/images/world-bribe.png new file mode 100644 index 000000000..cabae6149 Binary files /dev/null and b/nl-NL/images/world-bribe.png differ diff --git a/nl-NL/images/world-coins.png b/nl-NL/images/world-coins.png new file mode 100644 index 000000000..56efcfa69 Binary files /dev/null and b/nl-NL/images/world-coins.png differ diff --git a/nl-NL/images/world-door.png b/nl-NL/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/nl-NL/images/world-door.png differ diff --git a/nl-NL/images/world-enemy-code.png b/nl-NL/images/world-enemy-code.png new file mode 100644 index 000000000..2bb5aec21 Binary files /dev/null and b/nl-NL/images/world-enemy-code.png differ diff --git a/nl-NL/images/world-enemy2.png b/nl-NL/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/nl-NL/images/world-enemy2.png differ diff --git a/nl-NL/images/world-final.png b/nl-NL/images/world-final.png new file mode 100644 index 000000000..b18acae2f Binary files /dev/null and b/nl-NL/images/world-final.png differ diff --git a/nl-NL/images/world-key.png b/nl-NL/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/nl-NL/images/world-key.png differ diff --git a/nl-NL/images/world-north-south.png b/nl-NL/images/world-north-south.png new file mode 100644 index 000000000..bb7f6131d Binary files /dev/null and b/nl-NL/images/world-north-south.png differ diff --git a/nl-NL/images/world-person-test.png b/nl-NL/images/world-person-test.png new file mode 100644 index 000000000..3a02c185e Binary files /dev/null and b/nl-NL/images/world-person-test.png differ diff --git a/nl-NL/images/world-person.png b/nl-NL/images/world-person.png new file mode 100644 index 000000000..f5f1a1530 Binary files /dev/null and b/nl-NL/images/world-person.png differ diff --git a/nl-NL/images/world-player.png b/nl-NL/images/world-player.png new file mode 100644 index 000000000..45445ef1f Binary files /dev/null and b/nl-NL/images/world-player.png differ diff --git a/nl-NL/images/world-resources.png b/nl-NL/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/nl-NL/images/world-resources.png differ diff --git a/nl-NL/images/world-room-test.png b/nl-NL/images/world-room-test.png new file mode 100644 index 000000000..0a838c11c Binary files /dev/null and b/nl-NL/images/world-room-test.png differ diff --git a/nl-NL/images/world-room.png b/nl-NL/images/world-room.png new file mode 100644 index 000000000..08ac1fa15 Binary files /dev/null and b/nl-NL/images/world-room.png differ diff --git a/nl-NL/images/world-sign-test-left.png b/nl-NL/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/nl-NL/images/world-sign-test-left.png differ diff --git a/nl-NL/images/world-sign-test-right.png b/nl-NL/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/nl-NL/images/world-sign-test-right.png differ diff --git a/nl-NL/images/world-sign-test.png b/nl-NL/images/world-sign-test.png new file mode 100644 index 000000000..eb3754a5d Binary files /dev/null and b/nl-NL/images/world-sign-test.png differ diff --git a/nl-NL/images/world-sign-test2.png b/nl-NL/images/world-sign-test2.png new file mode 100644 index 000000000..994258373 Binary files /dev/null and b/nl-NL/images/world-sign-test2.png differ diff --git a/nl-NL/images/world-sign.png b/nl-NL/images/world-sign.png new file mode 100644 index 000000000..cbc21fe58 Binary files /dev/null and b/nl-NL/images/world-sign.png differ diff --git a/nl-NL/images/world-starter.png b/nl-NL/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/nl-NL/images/world-starter.png differ diff --git a/nl-NL/images/world-treasure.png b/nl-NL/images/world-treasure.png new file mode 100644 index 000000000..21c23be61 Binary files /dev/null and b/nl-NL/images/world-treasure.png differ diff --git a/nl-NL/images/world-up.png b/nl-NL/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/nl-NL/images/world-up.png differ diff --git a/nl-NL/images/world-walls-test.png b/nl-NL/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/nl-NL/images/world-walls-test.png differ diff --git a/nl-NL/images/world-walls.png b/nl-NL/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/nl-NL/images/world-walls.png differ diff --git a/nl-NL/meta.yml b/nl-NL/meta.yml new file mode 100644 index 000000000..3711ed85b --- /dev/null +++ b/nl-NL/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Maak je eigen wereld +description: Leer hoe je je eigen open-wereld avonturenspel kunt maken +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Inleiding + - + title: De sprite van de speler verplaatsen + - + title: Stevige muren + completion: + - engaged + - + title: Verplaats je door je wereld + - + title: 'Uitdaging: naar de vorige kamer gaan' + challenge: true + - + title: Borden + - + title: 'Uitdaging: schat!' + challenge: true + - + title: Personen + - + title: 'Uitdaging: vijanden' + challenge: true + - + title: Munten verzamelen + - + title: Deuren en sleutels + completion: + - internal + - + title: 'Uitdaging: vergroot je wereld' + challenge: true + completion: + - external diff --git a/nl-NL/resources/CreateYourOwnWorld.sb2 b/nl-NL/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..4199dfd1d Binary files /dev/null and b/nl-NL/resources/CreateYourOwnWorld.sb2 differ diff --git a/nl-NL/resources/CreateYourOwnWorldResources.sb2 b/nl-NL/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..c466fc337 Binary files /dev/null and b/nl-NL/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/nl-NL/resources/CreateYourOwnWorldResources.sb3 b/nl-NL/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..26999c55a Binary files /dev/null and b/nl-NL/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/nl-NL/resources/chest.svg b/nl-NL/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/nl-NL/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nl-NL/resources/coin.svg b/nl-NL/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/nl-NL/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nl-NL/resources/door-blue.png b/nl-NL/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/nl-NL/resources/door-blue.png differ diff --git a/nl-NL/resources/enemy.png b/nl-NL/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/nl-NL/resources/enemy.png differ diff --git a/nl-NL/resources/key.svg b/nl-NL/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/nl-NL/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/nl-NL/resources/person.png b/nl-NL/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/nl-NL/resources/person.png differ diff --git a/nl-NL/resources/player.png b/nl-NL/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/nl-NL/resources/player.png differ diff --git a/nl-NL/resources/room1.png b/nl-NL/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/nl-NL/resources/room1.png differ diff --git a/nl-NL/resources/room2.png b/nl-NL/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/nl-NL/resources/room2.png differ diff --git a/nl-NL/resources/room3.png b/nl-NL/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/nl-NL/resources/room3.png differ diff --git a/nl-NL/resources/sign.svg b/nl-NL/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/nl-NL/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nl-NL/scratch-translatable.txt b/nl-NL/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/nl-NL/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/nl-NL/solutions/CreateYourOwnWorld.sb3 b/nl-NL/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..744647117 Binary files /dev/null and b/nl-NL/solutions/CreateYourOwnWorld.sb3 differ diff --git a/nl-NL/step_1.md b/nl-NL/step_1.md new file mode 100644 index 000000000..12929f071 --- /dev/null +++ b/nl-NL/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Dit is de **Scratch 3** versie van het project. Er is ook een [Scratch 2 versie van dit project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Inleiding + +In dit project leer je hoe je je eigen avonturen-spelwereld kunt maken met meerdere niveaus om te verkennen. + +### Wat ga je maken + +\--- no-print \--- + +Klik op de groene vlag om te starten. Gebruik de pijltjestoetsen om je spelfiguur in de wereld rond te bewegen. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Je gebruikt de pijltjestoetsen om je karakter in de wereld te verplaatsen. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Wat heb je nodig + +### Hardware + +- Een computer die Scratch 3 kan uitvoeren + +### Software + +- Scratch 3 (of [online](https://rpf.io/scratchon){:target="_blank"} of [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +Je kunt alles wat je nodig hebt om dit project te voltooien vinden op [rpf.io/p/en/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Wat ga je leren + +- Gebruik voorwaardelijke selectie om te reageren op toetsaanslagen +- Gebruik variabelen om de status van een spel op te slaan +- Gebruik voorwaardelijke selectie op basis van de waarde van een variabele +- Gebruik lijsten om gegevens op te slaan + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Aanvullende informatie voor docenten + +Als je dit project wilt afdrukken, gebruik dan de [printvriendelijke versie](https://projects.raspberrypi.org/en/projects/create-your-own-world/print) {:target="_ blank"}. + +Je kunt het [voltooide project hier](https://rpf.io/p/en/create-your-own-world-get)"{:target="_blank"} vinden. + +\--- /collapse \--- \ No newline at end of file diff --git a/nl-NL/step_10.md b/nl-NL/step_10.md new file mode 100644 index 000000000..7ea583bd0 --- /dev/null +++ b/nl-NL/step_10.md @@ -0,0 +1,71 @@ +## Munten verzamelen + +Je `speler` sprite zou in staat moeten zijn munten te verzamelen terwijl deze door de wereld beweegt. + +\--- task \--- + +\--- task \--- Voeg een nieuwe variabele `munten`{:class="block3variables"} toe aan je project. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Selecteer de `munt` sprite en klik op **toon**. + +![screenshot](images/coin.png) + +\--- /task \--- + +\--- task \--- + +De code `stop andere scripts in sprite`{:class="block3control"} is nodig, zodat de `munt` sprite niet meer is te zien in kamer 1 nadat het is opgepakt. + +![screenshot](images/coin.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal +als <(kamer :: variables)=[1]> dan +verschijn +anders +verdwijn +``` + +\--- /task \--- + +\--- task \--- + +Voeg code toe aan de `munt` sprite zodat de spite `verdwijnt`{:class="block3looks"} en `1` wordt opgeteld bij de `munten`{:class="block3variables"} variabele als de `speler` sprite de `munt` sprite aanraakt om die 'op te pakken'. + +![munt](images/coin.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +wacht tot < raak ik (speler v)?> +verander [munten v] met (1) +verdwijn +stop [andere scripts in sprite v] +``` + +\--- task \--- Voeg code toe aan je nieuwe `munt` sprite zodat de sprite alleen in kamer 1 verschijnt. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Voeg nu code toe aan het speelveld om je `munten`{:class="block3variabeles"} variabele aan het begin van het spel in te stellen op `0`{:class="block3variables"}. + +![speelveld](images/stage.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +maak [munten v] [0] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Test je spel. Het verzamelen van een munt moet je `munten` score met `1`{:class="block3variables"} verhogen. + +\--- /task \--- \ No newline at end of file diff --git a/nl-NL/step_11.md b/nl-NL/step_11.md new file mode 100644 index 000000000..923283cae --- /dev/null +++ b/nl-NL/step_11.md @@ -0,0 +1,104 @@ +## Deuren en sleutels + +Nu ga je code toevoegen zodat sommige van de deuren in je spelwereld op slot zijn en de speler de sleutel moet vinden om ze te openen en naar de volgende kamer te gaan. + +\--- task \--- + +\--- task \--- Schakel over naar de `sleutel` sprite. Klik op `verschijn`{:class="block3looks"} in het Scripts-menu, zodat de sprite in het werkgebied verschijnt. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Bewerk het uiterlijk van de `sleutel` sprite zodat die blauw is. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Verander je achtergrond naar kamer 3 en plaats de `sleutel` sprite ergens waar hij moeilijk te bereiken is! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Voeg code toe aan je nieuwe `sleutel` sprite zodat de sprite alleen in kamer 3 verschijnt. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Maak een nieuwe lijst met de naam `inventaris`{:class="block3variables"} om de items die je `speler` sprite verzamelt op te slaan. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +\--- task \--- De code die je moet toevoegen voor het verzamelen van de sleutel lijkt sterk op de code voor het verzamelen van munten. Het verschil is dat je de sleutel toevoegt aan de `inventaris`{:class="block3variables"}. + +![sleutel](images/key.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +wacht tot +voeg [blauwe sleutel] toe aan [inventaris v] +verdwijn +stop [andere scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Voeg code aan je werkgebied toe om je inventaris aan het begin van het spel te legen. + +```blocks3 +delete all of [inventaris v] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Test je spel om te controleren of je de `sleutel` kunt verzamelen en aan je inventaris toegevoegen. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Voeg nu de vergrendelde deur toe. Selecteer de `blauwe deur` sprite en klik op `verschijn`{:class="block3looks} in het sprite menu, en plaats vervolgens de sprite in het gat in de vertikale muur. + +![screenshot](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Voeg code toe aan de `blauw deur` sprite zodat die alleen in kamer 3 te zien is. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Voeg code aan de `blauwe deur` sprite toe zodat wanneer de sleutel in de `inventaris`{:class="block3variables"} staat, de deur zich `verbergt`{:class="block3looks"} zodat je `speler` de doorgang kan passeren. + +![deur](images/door.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +wacht tot <[inventaris v] bevat [blauwe sleutel]?> +stop [andere scripts in sprite v] +verdwijn +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Test je spel en kijk of je met het verzamelen van de blauwe sleutel de deur kunt openen! + +\--- /task \--- \ No newline at end of file diff --git a/nl-NL/step_12.md b/nl-NL/step_12.md new file mode 100644 index 000000000..f86b55db6 --- /dev/null +++ b/nl-NL/step_12.md @@ -0,0 +1,28 @@ +## Uitdaging: vergroot je wereld + +Je kunt nu doorgaan met het maken van je eigen wereld! Hier zijn wat ideeën: + ++ Voeg meer munten in verschillende kamers toe aan je spel. Kun je sommige munten laten bewaken door patrouillerende vijanden? ++ Verander de achtergronden van je spel ++ Voeg geluid en muziek toe aan je spel ++ Voeg meer mensen, vijanden en borden toe ++ Voeg rode en gele deuren toe en speciale sleutels om ze te openen ++ Voeg meer kamers toe aan je wereld ++ Voeg andere nuttige dingen toe aan je spel + + + Gebruik munten om informatie van andere personen te krijgen: + +![screenshot](images/world-bribe.png) + ++ Je zou zelfs deuren kunnen toevoegen aan de noord- en zuidwanden van kamer 1, zodat de speler in alle vier de richtingen door kamers kan lopen. Je game kan bijvoorbeeld negen kamers hebben in een raster van 3 × 3. Je kunt dan `3` optellen bij het kamernummer om naar een ​​niveau lager te gaan. + +![screenshot](images/north-south-rooms.png) + +![screenshot](images/number-grid.png) + +```blocks3 +als dan + verander achtergrond naar ((uiterlijk [nummer v]) + (3)) + ga naar x: (0) y: (200) + verander [kamer v] met (3) +``` \ No newline at end of file diff --git a/nl-NL/step_13.md b/nl-NL/step_13.md new file mode 100644 index 000000000..f00359d12 --- /dev/null +++ b/nl-NL/step_13.md @@ -0,0 +1,21 @@ +## Wat kun je verder nog doen? + +Probeer een ander spel te maken door het [KATTEN!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project uit te voeren. + +\--- no-print \--- + +\--- no-print \--- Klik en sleep met de muis om een lijn met het potlood te tekenen. Je doel is te voorkomen dat de katten in gaten vallen door een veilig pad naar de uitgang te creëren. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +Als je een spel wilt maken met Python in plaats van Scratch, probeer dan het project [RPG](https://projects.raspberrypi.org/nl-NL/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) uit. \ No newline at end of file diff --git a/nl-NL/step_2.md b/nl-NL/step_2.md new file mode 100644 index 000000000..e6215d83b --- /dev/null +++ b/nl-NL/step_2.md @@ -0,0 +1,132 @@ +## De sprite van de speler verplaatsen + +Laten we beginnen met het maken van een sprite voor de`speler` die zich in jouw wereld kan bewegen. + +\--- task \--- + +Open de 'Maak je eigen wereld' Scratch startersproject. + +**Online**: open het online startersproject op [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Als je een Scratch-account hebt, kun je een kopie maken door op **Remix** te klikken. + +**Offline**: download het startersproject [rpf.io/p/nl-NL/create-your-own-world-go](https://rpf.io/p/nl-NL/create-your-own-world-go){:target="_blank"} en open het vervolgens met behulp van de offline editor. Als je de Scratch offline editor wilt downloaden en installeren dan kan je die vinden op [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![schermafdruk](images/world-starter.png) + +\--- /task \--- + +Door op de pijltjestoetsen te drukken zou de `speler` sprite moeten bewegen. Wanneer de pijl-omhoog toets wordt ingedrukt, zou de `speler` sprite omhoog moeten bewegen. + +\--- task \--- + +Voeg deze code toe aan de `speler` sprite: + +![speler](images/player.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal + als dan + richt naar (0) graden + neem (4) stappen + einde +einde +``` + +\--- /task \--- + +\--- task \--- + +Klik op de vlag en houd vervolgens de pijl-omhoog ingedrukt. Beweegt de `speler` sprite omhoog? + +![schermafdruk](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Om de `speler` sprite naar links te verplaatsen moet je er nog een `als`{:class="block3control"} -blok met vergelijkbare code aan toevoegen: + +![speler](images/player.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal + als dan + richt naar (0) graden + neem (4) stappen + einde ++ als dan + richt naar (-90) graden + neem (4) stappen + einde +einde +``` + +\--- /task \--- + +\--- task \--- + +Voeg meer code toe aan de `speler` sprite zodat die ook nog naar beneden en naar rechts kan bewegen. Gebruik de code die je al hebt om je te helpen. + +\--- hints \--- + +\--- hint \--- + +Om omhoog te gaan, richt je de `speler` sprite in de richting `0` graden. Wat zou je moeten doen om de sprite naar beneden te verplaatsen? + +Om naar links te gaan, richt je de speler sprite in de richting `-90` graden. Wat zou je moeten doen om de sprite naar rechts te verplaatsen? + +\--- /hint \--- + +\--- hint \--- + +Je moet deze twee blokken veranderen: + +![speler](images/player.png) + +```blocks3 +< toets ( v) ingedrukt?> + +richt naar () graden +``` + +Dupliceer de code die de `speler` sprite naar boven beweegt en verander deze twee blokken om de sprite omlaag te laten bewegen. Dupliceer de code opnieuw en wijzig deze om de sprite naar rechts te verplaatsen. + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \--- \--- /hints \--- + +![speler](images/player.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal + als dan + richt naar (0) graden + neem (4) stappen + einde + als dan + richt naar (-90) graden + neem (4) stappen + einde + ++ als then + point in direction (180) + move (4) steps + end ++ if dan + richt naar (180) graden + neem (4) stappen + einde +einde +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/nl-NL/step_3.md b/nl-NL/step_3.md new file mode 100644 index 000000000..34d02d259 --- /dev/null +++ b/nl-NL/step_3.md @@ -0,0 +1,48 @@ +## Stevige muren + +\--- task \--- + +\--- task \--- Test je `speler` sprite opnieuw. Zie je dat het door de lichtgrijze muren kan lopen. + +![screenshot](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Om dit te verhelpen, moet je de `speler` sprite zo maken dat deze terug beweegt als het een lichtgrijze muur raakt. Dit is de code die je moet toevoegen in je `herhaal`{:class="block3control"}-blok onder de blokken voor de richting: + +![speler](images/player.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal + als dan + richt naar (0) graden + neem (4) stappen + einde + als dan + richt naar (-90) graden + neem (4) stappen + einde + als dan + richt naar (90) graden + neem (4) stappen + einde ++ als < raak ik kleur [#BABABA]? > dan + neem (-4) stappen + einde +einde +``` + +\--- /task \--- + +\--- task \--- + +Probeer de `speler` sprite door een muur te verplaatsen. Als je nieuwe code werkt, zou dit niet mogelijk moeten zijn. + +![screenshot](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/nl-NL/step_4.md b/nl-NL/step_4.md new file mode 100644 index 000000000..8e890fd1e --- /dev/null +++ b/nl-NL/step_4.md @@ -0,0 +1,141 @@ +## Verplaats je door je wereld + +De `speler` sprite zou door deuren naar andere kamers moeten kunnen lopen. + +Het project bevat achtergronden voor extra kamers: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +Maak een nieuwe variabele 'voor alle sprites' met de naam `kamer`{:class="block3variables"} om bij te houden in welke kamer de `speler` sprite zich bevindt. + +[[[generic-scratch3-add-variable]]] + +![screenshot](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Als de `speler` sprite de oranje deur in de eerste kamer raakt moet de volgende achtergrond worden weergegeven en de `speler` sprite moet teruggaan naar de linkerkant van het speelveld. Voeg deze code toe aan de `speler` sprite's `herhaal`{:class="block3control"} lus: + +![speler](images/player.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal + als dan + richt naar (0) graden + neem (4) stappen + einde + als dan + richt naar (-90) graden + neem (4) stappen + einde + als dan + richt naar (90) graden + neem (4) stappen + einde + als < raak ik kleur [#BABABA]? > dan + neem (-4) stappen + einde ++ als < raak ik kleur [#F2A24A] > dan + verander achtergrond naar (volgende achtergrond v) + ga naar x: (-200) y: (0) + verander [kamer v] met (1) + einde +einde +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Elke keer dat het spel start, moeten de kamer, de positie van het personage en de achtergrond opnieuw ingesteld worden. + +Voeg code toe aan de **start** van je `speler` sprite-code boven de `herhaal`{:class="block3control"} lus, om alles opnieuw in te stellen wanneer op de vlag wordt geklikt: + +\--- hints \--- + +\--- hint \--- + +\--- /hint \--- \--- /hints \--- + ++ De waarde van `kamer`{:class="block3variables"} moet zijn ingesteld op `1`{:class="block3variables"} ++ De `achtergrond`{:class="block3looks"} moet zijn ingesteld op `kamer1`{:class="block3looks"} ++ De positie van de `speler` sprite moet worden ingesteld op `x:-200 y: 0` {:class="block3motion"} \--- /hint \--- \--- hint \--- + +\--- /hint \--- + +\--- hint \--- + +Dit zijn de extra blokken die je nodig hebt: + +![speler](images/player.png) + +```blocks3 +ga naar x: (-200) y: (0) + +maak [kamer v] (1) + +verander achtergrond naar (kamer1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \--- \--- hint \--- Hier zie je hoe je voltooide script er uit moet zien: + +![speler](images/player.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt ++ maak [kamer v] (1) ++ ga naar x: (-200) y: (0) ++ verander achtergrond naar (kamer1 v) +herhaal + als dan + richt naar (0) graden + neem (4) stappen + einde + als dan + richt naar (-90) graden + neem (4) stappen + einde + als dan + richt naar (90) graden + neem (4) stappen + einde + als < raak ik kleur [#BABABA]? > dan + zet (-4) stappen + einde + als < raak ik kleur [#F2A24A] > dan + verander achtergrond naar (volgende achtergrond v) + ga naar x: (-200) y: (0) + verander [kamer v] met (1) + einde +einde +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +\--- task \--- Klik op de vlag en verplaats vervolgens je `speler` sprite totdat het de oranje deur raakt. Gaat de sprite naar het volgende scherm? Verandert de variabele `kamer`{:class="block3variables"} naar `2`? + +![screenshot](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/nl-NL/step_5.md b/nl-NL/step_5.md new file mode 100644 index 000000000..cec12b4f8 --- /dev/null +++ b/nl-NL/step_5.md @@ -0,0 +1,3 @@ +## Uitdaging: ga naar de vorige kamer + +Kun je de `speler` sprite terug naar de vorige kamer laten gaan door een gele deur aan te raken? De code die je hiervoor nodig hebt lijkt erg op de code die je al hebt gemaakt om naar de volgende ruimte te gaan. \ No newline at end of file diff --git a/nl-NL/step_6.md b/nl-NL/step_6.md new file mode 100644 index 000000000..70082144d --- /dev/null +++ b/nl-NL/step_6.md @@ -0,0 +1,108 @@ +## Borden + +Laten we borden aan je wereld toevoegen om de speler op zijn reis te begeleiden. + +Je project bevat een sprite `welkomstbord`: + +![screenshot](images/world-sign.png) + +\--- task \--- + +\--- task \--- De `Welkomstbord` sprite moeten alleen zichtbaar zijn in kamer 1, dus voeg code code aan de sprite toe om ervoor te zorgen dat dit gebeurt: + +\--- hints \--- + +\--- hint \--- + +\--- hints \--- \--- hint \--- `Wanneer op de groene vlag wordt geklikt`{:class="block3events"}, in een `herhaal`{:class="block3control"} lus, controleer `als`{:class="block3control"} de `kamer 1 is`{:class="block3variables"} en activeer in dat geval `verschijn`{:class="block3looks"} van de `welkomstbord` sprite, `anders`{:class="block3control"} `verdwijn`{:class="block3looks"} van de sprite. + +\--- /hint \--- + +\--- hint \--- + +Dit zijn de blokken die je nodig hebt: + +![bord](images/sign.png) + +```blocks3 +
als < > dan +anders +einde + +< (kamer:: variables) = [1] > + +verdwijn + +verschijn + +herhaal +einde + +wanneer groene vlag wordt aangeklikt + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![bord](images/sign.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal + als< (kamer :: variables) = [1] > dan + verschijn + anders + verdwijn + einde +einde +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +\--- task \--- Test de code voor je `welkomstbord` sprite door tussen kamers te bewegen. Het bord mag alleen zichtbaar zijn in kamer 1. + +![screenshot](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Een bord is niet veel waard als het niets zegt! Voeg code toe om een bericht weer te geven als de sprite `welkomstbord` wordt aangeraakt door de sprite `speler`: + +![bord](images/sign.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal + als < (kamer :: variables) = [1] > dan + verschijn + anders + verdwijn + einde ++als < raak ik (speler v)? > dan +zeg [Welkom! Kun je bij de schat komen?] +anders +zeg [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Test je `welkomstbord` sprite opnieuw. Je zou nu een bericht moeten zien wanneer de `speler` sprite de `welkomstbord` sprite raakt. + +![screenshot](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/nl-NL/step_7.md b/nl-NL/step_7.md new file mode 100644 index 000000000..e4cb5a1a3 --- /dev/null +++ b/nl-NL/step_7.md @@ -0,0 +1,7 @@ +## Uitdaging: schat! + +Kun je een schat toevoegen die de speler kan zoeken? + +Zorg ervoor dat de `schatkist` sprite alleen in kamer 3 te zien is en laat het 'Goed gedaan!' zeggen als de `speler` sprite het raakt. + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/nl-NL/step_8.md b/nl-NL/step_8.md new file mode 100644 index 000000000..0120e04e6 --- /dev/null +++ b/nl-NL/step_8.md @@ -0,0 +1,65 @@ +## Personen + +Laten we andere personen aan je wereld toevoegen waarmee de `speler` sprite kan communiceren. + +\--- task \--- + +\--- task \--- Schakel over naar de `persoon` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Voeg wat code toe aan de `persoon` sprite zodat deze spreekt met de `speler` sprite. Deze code zal erg lijken op de code die je aan je `welkomstbord` sprite hebt gegeven: + +![persoon](images/person.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +ga naar x: (0) y: (-150) +herhaal + als < raak ik (speler v)? > dan + zeg [Wist je dat je door de oranje en gele deuren kunt gaan?] + anders + zeg [] + einde +einde +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Sta je `persoon` sprite toe zich te verplaatsen door deze twee blokken in het `anders`{:class="block3control"} gedeelte van je code toe te voegen: + +![persoon](images/person.png) + +```blocks3 +wanneer groene vlag wordt aangeklikt +ga naar x: (0) y: (-150) +herhaal + als dan > dan + zeg [Wist je dat je door de oranje en gele deuren kunt gaan?] + anders + zeg [] ++ neem (1) stappen ++ keer om aan de rand + einde +einde +``` + +\--- /task \--- + +De sprite `persoon` zal nu gaan bewegen maar stopt om te spreken met `speler` sprite. + +![screenshot](images/world-person-test.png) + +\--- task \--- + +\--- task \--- Voeg code toe aan je nieuwe `persoon` sprite zodat de sprite alleen in kamer 1 verschijnt. De code die je nodig hebt, is exact dezelfde als de code waardoor de `welkomstbord` sprite alleen zichtbaar is in kamer 1. + +Zorg ervoor dat je je nieuwe code test. + +\--- /task \--- \ No newline at end of file diff --git a/nl-NL/step_9.md b/nl-NL/step_9.md new file mode 100644 index 000000000..90cafeb4d --- /dev/null +++ b/nl-NL/step_9.md @@ -0,0 +1,39 @@ +## Uitdaging: voeg een vijand toe + +Als je wilt, kun je ook patrouillerende vijanden aan je spel toevoegen. Als de `speler` sprite een vijand raakt, eindigt het spel. + ++ Je spel bevat al een `vijand` sprite. Voeg code toe aan de `vijand` sprite zodat deze alleen in kamer 2 verschijnt. + ++ Voeg code toe om de `vijand` sprite te laten bewegen en om het spel te stoppen als de `vijand` sprite de `speler` sprite raakt. Het is makkelijker om dat in verschillende blokken code te doen. Zo zou de code van de `vijand` sprite eruit kunnen zien: + +```blocks3 +wanneer groene vlag wordt aangeklikt +herhaal +als <(kamer :: variables)=[2]> dan +verschijn +anders +verdwijn + +wanneer groene vlag wordt aangeklikt +herhaal +als < raak ik (speler v)?> dan +stop [alle v] + +wanneer groene vlag wordt aangeklikt +ga naar x : (170) y: (0) +herhaal +herhaal (130) +verander x met (-1) +einde +herhaal (130) +verander x met (1) +``` + ++ Test je nieuwe code om ervoor te zorgen dat: + + De `vijand` sprite alleen zichtbaar is in kamer 2 + + De `vijand` sprite door de kamer patrouilleert + + Het spel eindigt als de `speler` sprite de `vijand` sprite raakt + +Kun je nog een`vijand` sprite in kamer 3 maken die op en neer door het gat in de muur beweegt? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/no-NO/images/banner.png b/no-NO/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/no-NO/images/banner.png differ diff --git a/no-NO/images/cats-finished.png b/no-NO/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/no-NO/images/cats-finished.png differ diff --git a/no-NO/images/coin.png b/no-NO/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/no-NO/images/coin.png differ diff --git a/no-NO/images/door.png b/no-NO/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/no-NO/images/door.png differ diff --git a/no-NO/images/key.png b/no-NO/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/no-NO/images/key.png differ diff --git a/no-NO/images/north-south-rooms.png b/no-NO/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/no-NO/images/north-south-rooms.png differ diff --git a/no-NO/images/number-grid.png b/no-NO/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/no-NO/images/number-grid.png differ diff --git a/no-NO/images/person.png b/no-NO/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/no-NO/images/person.png differ diff --git a/no-NO/images/player.png b/no-NO/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/no-NO/images/player.png differ diff --git a/no-NO/images/showcase.png b/no-NO/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/no-NO/images/showcase.png differ diff --git a/no-NO/images/sign.png b/no-NO/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/no-NO/images/sign.png differ diff --git a/no-NO/images/stage.png b/no-NO/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/no-NO/images/stage.png differ diff --git a/no-NO/images/world-backdrops.png b/no-NO/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/no-NO/images/world-backdrops.png differ diff --git a/no-NO/images/world-bribe.png b/no-NO/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/no-NO/images/world-bribe.png differ diff --git a/no-NO/images/world-door.png b/no-NO/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/no-NO/images/world-door.png differ diff --git a/no-NO/images/world-enemy2.png b/no-NO/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/no-NO/images/world-enemy2.png differ diff --git a/no-NO/images/world-key.png b/no-NO/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/no-NO/images/world-key.png differ diff --git a/no-NO/images/world-person-test.png b/no-NO/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/no-NO/images/world-person-test.png differ diff --git a/no-NO/images/world-room-test.png b/no-NO/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/no-NO/images/world-room-test.png differ diff --git a/no-NO/images/world-room.png b/no-NO/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/no-NO/images/world-room.png differ diff --git a/no-NO/images/world-sign-test.png b/no-NO/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/no-NO/images/world-sign-test.png differ diff --git a/no-NO/images/world-sign-test2.png b/no-NO/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/no-NO/images/world-sign-test2.png differ diff --git a/no-NO/images/world-sign.png b/no-NO/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/no-NO/images/world-sign.png differ diff --git a/no-NO/images/world-starter.png b/no-NO/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/no-NO/images/world-starter.png differ diff --git a/no-NO/images/world-treasure.png b/no-NO/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/no-NO/images/world-treasure.png differ diff --git a/no-NO/images/world-up.png b/no-NO/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/no-NO/images/world-up.png differ diff --git a/no-NO/images/world-walls-test.png b/no-NO/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/no-NO/images/world-walls-test.png differ diff --git a/no-NO/images/world-walls.png b/no-NO/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/no-NO/images/world-walls.png differ diff --git a/no-NO/meta.yml b/no-NO/meta.yml new file mode 100644 index 000000000..dedb71aa4 --- /dev/null +++ b/no-NO/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introduksjon + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/no-NO/resources/CreateYourOwnWorldResources.sb3 b/no-NO/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/no-NO/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/no-NO/resources/chest.svg b/no-NO/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/no-NO/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/no-NO/resources/coin.svg b/no-NO/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/no-NO/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/no-NO/resources/door-blue.png b/no-NO/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/no-NO/resources/door-blue.png differ diff --git a/no-NO/resources/enemy.png b/no-NO/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/no-NO/resources/enemy.png differ diff --git a/no-NO/resources/key.svg b/no-NO/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/no-NO/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/no-NO/resources/person.png b/no-NO/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/no-NO/resources/person.png differ diff --git a/no-NO/resources/player.png b/no-NO/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/no-NO/resources/player.png differ diff --git a/no-NO/resources/room1.png b/no-NO/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/no-NO/resources/room1.png differ diff --git a/no-NO/resources/room2.png b/no-NO/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/no-NO/resources/room2.png differ diff --git a/no-NO/resources/room3.png b/no-NO/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/no-NO/resources/room3.png differ diff --git a/no-NO/resources/sign.svg b/no-NO/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/no-NO/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/no-NO/scratch-translatable.txt b/no-NO/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/no-NO/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/no-NO/solutions/CreateYourOwnWorld.sb3 b/no-NO/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/no-NO/solutions/CreateYourOwnWorld.sb3 differ diff --git a/no-NO/step_1.md b/no-NO/step_1.md new file mode 100644 index 000000000..528a40a72 --- /dev/null +++ b/no-NO/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introduksjon + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Hva du vil lage + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Hva dere trenger + +### Maskinvare + +- En datamaskin som kan kjøre Scratch 3 + +### Programvare + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Nedlastninger + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Hva du vil lære + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Tilleggsinformasjon for lærere + +Hvis du trenger å skrive ut dette prosjektet, bruk den [utskriftsvennlige versjonen](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Du kan finne det [ferdige prosjektet her](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/no-NO/step_10.md b/no-NO/step_10.md new file mode 100644 index 000000000..6173d2536 --- /dev/null +++ b/no-NO/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![skjermbilde](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![skjermbilde](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/no-NO/step_11.md b/no-NO/step_11.md new file mode 100644 index 000000000..e75bc4b33 --- /dev/null +++ b/no-NO/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![skjermbilde](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![skjermbilde](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/no-NO/step_12.md b/no-NO/step_12.md new file mode 100644 index 000000000..3c3393a56 --- /dev/null +++ b/no-NO/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![skjermbilde](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![skjermbilde](images/north-south-rooms.png) + +![skjermbilde](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/no-NO/step_13.md b/no-NO/step_13.md new file mode 100644 index 000000000..1e9d942e5 --- /dev/null +++ b/no-NO/step_13.md @@ -0,0 +1,21 @@ +## Hva nå? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/no-NO/step_2.md b/no-NO/step_2.md new file mode 100644 index 000000000..bc46cadb8 --- /dev/null +++ b/no-NO/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +If you have a Scratch account you can make a copy by clicking **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Hvis du trenger å laste ned og installere Scratch editoren, finner du den på [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![skjermbilde](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![skjermbilde](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/no-NO/step_3.md b/no-NO/step_3.md new file mode 100644 index 000000000..25e163c23 --- /dev/null +++ b/no-NO/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![skjermbilde](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![skjermbilde](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/no-NO/step_4.md b/no-NO/step_4.md new file mode 100644 index 000000000..3b4df683d --- /dev/null +++ b/no-NO/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![skjermbilde](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![skjermbilde](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![skjermbilde](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/no-NO/step_5.md b/no-NO/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/no-NO/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/no-NO/step_6.md b/no-NO/step_6.md new file mode 100644 index 000000000..eb2b3ed9e --- /dev/null +++ b/no-NO/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![skjermbilde](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![skjermbilde](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![skjermbilde](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/no-NO/step_7.md b/no-NO/step_7.md new file mode 100644 index 000000000..1134daa86 --- /dev/null +++ b/no-NO/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![skjermbilde](images/world-treasure.png) \ No newline at end of file diff --git a/no-NO/step_8.md b/no-NO/step_8.md new file mode 100644 index 000000000..50d1c6795 --- /dev/null +++ b/no-NO/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![skjermbilde](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/no-NO/step_9.md b/no-NO/step_9.md new file mode 100644 index 000000000..160b000f7 --- /dev/null +++ b/no-NO/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![skjermbilde](images/world-enemy2.png) \ No newline at end of file diff --git a/pl-PL/images/banner.png b/pl-PL/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/pl-PL/images/banner.png differ diff --git a/pl-PL/images/cats-finished.png b/pl-PL/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/pl-PL/images/cats-finished.png differ diff --git a/pl-PL/images/coin.png b/pl-PL/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/pl-PL/images/coin.png differ diff --git a/pl-PL/images/coin.svg b/pl-PL/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/pl-PL/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pl-PL/images/create-variable.png b/pl-PL/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/pl-PL/images/create-variable.png differ diff --git a/pl-PL/images/create-your-own-world.png b/pl-PL/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/pl-PL/images/create-your-own-world.png differ diff --git a/pl-PL/images/door.png b/pl-PL/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/pl-PL/images/door.png differ diff --git a/pl-PL/images/enemy.png b/pl-PL/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/pl-PL/images/enemy.png differ diff --git a/pl-PL/images/finished-move-down-right.png b/pl-PL/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/pl-PL/images/finished-move-down-right.png differ diff --git a/pl-PL/images/key.png b/pl-PL/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/pl-PL/images/key.png differ diff --git a/pl-PL/images/key.svg b/pl-PL/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/pl-PL/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pl-PL/images/north-south-rooms.png b/pl-PL/images/north-south-rooms.png new file mode 100644 index 000000000..ba0253054 Binary files /dev/null and b/pl-PL/images/north-south-rooms.png differ diff --git a/pl-PL/images/number-grid.png b/pl-PL/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/pl-PL/images/number-grid.png differ diff --git a/pl-PL/images/person-sprite.png b/pl-PL/images/person-sprite.png new file mode 100644 index 000000000..8936b2e71 Binary files /dev/null and b/pl-PL/images/person-sprite.png differ diff --git a/pl-PL/images/person.png b/pl-PL/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/pl-PL/images/person.png differ diff --git a/pl-PL/images/player.png b/pl-PL/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/pl-PL/images/player.png differ diff --git a/pl-PL/images/showcase.png b/pl-PL/images/showcase.png new file mode 100644 index 000000000..24998e11d Binary files /dev/null and b/pl-PL/images/showcase.png differ diff --git a/pl-PL/images/sign.png b/pl-PL/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/pl-PL/images/sign.png differ diff --git a/pl-PL/images/sign.svg b/pl-PL/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/pl-PL/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pl-PL/images/stage.png b/pl-PL/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/pl-PL/images/stage.png differ diff --git a/pl-PL/images/variable-show.png b/pl-PL/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/pl-PL/images/variable-show.png differ diff --git a/pl-PL/images/world-backdrops.png b/pl-PL/images/world-backdrops.png new file mode 100644 index 000000000..9dd6b1b8c Binary files /dev/null and b/pl-PL/images/world-backdrops.png differ diff --git a/pl-PL/images/world-bribe.png b/pl-PL/images/world-bribe.png new file mode 100644 index 000000000..7982678e3 Binary files /dev/null and b/pl-PL/images/world-bribe.png differ diff --git a/pl-PL/images/world-coins.png b/pl-PL/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/pl-PL/images/world-coins.png differ diff --git a/pl-PL/images/world-door.png b/pl-PL/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/pl-PL/images/world-door.png differ diff --git a/pl-PL/images/world-enemy-code.png b/pl-PL/images/world-enemy-code.png new file mode 100644 index 000000000..ce74f2c17 Binary files /dev/null and b/pl-PL/images/world-enemy-code.png differ diff --git a/pl-PL/images/world-enemy2.png b/pl-PL/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/pl-PL/images/world-enemy2.png differ diff --git a/pl-PL/images/world-final.png b/pl-PL/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/pl-PL/images/world-final.png differ diff --git a/pl-PL/images/world-key.png b/pl-PL/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/pl-PL/images/world-key.png differ diff --git a/pl-PL/images/world-north-south.png b/pl-PL/images/world-north-south.png new file mode 100644 index 000000000..972ef30d6 Binary files /dev/null and b/pl-PL/images/world-north-south.png differ diff --git a/pl-PL/images/world-person-test.png b/pl-PL/images/world-person-test.png new file mode 100644 index 000000000..f4fff9263 Binary files /dev/null and b/pl-PL/images/world-person-test.png differ diff --git a/pl-PL/images/world-person.png b/pl-PL/images/world-person.png new file mode 100644 index 000000000..d10b2feba Binary files /dev/null and b/pl-PL/images/world-person.png differ diff --git a/pl-PL/images/world-player.png b/pl-PL/images/world-player.png new file mode 100644 index 000000000..96fc9768f Binary files /dev/null and b/pl-PL/images/world-player.png differ diff --git a/pl-PL/images/world-resources.png b/pl-PL/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/pl-PL/images/world-resources.png differ diff --git a/pl-PL/images/world-room-test.png b/pl-PL/images/world-room-test.png new file mode 100644 index 000000000..852c105de Binary files /dev/null and b/pl-PL/images/world-room-test.png differ diff --git a/pl-PL/images/world-room.png b/pl-PL/images/world-room.png new file mode 100644 index 000000000..1b247ff45 Binary files /dev/null and b/pl-PL/images/world-room.png differ diff --git a/pl-PL/images/world-sign-test-left.png b/pl-PL/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/pl-PL/images/world-sign-test-left.png differ diff --git a/pl-PL/images/world-sign-test-right.png b/pl-PL/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/pl-PL/images/world-sign-test-right.png differ diff --git a/pl-PL/images/world-sign-test.png b/pl-PL/images/world-sign-test.png new file mode 100644 index 000000000..217b1185a Binary files /dev/null and b/pl-PL/images/world-sign-test.png differ diff --git a/pl-PL/images/world-sign-test2.png b/pl-PL/images/world-sign-test2.png new file mode 100644 index 000000000..4f1ab9451 Binary files /dev/null and b/pl-PL/images/world-sign-test2.png differ diff --git a/pl-PL/images/world-sign.png b/pl-PL/images/world-sign.png new file mode 100644 index 000000000..ced953738 Binary files /dev/null and b/pl-PL/images/world-sign.png differ diff --git a/pl-PL/images/world-starter.png b/pl-PL/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/pl-PL/images/world-starter.png differ diff --git a/pl-PL/images/world-treasure.png b/pl-PL/images/world-treasure.png new file mode 100644 index 000000000..97f91b328 Binary files /dev/null and b/pl-PL/images/world-treasure.png differ diff --git a/pl-PL/images/world-up.png b/pl-PL/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/pl-PL/images/world-up.png differ diff --git a/pl-PL/images/world-walls-test.png b/pl-PL/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/pl-PL/images/world-walls-test.png differ diff --git a/pl-PL/images/world-walls.png b/pl-PL/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/pl-PL/images/world-walls.png differ diff --git a/pl-PL/meta.yml b/pl-PL/meta.yml new file mode 100644 index 000000000..c6afc7a27 --- /dev/null +++ b/pl-PL/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/create-your-own-world.png +title: Stwórz swój własny świat +description: Dowiesz się, jak stworzyć swoją własną grę przygodową +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Wprowadzenie + - + title: Przesuń duszka gracza + - + title: Solidne ściany + completion: + - engaged + - + title: Poruszaj się po swoim świecie + - + title: 'Wyzwanie: wróć do poprzedniego pokoju' + challenge: true + - + title: Znaki + - + title: 'Wyzwanie: skarb!' + challenge: true + - + title: Osoby + - + title: 'Wyzwanie: wrogowie' + challenge: true + - + title: Zbieraj monety + - + title: Drzwi i klucze + completion: + - internal + - + title: 'Wyzwanie: rozwiń swój świat' + challenge: true + completion: + - external diff --git a/pl-PL/resources/CreateYourOwnWorld.sb2 b/pl-PL/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..652a2c29d Binary files /dev/null and b/pl-PL/resources/CreateYourOwnWorld.sb2 differ diff --git a/pl-PL/resources/CreateYourOwnWorldResources.sb2 b/pl-PL/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8dc46d7be Binary files /dev/null and b/pl-PL/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/pl-PL/resources/CreateYourOwnWorldResources.sb3 b/pl-PL/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/pl-PL/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/pl-PL/resources/chest.svg b/pl-PL/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/pl-PL/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pl-PL/resources/coin.svg b/pl-PL/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/pl-PL/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pl-PL/resources/door-blue.png b/pl-PL/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/pl-PL/resources/door-blue.png differ diff --git a/pl-PL/resources/enemy.png b/pl-PL/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/pl-PL/resources/enemy.png differ diff --git a/pl-PL/resources/key.svg b/pl-PL/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/pl-PL/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/pl-PL/resources/person.png b/pl-PL/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/pl-PL/resources/person.png differ diff --git a/pl-PL/resources/player.png b/pl-PL/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/pl-PL/resources/player.png differ diff --git a/pl-PL/resources/room1.png b/pl-PL/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/pl-PL/resources/room1.png differ diff --git a/pl-PL/resources/room2.png b/pl-PL/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/pl-PL/resources/room2.png differ diff --git a/pl-PL/resources/room3.png b/pl-PL/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/pl-PL/resources/room3.png differ diff --git a/pl-PL/resources/sign.svg b/pl-PL/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/pl-PL/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pl-PL/scratch-translatable.txt b/pl-PL/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/pl-PL/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/pl-PL/solutions/CreateYourOwnWorld.sb3 b/pl-PL/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..31fc344f4 Binary files /dev/null and b/pl-PL/solutions/CreateYourOwnWorld.sb3 differ diff --git a/pl-PL/step_1.md b/pl-PL/step_1.md new file mode 100644 index 000000000..d74acd96a --- /dev/null +++ b/pl-PL/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +To jest wersja projektu korzystająca z **Scratch 3**. Istnieje również [wersja tego projektu dla Scratch 2](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Wprowadzenie + +W tym projekcie nauczysz się, jak stworzyć własny świat gry przygodowej z wieloma poziomami do odkrycia. + +### Co zrobisz + +\--- no-print \--- + +Kliknij zieloną flagę, aby rozpocząć. Użyj klawiszy strzałek, aby poruszać się swoją postacią w świecie gry. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Aby Twoja postać poruszała w świecie gry, użyj klawiszy strzałek. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Czego będziesz potrzebować + +### Sprzęt + +- Komputer, na którym można uruchomić Scratch 3 + +### Oprogramowanie + +- Scratch 3 ([online](https://rpf.io/scratchon){:target="_blank"} lub [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Pliki do pobrania + +Wszystko, czego potrzebujesz, aby ukończyć ten projekt, znajdziesz tu: [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Czego się nauczysz + +- Używania instrukcji warunkowych, aby reagować na naciśnięcia przycisków +- Używania zmiennych do przechowywania stanu gry +- Używania instrukcji warunkowych w oparciu o wartości zmiennej +- Używania list do przechowywania danych + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Dodatkowe informacje dla nauczycieli + +Jeśli chcesz wydrukować ten projekt, użyj [wersji do druku](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Tutaj znajdziesz [ukończony projekt](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/pl-PL/step_10.md b/pl-PL/step_10.md new file mode 100644 index 000000000..ed570c6f7 --- /dev/null +++ b/pl-PL/step_10.md @@ -0,0 +1,71 @@ +## Zbieranie monet + +Twój duszek `gracz` powinien móc zbierać monety, gdy porusza się po świecie. + +\--- task \--- + +\--- task \--- Dodaj nową zmienną `monety`{:class="block3variables"} do swojego projektu. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Wybierz duszka `moneta` i kliknij **pokaż**. + +![zrzut ekranu](images/coin.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Dodaj kod do swojego duszka `moneta`, aby pojawiał się tylko w pokoju 1. + +![zrzut ekranu](images/coin.png) + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze +jeżeli <(pokój :: zmienne) =[1]> to +pokaż +w przeciwnym razie +ukryj +``` + +\--- /task \--- + +\--- task \--- + +Dodaj kod do Twojego duszka `moneta`, aby ten duszek wykoywał polecenie `ukryj`{:class="block3looks"} i do zmiennej `monety`{:class="block3variables"} dodane zostało `1`{:class="block3variables"}, gdy duszek `gracz` dotknie duszka `moneta`, aby ją "podnieść". + +![moneta](images/coin.png) + +```blocks3 +kiedy kliknięto zieloną flagę +czekaj aż < dotyka [gracz v]?> +zmień [monety v] o (1) +ukryj +zatrzymaj [inne skrypty duszka v] +``` + +Kod `zatrzymaj inne skrypty duszka`{:class="block3control"} jest potrzebny, aby duszek `moneta` przestał być wyświetlany w pokoju 1 po jego zebraniu. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teraz dodaj kod do sceny, aby Twoja zmienna `monety`{:class="block3variables"} została ustawiona na `0`{:class="block3variables"} na początku gry. + +![scena](images/stage.png) + +```blocks3 +kiedy kliknięto zieloną flagę +ustaw [monety v] na [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Zebranie monety powinno zmienić wartość zmiennej `monety` na `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/pl-PL/step_11.md b/pl-PL/step_11.md new file mode 100644 index 000000000..7e708110b --- /dev/null +++ b/pl-PL/step_11.md @@ -0,0 +1,104 @@ +## Drzwi i klucze + +Teraz dodasz kod, aby niektóre drzwi w twoim świecie gry były zamknięte, a gracz musi znaleźć klucz, aby je otworzyć i przejść do następnego pokoju. + +\--- task \--- + +Przełącz się na duszka `klucz`. Kliknij na `pokaż`{:class="block3looks"} w menu Skrypty, aby duszek pojawił się na scenie. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Zmień kostium duszka `klucz` tak, żeby był niebieski. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Przełącz tło sceny na pokój3 i umieść duszka `klucz`, gdzieś gdzie trudno będzie do niego dotrzeć! + +![zrzut ekranu](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Dodaj kod do duszka `klucz`, aby pojawiał się tylko w pokoju 3. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Utwórz nową listę o nazwie `inwentarz`{:class="block3variables"} do przechowywania przedmiotów, które Twój duszek `gracz` zbiera. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +\--- task \--- Kod, który musisz dodać do zebrania klucza, jest bardzo podobny do kodu do zbierania monet. Różnica polega na tym, że dodajesz klucz do `inwentarza`{:class="block3variables"}. + +![klucz](images/key.png) + +```blocks3 +kiedy kliknięto zieloną flagę +czekaj aż < dotyka [gracz v]?> +dodaj [niebieski klucz] do [inwentarz v] +ukryj +zatrzymaj [inne skrypty duszka v] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Dodaj kod do Twojej sceny, aby opróżnić inwentarz na początku gry. + +```blocks3 +usuń (wszystko v) z [inwentarz v] +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Przetestuj swoją grę, aby sprawdzić, czy możesz zebrać duszka `klucz` i dodać go do swojego inwentarza. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Teraz dodaj zamknięte drzwi. Wybierz duszka `niebieskie drzwi` i kliknij `pokaż`{:class="block3looks} w menu Skrypty, a następnie umieść duszka w szczelinie między dwiema ścianami. + +![zrzut ekranu](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Dodaj kod do duszka `niebieskie drzwi`, aby był widoczny tylko w pokoju 3. + +\--- /task \--- + +\--- task \--- + +\--- task \--- Dodaj kod do duszka `niebieskie drzwi` tak, że gdy klucz znajduje się w `inwentarzu`{:class="block3variables"}, duszek wykonuje polecenie `ukryj`{:class="block3looks"}, aby pozwolić Twojemu duszkowi `gracz` przejść. + +![drzwi](images/door.png) + +```blocks3 +kiedy kliknięto zieloną flagę +czekaj aż <[inwentarz v] zawiera [niebieski klucz]?> +zatrzymaj [inne skrypty duszka v] +ukryj +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Sprawdź swoją grę i zobacz, czy możesz zabrać niebieski klucz, aby otworzyć drzwi! + +\--- /task \--- \ No newline at end of file diff --git a/pl-PL/step_12.md b/pl-PL/step_12.md new file mode 100644 index 000000000..1c71a8a70 --- /dev/null +++ b/pl-PL/step_12.md @@ -0,0 +1,28 @@ +## Wyzwanie: rozwiń swój świat + +Możesz teraz kontynuować tworzenie własnego świata! Oto kilka pomysłów: + ++ Dodaj więcej monet do gry w różnych pokojach. Może część z nich będzie strzeżona przez patrol wrogów? ++ Zmień tła swojej gry ++ Dodaj dźwięk i muzykę do swojej gry ++ Dodaj więcej osób, wrogów i znaków ++ Dodaj czerwone i żółte drzwi oraz specjalne klucze, aby je otworzyć ++ Dodaj więcej pokoi do swojego projektu ++ Dodaj inne przydatne przedmioty do swojej gry + + + Użyj monet, aby uzyskać informacje od innych postaci: + +![zrzut ekranu](images/world-bribe.png) + ++ Możesz nawet dodać drzwi w północnej i południowej ścianie pokoju 1, aby gracz mógł poruszać się między pokojami we wszystkich czterech kierunkach. Na przykład Twoja gra może mieć dziewięć pomieszczeń w siatce 3 × 3. Następnie możesz dodać `3` do numeru pokoju, aby przejść o jeden poziom niżej. + +![zrzut ekranu](images/north-south-rooms.png) + +![zrzut ekranu](images/number-grid.png) + +```blocks3 +jeśli < dotyka koloru []?> to +zmień tło na ((kostium [liczba v]) + (3)) +idź do x: (0) y: (200) +zmień [pokój v] o (3) +``` \ No newline at end of file diff --git a/pl-PL/step_13.md b/pl-PL/step_13.md new file mode 100644 index 000000000..d0a1d1831 --- /dev/null +++ b/pl-PL/step_13.md @@ -0,0 +1,21 @@ +## Co dalej? + +Spróbuj stworzyć kolejną grę w projekcie [KOTY!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +\--- no-print \--- Kliknij i przeciągnij myszą, aby narysować linię ołówkiem. Twoim celem jest uratowanie kotów przed wpadnięciem do dziur poprzez stworzenie bezpiecznej ścieżki do wyjścia. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +Jeśli chcesz stworzyć grę używając języka Python zamiast Scratch, wypróbuj projekt [RPG](https://projects.raspberrypi.org/pl-PL/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/pl-PL/step_2.md b/pl-PL/step_2.md new file mode 100644 index 000000000..542115ada --- /dev/null +++ b/pl-PL/step_2.md @@ -0,0 +1,132 @@ +## Przesunięcie duszka gracza + +Zacznij od utworzenia duszka `gracz`, który będzie mógł poruszać się po świecie gry. + +\--- task \--- + +Otwórz projekt startowy "Utwórz swój własny świat". + +**Online**: otwórz projekt startowy online pod adresem [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Jeśli masz konto Scratch, możesz wykonać kopię klikając **Remiks**. + +**Offline:** pobierz projekt startowy z [rpf.io/p/pl-PL/create-your-own-world-go](https://rpf.io/p/pl-PL/create-your-own-world-go), i otwórz w programie Scratch Desktop. Jeśli chcesz pobrać i zainstalować edytor Scratch, znajdziesz go na stronie [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![zrzut ekranu](images/world-starter.png) + +\--- /task \--- + +Naciskanie klawiszy strzałek powinno przesuwać duszka `gracz` wokół sceny. Po naciśnięciu strzałki w górę duszek `gracz` powinien przesunąć się w górę sceny. + +\--- task \--- + +Dodaj poniższy kod do duszka `gracz`: + +![gracz](images/player.png) + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze + jeżeli to + ustaw kierunek na (0) + przesuń o (4) kroki + koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +Kliknij flagę, a następnie przytrzymaj strzałkę w górę. Czy duszek `gracz` przesuwa się w górę? + +![zrzut ekranu](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Aby poruszyć duszka `gracz` w lewo, musisz dodać do niego kolejny blok `jeżeli`{:class="block3control"} z kodem podobnym do tego: + +![gracz](images/player.png) + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze + jeżeli to + ustaw kierunek na (0) + przesuń o (4) kroki + koniec ++ jeżeli to + ustaw kierunek na (-90) + przesuń o (4) kroki + koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +Dodaj więcej kodu do swojego duszka `gracz` tak, aby mógł poruszać się również w dół i w prawo. Użyj kodu, który już masz, aby sobie pomóc. + +\--- hints \--- + +\--- hint \--- + +Aby poruszać się w górę, ustaw kierunek duszka `gracz` na `0` stopni. Co należałoby zrobić, aby ruszyć duszkiem w dół? + +Aby poruszać się w lewo, ustaw kierunek duszka na `90` stopni. Co należałoby zrobić, aby ruszyć duszkiem w prawo? + +\--- /hint \--- + +\--- hint \--- + +Musisz zmienić te dwa bloki: + +![gracz](images/player.png) + +```blocks3 +< klawisz ( v) naciśnięty?> + +ustaw kierunek na () +``` + +Zduplikuj kod, który sprawia, że duszek `gracz` przesuwa się w górę i zmień te dwa bloki, aby duszek poruszał się w dół. Ponownie zduplikuj kod i zmień go, aby duszek przesunął się w prawo. + +\--- /hint \--- + +\--- hint \--- + +\--- /hint \--- \--- /hints \--- + +![gracz](images/player.png) + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze + jeżeli to + ustaw kierunek na (0) + przesuń o (4) kroki + koniec + jeżeli to + ustaw kierunek na (-90) + przesuń o (4) kroki + koniec + ++ jeżeli then + point in direction (180) + move (4) steps + end ++ if to + ustaw kierunek na (90) + przesuń o (4) kroki + koniec +koniec +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/pl-PL/step_3.md b/pl-PL/step_3.md new file mode 100644 index 000000000..ca759b0c1 --- /dev/null +++ b/pl-PL/step_3.md @@ -0,0 +1,48 @@ +## Solidne ściany + +\--- task \--- + +\--- task \--- Ponownie sprawdź swojego duszka `gracz`. Czy widzisz, że może przejść przez jasnoszare ściany? + +![zrzut ekranu](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Aby to naprawić, musisz sprawić, aby duszek `gracz` cofnął się, jeśli dotknie jasnoszarej ściany. Oto kod, który musisz dodać wewnątrz swojego bloku `zawsze`{:class="block3control"} poniżej bloków kierunku: + +![gracz](images/player.png) + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze + jeżeli to + ustaw kierunek na (0) + przesuń o (4) kroki + koniec + jeżeli to + ustaw kierunek na (-90) + przesuń o (4) kroki + koniec + jeżeli to + ustaw kierunek na (90) + przesuń o (4) kroki + koniec ++ jeżeli < dotyka koloru [#BABABA]? > to + przesuń o (-4) kroków + koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +Spróbuj przejść duszkiem `gracz` przez ścianę. Jeśli Twój nowy kod działa, nie powinno to być możliwe. + +![zrzut ekranu](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/pl-PL/step_4.md b/pl-PL/step_4.md new file mode 100644 index 000000000..9fd92d4d7 --- /dev/null +++ b/pl-PL/step_4.md @@ -0,0 +1,141 @@ +## Poruszaj się po swoim świecie + +Duszek `gracz` powinien móc przejść przez drzwi do innych pomieszczeń. + +Twój projekt zawiera tła dla dodatkowych pokoi: + +![zrzut ekranu](images/world-backdrops.png) + +\--- task \--- + +Utwórz nową zmienną 'dla wszystkich duszków' o nazwie `pokój`{:class="block3variables"}, aby śledzić w którym pomieszczeniu znajduje się duszek `gracz`. + +[[[generic-scratch3-add-variable]]] + +![zrzut ekranu](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Kiedy duszek `gracz` dotknie pomarańczowych drzwi w pierwszym pomieszczeniu, kolejne tło powinno być wyświetlone, a duszek `gracz` powinien wrócić na lewą stronę sceny. Dodaj ten kod dla duszka `gracz` wewnątrz pętli `zawsze`{:class="block3control"}: + +![gracz](images/player.png) + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze + jeżeli to + ustaw kierunek na (0) + przesuń o (4) kroki + koniec + jeżeli to + ustaw kierunek na (-90) + przesuń o (4) kroki + koniec + jeżeli to + ustaw kierunek na (90) + przesuń o (4) kroki + koniec + jeżeli < dotyka koloru [#BABABA]? > to + przesuń o (-4) kroki + koniec ++ jeżeli < dotyka koloru [#F2A24A] > to + przełącz tło na (następne tło v) + idź do x: (-200) y: (0) + zmień [pokój v] o (1) + koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Za każdym razem, gdy gra się rozpoczyna pokój, pozycja postaci i tło muszą być resetowane. + +\--- /hint \--- \--- hint \--- Oto, jak powinien wyglądać ukończony skrypt: + +\--- hints \--- + +\--- hint \--- + +\--- hints \--- \--- hint \--- Kiedy gra się rozpoczyna: + ++ Wartość zmiennej `pokój`{:class="block3variables"} powinna być ustawiona na `1`{:class="block3variables"} ++ `Tło`{:class="block3looks"} powinno być ustawione na `pokój1`{:class="block3looks"} ++ Pozycja duszka `gracz` powinna być ustawiona na `x: -200 y: 0`{:class="block3motion"} \--- /hint \--- \--- hint \--- Tutaj są dodatkowe bloki, których potrzebujesz: + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![gracz](images/player.png) + +```blocks3 +idź do x: (-200) y: (0) + +ustaw [pokój v] na (1) + +przełącz tło na (pokój1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![gracz](images/player.png) + +```blocks3 +kiedy kliknięto zieloną flagę ++ustaw [pokój v] na (1) ++Idź do x: (-200) y: (0) ++zmień tło na (pokój1 v) +zawsze + jeżeli to + ustaw kierunek na (0) + przesuń o (4) kroki + koniec + jeżeli to + ustaw kierunek na (-90) + przesuń o (4) kroki + koniec + jeżeli to + ustaw kierunek na (90) + przesuń o (4) kroki + koniec + jeżeli < dotyka koloru [#BABABA]? > to + przesuń o (-4) kroki + koniec + jeżeli < dotyka koloru [#F2A24A] > to + przełącz tło na (następne tło v) + idź do x: (-200) y: (0) + zmień [pokój v] o (1) + koniec +koniec +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +\--- task \--- Kliknij flagę, a następnie idź swoim duszkiem `gracz`, aż dotknie pomarańczowych drzwi. Czy duszek przechodzi do następnego ekranu? Czy zmienna `pokój`{:class="block3variables"} zmienia się na `2`? + +![zrzut ekranu](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/pl-PL/step_5.md b/pl-PL/step_5.md new file mode 100644 index 000000000..100e55c72 --- /dev/null +++ b/pl-PL/step_5.md @@ -0,0 +1,3 @@ +## Wyzwanie: wróć do poprzedniego pokoju + +Czy potrafisz sprawić, żeby twój duszek `gracz` wrócił do poprzedniego pokoju, kiedy dotyka żółtych drzwi? Kod potrzebny do tego jest bardzo podobny do kodu, który umożliwia przejście do następnego pokoju. \ No newline at end of file diff --git a/pl-PL/step_6.md b/pl-PL/step_6.md new file mode 100644 index 000000000..b658e7dce --- /dev/null +++ b/pl-PL/step_6.md @@ -0,0 +1,108 @@ +## Znaki + +Teraz dodaj znaki do swojego świata, aby poprowadzić graczy w ich podróży. + +Twój projekt zawiera duszka `znak powitalny`: + +![zrzut ekranu](images/world-sign.png) + +\--- task \--- + +\--- task \--- Duszek `Znak powitalny` powinien być widoczny tylko w pokoju 1, więc dodaj trochę kodu do duszka, aby upewnić się, że tak się stanie: + +\--- hints \--- + +\--- hint \--- + +\--- hints \--- \--- hint \--- `kiedy kliknięto zieloną flagę`{:class="block3events"}, w pętli `zawsze`{:class="block3control"}, sprawdź `jeżeli`{:class="block3control"} `pokój to 1`{:class="block3variables"} to wtedy `pokaż`{:class="block3looks"} duszka `znak powitalny`, `w przeciwnym razie`{:class="block3control"} `ukryj`{:class="block3looks"} tego duszka. + +\--- /hint \--- + +\--- hint \--- + +Oto bloki, których potrzebujesz: + +![znak](images/sign.png) + +```blocks3 +
jeżelili < > to +w przeciwnym razie +koniec + +< (pokój :: zmienne) = [1] > + +ukryj + +pokaż + +zawsze +koniec + +kiedy kliknięto zieloną flagę + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![znak](images/sign.png) + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze + jeżeli < (pokój :: zmienne) = [1] > to + pokaż + w przeciwnym razie + ukryj + koniec +koniec +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +\--- task \--- Przetestuj kod dla swojego duszka `znak powitalny`, przechodząc między pokojami. Znak powinien być widoczny tylko w pokoju 1. + +![zrzut ekranu](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Znak nie jest zbytnio przydatny, jeśli nic nie mówi! Dodaj więcej kodu, aby wyświetlić wiadomość, jeśli duszek `znak powitalny` dotyka duszka `gracz`: + +![znak](images/sign.png) + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze +jeżli < (pokój :: zmienne) = [1] > to +pokaż +w przeciwnym razie +ukryj +koniec ++ jeżeli < dotyka (gracz v)? > to +powiedz [Witamy! Czy uda Ci się dotrzeć do skarbu?] +w przeciwnym razie +powiedz [] +koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Ponownie przetestuj swojego duszka `znak powitalny`. Teraz powinien pojawić się komunikat, gdy duszek `gracz` dotyka duszka `znak powitalny`. + +![zrzut ekranu](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/pl-PL/step_7.md b/pl-PL/step_7.md new file mode 100644 index 000000000..b307ae09f --- /dev/null +++ b/pl-PL/step_7.md @@ -0,0 +1,7 @@ +## Wyzwanie: skarb! + +Czy możesz dodać jakiś skarb do odnalezienia dla gracza? + +Spraw, aby duszek `skrzynia` pojawił się tylko w pokoju 3 i żeby ten duszek powiedział „Dobra robota!” kiedy dotknie go duszek `gracz`. + +![zrzut ekranu](images/world-treasure.png) \ No newline at end of file diff --git a/pl-PL/step_8.md b/pl-PL/step_8.md new file mode 100644 index 000000000..32065310b --- /dev/null +++ b/pl-PL/step_8.md @@ -0,0 +1,65 @@ +## Postacie + +Dodaj do swojego świata inne osoby, z którymi twój duszek `gracz` może wchodzić w interakcje. + +\--- task \--- + +Przełącz się na duszka `postać`. + +![osoba](images/person.png) + +\--- /task \--- + +\--- task \--- + +\--- task \--- Dodaj trochę kodu do duszka `osoba`, aby ta osoba rozmawiała z duszkiem `gracz`. Ten kod jest bardzo podobny do kodu dodanego do duszka `znak powitalny`: + +![osoba](images/person.png) + +```blocks3 +kiedy kliknięto zieloną flagę + idź do x: (0) y: (-150) + zawsze + jeżeli < dotyka (gracz v)? > to + powiedz [Czy wiesz, że możesz przechodzić przez pomarańczowe i żółte drzwi?] + w przeciwnym razie + powiedz [] + koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +\--- task \--- Pozwól swojemu duszkowi `osoby` poruszać się, przez dodanie tych dwóch bloków w sekcji kodu `w przeciwnym razie`{:class="block3control"}: + +![Duszek osoby](images/person.png) + +```blocks3 +kiedy kliknięto zieloną flagę + idź do x: (0) y: (-150) + zawsze + jeżeli < dotyka (gracz v)? > to + powiedz [Czy wiesz, że możesz przechodzić przez pomarańczowe i żółte drzwi?] + w przeciwnym razie + powiedz [] ++ przesuń o (1) kroki ++ jeżeli na krawędzi, odbij się + koniec +koniec +``` + +\--- /task \--- + +Twój duszek `osoba` będzie się teraz poruszać, ale zatrzyma się aby porozmawiać z duszkiem `gracz`. + +![zrzut ekranu](images/world-person-test.png) + +\--- task \--- + +\--- task \--- Dodaj kod do nowego duszka `osoba` tak, aby ten duszek pojawił się tylko w pokoju 1. Kod, którego potrzebujesz, jest dokładnie taki sam jak kod, który sprawia, że duszek `znak powitalny` widoczny tylko w pokoju 1. + +Pamiętaj o przetestowaniu swojego nowego kodu. + +\--- /task \--- \ No newline at end of file diff --git a/pl-PL/step_9.md b/pl-PL/step_9.md new file mode 100644 index 000000000..37fd33e0f --- /dev/null +++ b/pl-PL/step_9.md @@ -0,0 +1,39 @@ +## Wyzwanie: dodaj wroga + +Jeśli chcesz, możesz również dodać patrolujących wrogów do swojej gry. Jeżeli duszek `gracz` dotknie wroga, gra się kończy. + ++ Gra zawiera już duszka `wróg`. Dodaj kod do duszka `wróg`, tak aby pojawił się tylko w pokoju 2. + ++ Dodaj kod poruszający duszkiem `wróg` oraz kończący grę, jeżeli duszek `wróg` dotknie duszka `gracz`. Łatwiej to zrobić w oddzielnych blokach kodu. Oto jak kod Twojego duszka `wróg` może wyglądać: + +```blocks3 +kiedy kliknięto zieloną flagę +zawsze +jeżeli <(pokój :: zmienne) =[2]> to +pokaż +w przeciwnym razie +ukryj + +kiedy kliknięto zieloną flagę +zawsze +jeżeli < dotyka (gracz v)?> to +zatrzymaj [wszystko v] + +kiedy kliknięto zieloną flagę +idź do x: ( 170) y: (0) +zawsze +powtarzaj (130) +zmień x o (-1) +koniec +powtarzaj (130) +zmień x o (1) +``` + ++ Przetestuj swój nowy kod, aby się upewnić, że: + + Duszek `wróg` jest widoczny tylko w pokoju 2 + + Duszek `wróg` patroluje pokój + + Gra kończy się, jeśli duszek `gracz` dotyka duszka `wróg` + +Czy potrafisz stworzyć kolejnego duszka `wróg` w pokoju 3, który patroluje chodząc w górę i w dół w luce w ścianie? + +![zrzut ekranu](images/world-enemy2.png) \ No newline at end of file diff --git a/pt-BR/images/banner.png b/pt-BR/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/pt-BR/images/banner.png differ diff --git a/pt-BR/images/cats-finished.png b/pt-BR/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/pt-BR/images/cats-finished.png differ diff --git a/pt-BR/images/coin.png b/pt-BR/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/pt-BR/images/coin.png differ diff --git a/pt-BR/images/coin.svg b/pt-BR/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/pt-BR/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt-BR/images/create-variable.png b/pt-BR/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/pt-BR/images/create-variable.png differ diff --git a/pt-BR/images/create-your-own-world.png b/pt-BR/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/pt-BR/images/create-your-own-world.png differ diff --git a/pt-BR/images/door.png b/pt-BR/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/pt-BR/images/door.png differ diff --git a/pt-BR/images/enemy.png b/pt-BR/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/pt-BR/images/enemy.png differ diff --git a/pt-BR/images/finished-move-down-right.png b/pt-BR/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/pt-BR/images/finished-move-down-right.png differ diff --git a/pt-BR/images/key.png b/pt-BR/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/pt-BR/images/key.png differ diff --git a/pt-BR/images/key.svg b/pt-BR/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/pt-BR/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pt-BR/images/north-south-rooms.png b/pt-BR/images/north-south-rooms.png new file mode 100644 index 000000000..28bb324cd Binary files /dev/null and b/pt-BR/images/north-south-rooms.png differ diff --git a/pt-BR/images/number-grid.png b/pt-BR/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/pt-BR/images/number-grid.png differ diff --git a/pt-BR/images/person-sprite.png b/pt-BR/images/person-sprite.png new file mode 100644 index 000000000..8936b2e71 Binary files /dev/null and b/pt-BR/images/person-sprite.png differ diff --git a/pt-BR/images/person.png b/pt-BR/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/pt-BR/images/person.png differ diff --git a/pt-BR/images/player.png b/pt-BR/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/pt-BR/images/player.png differ diff --git a/pt-BR/images/showcase.png b/pt-BR/images/showcase.png new file mode 100644 index 000000000..00b33f127 Binary files /dev/null and b/pt-BR/images/showcase.png differ diff --git a/pt-BR/images/sign.png b/pt-BR/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/pt-BR/images/sign.png differ diff --git a/pt-BR/images/sign.svg b/pt-BR/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/pt-BR/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt-BR/images/stage.png b/pt-BR/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/pt-BR/images/stage.png differ diff --git a/pt-BR/images/variable-show.png b/pt-BR/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/pt-BR/images/variable-show.png differ diff --git a/pt-BR/images/world-backdrops.png b/pt-BR/images/world-backdrops.png new file mode 100644 index 000000000..30db25f80 Binary files /dev/null and b/pt-BR/images/world-backdrops.png differ diff --git a/pt-BR/images/world-bribe.png b/pt-BR/images/world-bribe.png new file mode 100644 index 000000000..5ce57e88f Binary files /dev/null and b/pt-BR/images/world-bribe.png differ diff --git a/pt-BR/images/world-coins.png b/pt-BR/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/pt-BR/images/world-coins.png differ diff --git a/pt-BR/images/world-door.png b/pt-BR/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/pt-BR/images/world-door.png differ diff --git a/pt-BR/images/world-enemy-code.png b/pt-BR/images/world-enemy-code.png new file mode 100644 index 000000000..ce74f2c17 Binary files /dev/null and b/pt-BR/images/world-enemy-code.png differ diff --git a/pt-BR/images/world-enemy2.png b/pt-BR/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/pt-BR/images/world-enemy2.png differ diff --git a/pt-BR/images/world-final.png b/pt-BR/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/pt-BR/images/world-final.png differ diff --git a/pt-BR/images/world-key.png b/pt-BR/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/pt-BR/images/world-key.png differ diff --git a/pt-BR/images/world-north-south.png b/pt-BR/images/world-north-south.png new file mode 100644 index 000000000..972ef30d6 Binary files /dev/null and b/pt-BR/images/world-north-south.png differ diff --git a/pt-BR/images/world-person-test.png b/pt-BR/images/world-person-test.png new file mode 100644 index 000000000..9b0a519c2 Binary files /dev/null and b/pt-BR/images/world-person-test.png differ diff --git a/pt-BR/images/world-person.png b/pt-BR/images/world-person.png new file mode 100644 index 000000000..d10b2feba Binary files /dev/null and b/pt-BR/images/world-person.png differ diff --git a/pt-BR/images/world-player.png b/pt-BR/images/world-player.png new file mode 100644 index 000000000..96fc9768f Binary files /dev/null and b/pt-BR/images/world-player.png differ diff --git a/pt-BR/images/world-resources.png b/pt-BR/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/pt-BR/images/world-resources.png differ diff --git a/pt-BR/images/world-room-test.png b/pt-BR/images/world-room-test.png new file mode 100644 index 000000000..2153b3521 Binary files /dev/null and b/pt-BR/images/world-room-test.png differ diff --git a/pt-BR/images/world-room.png b/pt-BR/images/world-room.png new file mode 100644 index 000000000..ce8fc0659 Binary files /dev/null and b/pt-BR/images/world-room.png differ diff --git a/pt-BR/images/world-sign-test-left.png b/pt-BR/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/pt-BR/images/world-sign-test-left.png differ diff --git a/pt-BR/images/world-sign-test-right.png b/pt-BR/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/pt-BR/images/world-sign-test-right.png differ diff --git a/pt-BR/images/world-sign-test.png b/pt-BR/images/world-sign-test.png new file mode 100644 index 000000000..90cf7ba85 Binary files /dev/null and b/pt-BR/images/world-sign-test.png differ diff --git a/pt-BR/images/world-sign-test2.png b/pt-BR/images/world-sign-test2.png new file mode 100644 index 000000000..ee3980709 Binary files /dev/null and b/pt-BR/images/world-sign-test2.png differ diff --git a/pt-BR/images/world-sign.png b/pt-BR/images/world-sign.png new file mode 100644 index 000000000..6cde395fa Binary files /dev/null and b/pt-BR/images/world-sign.png differ diff --git a/pt-BR/images/world-starter.png b/pt-BR/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/pt-BR/images/world-starter.png differ diff --git a/pt-BR/images/world-treasure.png b/pt-BR/images/world-treasure.png new file mode 100644 index 000000000..3d3b4ce00 Binary files /dev/null and b/pt-BR/images/world-treasure.png differ diff --git a/pt-BR/images/world-up.png b/pt-BR/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/pt-BR/images/world-up.png differ diff --git a/pt-BR/images/world-walls-test.png b/pt-BR/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/pt-BR/images/world-walls-test.png differ diff --git a/pt-BR/images/world-walls.png b/pt-BR/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/pt-BR/images/world-walls.png differ diff --git a/pt-BR/meta.yml b/pt-BR/meta.yml new file mode 100644 index 000000000..d9370017b --- /dev/null +++ b/pt-BR/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Crie seu próprio mundo +description: Neste projeto, você aprenderá como criar o seu próprio jogo de aventura em mundo aberto. +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introdução + - + title: Mova o ator do jogador + - + title: Paredes sólidas + completion: + - engaged + - + title: Mova-se ao redor do seu mundo + - + title: 'Desafio: voltar à sala anterior' + challenge: true + - + title: Sinalizações + - + title: 'Desafio: tesouro!' + challenge: true + - + title: Pessoas + - + title: 'Desafio: inimigos' + challenge: true + - + title: Recolha moedas + - + title: Portas e chaves + completion: + - internal + - + title: 'Desafio: expanda seu mundo' + challenge: true + completion: + - external diff --git a/pt-BR/resources/CreateYourOwnWorld.sb2 b/pt-BR/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8682d05f8 Binary files /dev/null and b/pt-BR/resources/CreateYourOwnWorld.sb2 differ diff --git a/pt-BR/resources/CreateYourOwnWorldResources.sb2 b/pt-BR/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8a9935e60 Binary files /dev/null and b/pt-BR/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/pt-BR/resources/CreateYourOwnWorldResources.sb3 b/pt-BR/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..2aa808b1d Binary files /dev/null and b/pt-BR/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/pt-BR/resources/chest.svg b/pt-BR/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/pt-BR/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt-BR/resources/coin.svg b/pt-BR/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/pt-BR/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt-BR/resources/door-blue.png b/pt-BR/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/pt-BR/resources/door-blue.png differ diff --git a/pt-BR/resources/enemy.png b/pt-BR/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/pt-BR/resources/enemy.png differ diff --git a/pt-BR/resources/key.svg b/pt-BR/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/pt-BR/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/pt-BR/resources/person.png b/pt-BR/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/pt-BR/resources/person.png differ diff --git a/pt-BR/resources/player.png b/pt-BR/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/pt-BR/resources/player.png differ diff --git a/pt-BR/resources/room1.png b/pt-BR/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/pt-BR/resources/room1.png differ diff --git a/pt-BR/resources/room2.png b/pt-BR/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/pt-BR/resources/room2.png differ diff --git a/pt-BR/resources/room3.png b/pt-BR/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/pt-BR/resources/room3.png differ diff --git a/pt-BR/resources/sign.svg b/pt-BR/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/pt-BR/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt-BR/scratch-translatable.txt b/pt-BR/scratch-translatable.txt new file mode 100644 index 000000000..826b6188b --- /dev/null +++ b/pt-BR/scratch-translatable.txt @@ -0,0 +1,13 @@ +sala + +jogador + +Bem-vindo! Você consegue chegar ao tesouro? + +Você sabia que pode passar por portas laranjas e amarelas? + +moedas + +chave azul + +inventário diff --git a/pt-BR/solutions/CreateYourOwnWorld.sb3 b/pt-BR/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..0008d0abf Binary files /dev/null and b/pt-BR/solutions/CreateYourOwnWorld.sb3 differ diff --git a/pt-BR/step_1.md b/pt-BR/step_1.md new file mode 100644 index 000000000..575defa86 --- /dev/null +++ b/pt-BR/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Esta é a versão **Scratch 3** do projeto. Há também uma [versão Scratch 2 do projeto](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introdução + +Neste projeto, você vai aprender como criar o seu próprio mundo em um jogo de aventura com múltiplos níveis para explorar. + +### O que você vai fazer + +\--- no-print \--- + +Clique na bandeira verde para começar. Use as setas do teclado para mover o seu personagem ao redor do mundo. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Use as setas do teclado para mover seu personagem ao redor do mundo. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: O que você vai precisar + +### Hardware + +- Um computador capaz de executar o Scratch 3 + +### Software + +- Scratch 3 ([online](https://rpf.io/scratchon){:target="_blank"} ou [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +Você pode encontrar tudo o que precisa para completar este projeto em [rpf.io/p/en/create-seu-own world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: O que você vai aprender + +- Usar seleção condicional para reagir a teclas pressionadas +- Use variáveis para armazenar o estado de um jogo +- Use seleção condicional com base no valor de uma variável +- Usar listas para armazenar dados + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Informações adicionais para educadores + +Se você precisar imprimir este projeto, por favor, use a [versão para impressão](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Você pode encontrar o [projeto concluído aqui](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/pt-BR/step_10.md b/pt-BR/step_10.md new file mode 100644 index 000000000..70addf34d --- /dev/null +++ b/pt-BR/step_10.md @@ -0,0 +1,71 @@ +## Coletar moedas + +Seu `jogador` sprite deve coletar moedas à medida que se move pelo mundo. + +\--- task \--- + +Adicione uma nova variável chamada `moedas` {:class="block3variables"} em seu projeto. + +\--- /task \--- + +\--- task \--- + +Selecione o ator `moeda` e clique em **mostrar**. + +![captura de tela](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Adicione código ao ator `moeda` para que apareça apenas na sala 1. + +![captura de tela](images/coin.png) + +```blocks3 +quando ⚑ for clicado +sempre +se <(sala :: variáveis)=[1]> então +mostre +senão +esconda +``` + +\--- /task \--- + +\--- task \--- + +Adicione código a seu ator `moeda` para que o ator moeda `se esconda` {:class="block3looks"} e `1` {:class="block3variables"} seja adicionado à variável `moedas`{:class="block3variables"} uma vez que o ator `jogador` tocar no ator `moeda` para 'pegá-lo'. + +![moeda](images/coin.png) + +```blocks3 +quando ⚑ for clicado +espere até que +adicione (1) a [moedas v] +esconda +pare [outros scripts no sprite v] +``` + +O código `interrompe outros scripts no sprite`{:class="block3control"} é necessário para que a `moeda` sprite deixe de ser exibida na sala 1 depois de coletado. + +\--- /task \--- + +\--- task \--- + +Agora adicione código ao palco para definir sua variável `moedas`{:class="block3variables"} para `0` {:class="block3variables"} no início do jogo. + +![palco](images/stage.png) + +```blocks3 +quando ⚑ for clicado +mude [moedas v] para [0] +``` + +\--- /task \--- + +\--- task \--- + +Teste seu jogo. Coletar uma moeda deve alterar a sua pontuação `moedas` para `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/pt-BR/step_11.md b/pt-BR/step_11.md new file mode 100644 index 000000000..756e5df52 --- /dev/null +++ b/pt-BR/step_11.md @@ -0,0 +1,104 @@ +## Portas e chaves + +Agora você vai adicionar o código para que algumas das portas do seu mundo de jogo estejam bloqueadas, e o jogador deve encontrar a chave para abri-las e chegar à próxima sala. + +\--- task \--- + +Mude para o ator `chave`. Clique em `Mostrar`{:class="blocklooks"} para que o ator apareça no palco. + +\--- /task \--- + +\--- task \--- + +Edite a fantasia do ator `chave` para que fique azul. + +\--- /task \--- + +\--- task \--- + +Mude seu cenário do palco para a sala 3 e coloque o ator `chave` em algum lugar difícil de alcançar! + +![captura de tela](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Adicione código ao ator `chave` para torná-lo visível apenas na sala 3. + +\--- /task \--- + +\--- task \--- + +Crie uma nova lista chamada `inventário`{:class="block3variables"} para armazenar os itens que o ator `jogador` coleta. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +O código que você precisa adicionar para coletar a chave é muito semelhante ao código para coletar moedas. A diferença é que você adiciona a chave ao `inventário` {:class="block3variables"}. + +![chave](images/key.png) + +```blocks3 +quando ⚑ for clicado +espere até que +adicione [chave azul] ao [inventário v] +esconda +pare [outros scripts no ator v] +``` + +\--- /task \--- + +\--- task \--- + +Adicione código ao seu palco para esvaziar seu inventário no início do jogo. + +```blocks3 +delete all of [inventário v] +``` + +\--- /task \--- + +\--- task \--- + +Teste seu jogo para verificar se você pode coletar o ator `chave` e adicioná-lo ao seu inventário. + +\--- /task \--- + +\--- task \--- + +Agora adicione a porta trancada. Selecione o ator `porta azul` e clique em `Mostrar`{:class="blocklooks} e então posicione o ator no espaço entre as duas paredes. + +![captura de tela](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Adicione código ao ator `porta azul` para que apareça apenas na sala 3. + +\--- /task \--- + +\--- task \--- + +Adicione código ao ator `porta azul` para que, quando a chave estiver no `inventário`{:class="block3variables"}, o ator se `esconda`{:class="block3looks"} para permitir que seu `jogador ` passe. + +![porta](images/door.png) + +```blocks3 +quando ⚑ for clicado +espere até que <[inventário v] contém [chave azul]?> +pare [outros scripts no ator v] +esconda +``` + +\--- /task \--- + +\--- task \--- + +Teste seu jogo e veja se você pode pegar a chave azul para abrir a porta! + +\--- /task \--- \ No newline at end of file diff --git a/pt-BR/step_12.md b/pt-BR/step_12.md new file mode 100644 index 000000000..ab6c57abe --- /dev/null +++ b/pt-BR/step_12.md @@ -0,0 +1,28 @@ +## Desafio: amplie seu mundo + +Agora você pode continuar criando seu próprio mundo! Aqui estão algumas idéias: + ++ Adicione mais moedas ao seu jogo em diferentes salas. Você pode deixar algumas moedas serem guardadas por inimigos de patrulha? ++ Mude os cenários do seu jogo ++ Adicione som e música ao seu jogo ++ Adicione mais pessoas, inimigos e sinalizações ++ Adicione portas vermelhas e amarelas e chaves especiais para abri-las ++ Adicione mais salas ao seu mundo ++ Adicione outros itens úteis ao seu jogo + + + Use moedas para obter informações de outras pessoas: + +![captura de tela](images/world-bribe.png) + ++ Você poderia até adicionar portas no norte e no sul da sala 1, para que o jogador possa se mover entre as salas em todas as quatro direções. Por exemplo, seu jogo pode ter nove salas em uma grade 3×3. Você pode adicionar `3` ao número da sala para mover para baixo um nível. + +![captura de tela](images/north-south-rooms.png) + +![captura de tela](images/number-grid.png) + +```blocks3 +se < tocando na cor []?> então +mude para o cenário ((fantasia [número v]) + (3)) +vá para x: (0) y: (200) +adicione (3) a [sala v] +``` \ No newline at end of file diff --git a/pt-BR/step_13.md b/pt-BR/step_13.md new file mode 100644 index 000000000..89343cc38 --- /dev/null +++ b/pt-BR/step_13.md @@ -0,0 +1,21 @@ +## E agora? + +Tente criar outro jogo trabalhando no projeto [GATOS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Clique e arraste com o mouse para desenhar uma linha com o lápis. Seu objetivo é impedir que os gatos caiam em buracos criando um caminho seguro até a saída. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Gatos terminados](images/cats-finished.png) + +\--- /print-only \--- + +Se você quiser fazer um jogo usando Python em vez de Scratch, experimente o projeto [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/pt-BR/step_2.md b/pt-BR/step_2.md new file mode 100644 index 000000000..0ae49ff9b --- /dev/null +++ b/pt-BR/step_2.md @@ -0,0 +1,132 @@ +## Mova o ator do jogador + +Comece criando um ator `jogador` que pode se mover ao redor do seu mundo. + +\--- task \--- + +Abra o projeto inicial do Scratch 'Crie seu próprio mundo'. + +**Online:** abra o projeto inicial em [scratch.mit.edu/projects/395786610](https://scratch.mit.edu/projects/395786610){:target="_blank"}. + +Se você tiver uma conta Scratch, você pode fazer uma cópia clicando em **Remix**. + +**Offline**: faça o download do projeto inicial [rpf.io/p/pt-BR/create-your-own-world-go](https://rpf.io/p/pt-BR/create-your-own-world-go){:target="_blank"}, e então abra-o usando o editor off-line. Se você precisar baixar e instalar o editor offline do Scratch, você pode encontrá-lo em [rpf.io/scratchoff](https://rpf.io/scratchoff) {: target = "_ blank"}. + +![captura de tela](images/world-starter.png) + +\--- /task \--- + +Pressionando as setas direcionais moverá o ator `jogador`. Quando a seta para cima é pressionada, o ator `jogador` moverá para cima em resposta. + +\--- task \--- + +Adicione este código ao ator `jogador`: + +![jogador](images/player.png) + +```blocks3 +quando ⚑ for clicado +sempre + se então + aponte para a direção (0) + mova (4) passos + end +end +``` + +\--- /task \--- + +\--- task \--- + +Clique na bandeira e mantenha pressionada a seta para cima. O ator `jogador` se move para cima? + +![captura de tela](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Para mover o ator `jogador` para a esquerda, você precisa adicionar outro bloco `se`{:class="block3control"} com código similar: + +![jogador](images/player.png) + +```blocks3 +quando ⚑ for clicado +sempre + se então + aponte para a direção (0) + mova (4) passos + end + + se então + aponte para a direção (-90) + mova (4) passos + end +end +``` + +\--- /task \--- + +\--- task \--- + +Adicione mais código ao seu ator `jogador` para que ele possa se mover para baixo e para a direita. Use o código que você já tem para ajudá-lo. + +\--- hints \--- + +\--- hint \--- + +Para mover para cima, aponte o ator `jogador` para a direção `0` graus. O que você precisa fazer para mover o ator para baixo? + +Para mover para a esquerda, você aponta o ator na direção `-90` graus. O que você precisa fazer para mover o ator para direita? + +\--- /hint \--- + +\--- hint \--- + +Você precisa alterar estes dois blocos: + +![jogador](images/player.png) + +```blocks3 + + +aponte para a direção () +``` + +Duplique o código que faz o ator `jogador` mover para cima e altere esses dois blocos para fazer o ator mover para baixo. Duplique o código novamente e altere-o para fazer o ator mover para a direita. + +\--- /hint \--- + +\--- hint \--- + +Aqui está como seu código deve ficar: + +![jogador](images/player.png) + +```blocks3 +quando ⚑ for clicado +sempre + se então + aponte para a direção (0) + mova (4) passos + end + se então + aponte para a direção (-90) + mova (4) passos + end + ++ se então + aponte para a direção (180) + mova (4) passos + end ++ se então + aponte para a direção (90) + mova (4) passos + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/pt-BR/step_3.md b/pt-BR/step_3.md new file mode 100644 index 000000000..f02b519d1 --- /dev/null +++ b/pt-BR/step_3.md @@ -0,0 +1,48 @@ +## Paredes sólidas + +\--- task \--- + +Teste seu ator `jogador` novamente. Do you see that it can walk through the light grey walls? + +![captura de tela](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Para consertar isso, você precisa fazer o ator `jogador` mover de volta se tocar uma parede cinza. Aqui está o código que você precisa adicionar dentro do seu bloco `sempre`{:class="block3control"} abaixo dos blocos de direção: + +![jogador](images/player.png) + +```blocks3 +quando ⚑ for clicado +sempre + se então + aponte para a direção (0) + mova (4) passos + end + se então + aponte para a direção (-90) + mova (4) passos + end + se então + aponte para a direção (90) + mova (4) passos + end ++ se então + mova (-4) passos + end +end +``` + +\--- /task \--- + +\--- task \--- + +Tente fazer o ator `jogador` se mover através de uma parede. Se o seu novo código funcionar, isso não deve ser possível. + +![captura de tela](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/pt-BR/step_4.md b/pt-BR/step_4.md new file mode 100644 index 000000000..dfd3de62f --- /dev/null +++ b/pt-BR/step_4.md @@ -0,0 +1,141 @@ +## Mova-se pelo seu mundo + +O ator `jogador` deve ser capaz de atravessar portas para outras salas. + +Seu projeto contém cenários para salas adicionais: + +![captura de tela](images/world-backdrops.png) + +\--- task \--- + +Crie uma nova variável 'para todos os atores' chamada `sala` {:class="block3variables"} para acompanhar em qual sala está o ator `jogador`. + +[[[generic-scratch3-add-variable]]] + +![captura de tela](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Quando o ator `jogador` toca a porta laranja na primeira sala, o jogo deve exibir o próximo cenário, e o ator `jogador` deve voltar para o lado esquerdo do Palco. Adicione este código no ator `jogador` dentro do loop `sempre`{:class="block3control"}: + +![jogador](images/player.png) + +```blocks3 +quando ⚑ for clicado +sempre + se então + aponte para a direção (0) + mova (4) passos + end + se então + aponte para a direção (-90) + mova (4) passos + end + se então + aponte para a direção (90) + mova (4) passos + end + se então + mova (-4) passos + end ++ se < tocando na cor [#F2A24A]> então + mude para o cenário (próximo cenário v) + vá para x: (-200) y: (0) + adicione (1) a [sala v] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Sempre que o jogo começa, a sala, a posição do personagem e o cenário precisam ser redefinidos. + +Adicione código ao **início** do código do seu ator `jogador` acima do loop `sempre`{:class="block3control"}, para redefinir tudo quando bandeira é clicada: + +\--- hints \--- + +\--- hint \--- + +Quando o jogo começa: + ++ O valor de `sala`{:class="block3variables"} deve ser definido como `1`{:class="block3variables"} ++ O `cenário`{:class="block3looks"} deve ser definido para `sala1`{:class="block3looks"} ++ A posição do ator `jogador` deve ser definida como `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Aqui estão os blocos que você precisa: + +![jogador](images/player.png) + +```blocks3 +vá para x: (-200) y: (0) + +mude [sala v] para (1) + +mude para o cenário (sala1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Veja como seu código finalizado deve parecer: + +![jogador](images/player.png) + +```blocks3 +quando ⚑ for clicado ++mude [sala v] para (1) ++vá para x: (-200) y: (0) ++mude para o cenário (sala1 v) +sempre + se então + aponte para a direção (0) + mova (4) passos + end + se então + aponte para a direção (-90) + mova (4) passos + end + se então + aponte para a direção (90) + mova (4) passos + end + se então + mova (-4) passos + end + se então + mude para o cenário (próximo cenário v) + vá para x: (-200) y: (0) + adicione (1) a [sala v] + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Clique na bandeira e, em seguida, mova seu ator `jogador` até que ele toque a porta laranja. O ator se move para a próxima tela? A variável `sala`{:class="block3variables"} muda para `2`? + +![captura de tela](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/pt-BR/step_5.md b/pt-BR/step_5.md new file mode 100644 index 000000000..9f3b4f3c0 --- /dev/null +++ b/pt-BR/step_5.md @@ -0,0 +1,3 @@ +## Desafio: voltar para a sala anterior + +Você consegue fazer seu ator `jogador` voltar para a sala anterior quando tocar uma porta amarela? O código necessário para isso é muito semelhante ao código que você já adicionou para fazer o ator passar para a próxima sala. \ No newline at end of file diff --git a/pt-BR/step_6.md b/pt-BR/step_6.md new file mode 100644 index 000000000..6512fb7e9 --- /dev/null +++ b/pt-BR/step_6.md @@ -0,0 +1,108 @@ +## Sinalizações + +Agora adicione sinalizações ao seu mundo para guiar os jogadores em suas jornadas. + +Seu projeto inclui um ator `sinalização bem-vindo`: + +![captura de tela](images/world-sign.png) + +\--- task \--- + +O ator `sinalização bem-vindo` deve estar visível apenas na sala 1, então adicione algum código ao ator para garantir que isso aconteça: + +\--- hints \--- + +\--- hint \--- + +`quando ⚑ for clicado`{:class="block3events"}, em um loop `sempre`{:class="block3control"}, verifique `se`{:class="block3control"} a `sala é 1`{:class="block3variables"} e, nesse caso, `mostre`{:class="block3looks"} o ator `sinalização bem-vindo`, `senão`{:class="block3control"} `esconda`{:class="block3looks"} o ator. + +\--- /hint \--- + +\--- hint \--- + +Aqui estão os blocos que você precisa: + +![sinalização](images/sign.png) + +```blocks3 +
se < > então +senão +end + +< (sala :: variáveis) = [1] > + +esconda + +mostre + +sempre +end + +quando ⚑ for clicado + +``` + +\--- /hint \--- + +\--- hint \--- + +Aqui está o código completo: + +![sinalização](images/sign.png) + +```blocks3 +quando ⚑ for clicado +sempre + se <(sala :: variáveis) = [1]> então + mostre + senão + esconda + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Teste o código para o seu ator `sinalização bem-vindo` movendo-se entre as salas. A sinalização só deve estar visível na sala 1. + +![captura de tela](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +Uma sinalização não é muito boa se não diz nada! Adicione um pouco mais de código para exibir uma mensagem se o ator `sinalização bem-vindo` está tocando no ator `jogador`: + +![sinalização](images/sign.png) + +```blocks3 +quando ⚑ for clicado +sempre +se < (sala :: variáveis) = [1]> então +mostre +senão +esconda +end ++ se < tocando em (jogador v)? > então + diga [Bem-vindo! Você consegue chegar ao tesouro?] +senão +diga [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Teste seu ator `sinalização bem-vindo` novamente. Agora você deve ver uma mensagem quando o ator `jogador` toca no ator `sinalização bem-vindo`. + +![captura de tela](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/pt-BR/step_7.md b/pt-BR/step_7.md new file mode 100644 index 000000000..a43a30efe --- /dev/null +++ b/pt-BR/step_7.md @@ -0,0 +1,7 @@ +## Desafio: tesouro! + +Você pode adicionar algum tesouro para o jogador encontrar? + +Faça o ator `baú` aparecer apenas na sala 3, e faça com que este ator diga 'Muito bem!' quando o ator `jogador` tocá-lo. + +![captura de tela](images/world-treasure.png) \ No newline at end of file diff --git a/pt-BR/step_8.md b/pt-BR/step_8.md new file mode 100644 index 000000000..ccb9949d8 --- /dev/null +++ b/pt-BR/step_8.md @@ -0,0 +1,65 @@ +## Pessoas + +Adicione outras pessoas ao seu mundo com quem seu ator `jogador` pode interagir. + +\--- task \--- + +Mude para o ator `pessoa`. + +![Ator pessoa](images/person.png) + +\--- /task \--- + +\--- task \--- + +Adicione algum código ao ator `pessoa` para que a pessoa converse com o ator `jogador`. Este código é muito parecido com o código que você adicionou ao seu ator `sinalização`: + +![pessoa](images/person.png) + +```blocks3 +quando ⚑ for clicado +vá para x: (0) y: (-150) +sempre + se então +diga [Você sabia que pode passar pelas portas laranjas e amarelas?] +senão +diga [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Permita que seu ator `pessoa` se mova adicionando esses dois blocos na seção `senão`{:class="block3control"} do seu código: + +![pessoa](images/person.png) + +```blocks3 +quando ⚑ for clicado +vá para x: (0) y: (-150) +sempre + se então +diga [Você sabia que passar pelas portas laranjas e amarelas?] +senão +diga [] ++ mova (1) passos ++ se tocar na borda, volte +end +end +``` + +\--- /task \--- + +Seu ator `pessoa` se moverá agora, mas vai parar para falar com o ator `jogador`. + +![captura de tela](images/world-person-test.png) + +\--- task \--- + +Adicione código ao seu novo ator `pessoa` para que o ator apareça apenas na sala 1. O código que você precisa é exatamente o mesmo que o código que torna o ator `sinalização` visível apenas na sala 1. + +Certifique-se de testar seu novo código. + +\--- /task \--- \ No newline at end of file diff --git a/pt-BR/step_9.md b/pt-BR/step_9.md new file mode 100644 index 000000000..d573ff38a --- /dev/null +++ b/pt-BR/step_9.md @@ -0,0 +1,39 @@ +## Desafio: adicione um inimigo + +Se você quiser, você também pode adicionar ao seu jogo inimigos de patrulha. Se o ator `jogador` toca em um inimigo, o jogo termina. + ++ Seu jogo já contém um ator `inimigo`. Adicione código ao ator `inimigo` para que apareça apenas na sala 2. + ++ Adicione código para mover o ator `inimigo` e para terminar o jogo se o ator `inimigo` tocar o ator `jogador`. É mais fácil fazer isso em blocos de código separados. Aqui está como seu código do ator `inimigo` deve ficar: + +```blocks3 +quando ⚑ for clicado +sempre +se < (sala :: variáveis)=[2]> então +mostre +senão +esconda + +quando ⚑ for clicado +sempre +se < tocando em (jogador v)?> então +pare [todos v] + +quando ⚑ for clicado +vá para x: (170) y: (0) +sempre +repita (130) vezes +adicione (-1) a x +end +repita (130) vezes +adicione (1) a x +``` + ++ Teste o seu novo código para ter certeza que: + + O ator `inimigo` é visível apenas na sala 2 + + O ator `inimigo` patrulha a sala + + O jogo acaba se o ator `jogador` tocar o ator `inimigo` + +Você pode criar outro ator `inimigo` na sala 3 que patrulha para cima e para baixo e pelo vão da parede? + +![captura de tela](images/world-enemy2.png) \ No newline at end of file diff --git a/pt-PT/images/banner.png b/pt-PT/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/pt-PT/images/banner.png differ diff --git a/pt-PT/images/cats-finished.png b/pt-PT/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/pt-PT/images/cats-finished.png differ diff --git a/pt-PT/images/coin.png b/pt-PT/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/pt-PT/images/coin.png differ diff --git a/pt-PT/images/door.png b/pt-PT/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/pt-PT/images/door.png differ diff --git a/pt-PT/images/key.png b/pt-PT/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/pt-PT/images/key.png differ diff --git a/pt-PT/images/north-south-rooms.png b/pt-PT/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/pt-PT/images/north-south-rooms.png differ diff --git a/pt-PT/images/number-grid.png b/pt-PT/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/pt-PT/images/number-grid.png differ diff --git a/pt-PT/images/person.png b/pt-PT/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/pt-PT/images/person.png differ diff --git a/pt-PT/images/player.png b/pt-PT/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/pt-PT/images/player.png differ diff --git a/pt-PT/images/showcase.png b/pt-PT/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/pt-PT/images/showcase.png differ diff --git a/pt-PT/images/sign.png b/pt-PT/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/pt-PT/images/sign.png differ diff --git a/pt-PT/images/stage.png b/pt-PT/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/pt-PT/images/stage.png differ diff --git a/pt-PT/images/world-backdrops.png b/pt-PT/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/pt-PT/images/world-backdrops.png differ diff --git a/pt-PT/images/world-bribe.png b/pt-PT/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/pt-PT/images/world-bribe.png differ diff --git a/pt-PT/images/world-door.png b/pt-PT/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/pt-PT/images/world-door.png differ diff --git a/pt-PT/images/world-enemy2.png b/pt-PT/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/pt-PT/images/world-enemy2.png differ diff --git a/pt-PT/images/world-key.png b/pt-PT/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/pt-PT/images/world-key.png differ diff --git a/pt-PT/images/world-person-test.png b/pt-PT/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/pt-PT/images/world-person-test.png differ diff --git a/pt-PT/images/world-room-test.png b/pt-PT/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/pt-PT/images/world-room-test.png differ diff --git a/pt-PT/images/world-room.png b/pt-PT/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/pt-PT/images/world-room.png differ diff --git a/pt-PT/images/world-sign-test.png b/pt-PT/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/pt-PT/images/world-sign-test.png differ diff --git a/pt-PT/images/world-sign-test2.png b/pt-PT/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/pt-PT/images/world-sign-test2.png differ diff --git a/pt-PT/images/world-sign.png b/pt-PT/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/pt-PT/images/world-sign.png differ diff --git a/pt-PT/images/world-starter.png b/pt-PT/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/pt-PT/images/world-starter.png differ diff --git a/pt-PT/images/world-treasure.png b/pt-PT/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/pt-PT/images/world-treasure.png differ diff --git a/pt-PT/images/world-up.png b/pt-PT/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/pt-PT/images/world-up.png differ diff --git a/pt-PT/images/world-walls-test.png b/pt-PT/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/pt-PT/images/world-walls-test.png differ diff --git a/pt-PT/images/world-walls.png b/pt-PT/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/pt-PT/images/world-walls.png differ diff --git a/pt-PT/meta.yml b/pt-PT/meta.yml new file mode 100644 index 000000000..f6fa6433e --- /dev/null +++ b/pt-PT/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Cria o teu próprio mundo +description: Criar o teu próprio jogo de aventura no open-world +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introdução + - + title: Mover o personagem do jogador + - + title: Paredes sólidas + completion: + - engaged + - + title: Mova-se pelo seu mundo + - + title: 'Desafio: voltar para a sala anterior' + challenge: true + - + title: Sinais + - + title: 'Desafio: tesouro!' + challenge: true + - + title: Pessoas + - + title: 'Desafio: inimigos' + challenge: true + - + title: Recolher moedas + - + title: Portas e chaves + completion: + - internal + - + title: 'Desafio: amplia o teu mundo' + challenge: true + completion: + - external diff --git a/pt-PT/resources/CreateYourOwnWorldResources.sb3 b/pt-PT/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/pt-PT/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/pt-PT/resources/chest.svg b/pt-PT/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/pt-PT/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt-PT/resources/coin.svg b/pt-PT/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/pt-PT/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt-PT/resources/door-blue.png b/pt-PT/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/pt-PT/resources/door-blue.png differ diff --git a/pt-PT/resources/enemy.png b/pt-PT/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/pt-PT/resources/enemy.png differ diff --git a/pt-PT/resources/key.svg b/pt-PT/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/pt-PT/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/pt-PT/resources/person.png b/pt-PT/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/pt-PT/resources/person.png differ diff --git a/pt-PT/resources/player.png b/pt-PT/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/pt-PT/resources/player.png differ diff --git a/pt-PT/resources/room1.png b/pt-PT/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/pt-PT/resources/room1.png differ diff --git a/pt-PT/resources/room2.png b/pt-PT/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/pt-PT/resources/room2.png differ diff --git a/pt-PT/resources/room3.png b/pt-PT/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/pt-PT/resources/room3.png differ diff --git a/pt-PT/resources/sign.svg b/pt-PT/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/pt-PT/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt-PT/scratch-translatable.txt b/pt-PT/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/pt-PT/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/pt-PT/solutions/CreateYourOwnWorld.sb3 b/pt-PT/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/pt-PT/solutions/CreateYourOwnWorld.sb3 differ diff --git a/pt-PT/step_1.md b/pt-PT/step_1.md new file mode 100644 index 000000000..77a6640b9 --- /dev/null +++ b/pt-PT/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Esta é a versão **Scratch 3** do projeto. Existe também uma versão [Scratch 2 do projeto](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introdução + +Neste projecto, vais aprender como criar o teu próprio mundo de jogos de aventura com vários níveis para explorar. + +### O que vais fazer + +\--- no-print \--- + +Clica na bandeira verde para começar. Usa as setas do teclado para mover o teu personagem pelo mundo. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Vais utilizar as setas do teclado para mover o teu personagem pelo mundo. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Do que vais precisar + +### Hardware + +- Um computador com capacidade para executar o Scratch 3 + +### Software + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +Podes encontrar tudo o que precisas para completar este projeto em [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: O que vais aprender + +- Usar seleção condicional para reagir ao premir de teclas +- Usar variáveis para guardar o estado do jogo +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Informações adicionais para educadores + +Se precisas de imprimir este projeto, por favor, utiliza a [versão para impressão](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){: target = "_ blank"}. + +Podes encontrar o [projeto concluído aqui](https://rpf.io/p/en/create-your-own-world-get){: target = "_ blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/pt-PT/step_10.md b/pt-PT/step_10.md new file mode 100644 index 000000000..9d29a3c8a --- /dev/null +++ b/pt-PT/step_10.md @@ -0,0 +1,71 @@ +## Recolher moedas + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![captura de ecrã](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![captura de ecrã](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![moeda](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![palco](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Testa o teu código. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/pt-PT/step_11.md b/pt-PT/step_11.md new file mode 100644 index 000000000..870bb37fa --- /dev/null +++ b/pt-PT/step_11.md @@ -0,0 +1,104 @@ +## Portas e chaves + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![captura de ecrã](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![chave](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![captura de ecrã](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![porta](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/pt-PT/step_12.md b/pt-PT/step_12.md new file mode 100644 index 000000000..56d490aad --- /dev/null +++ b/pt-PT/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Aqui estão algumas ideias: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![screenshot](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![captura de ecrã](images/north-south-rooms.png) + +![captura de ecrã](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/pt-PT/step_13.md b/pt-PT/step_13.md new file mode 100644 index 000000000..b5e33310a --- /dev/null +++ b/pt-PT/step_13.md @@ -0,0 +1,21 @@ +## O que se segue? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/pt-PT/step_2.md b/pt-PT/step_2.md new file mode 100644 index 000000000..a88fdd2b4 --- /dev/null +++ b/pt-PT/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Se tiveres uma 'conta Scratch' podes fazer uma cópia ao clicares **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Se precisares de descarregar e instalar o editor offline do Scratch, podes encontrá-lo em [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![captura de ecrã](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![jogador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![captura de ecrã](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![jogador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![jogador](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![jogador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/pt-PT/step_3.md b/pt-PT/step_3.md new file mode 100644 index 000000000..8f39b9259 --- /dev/null +++ b/pt-PT/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![captura de ecrã](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![jogador](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![captura de ecrã](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/pt-PT/step_4.md b/pt-PT/step_4.md new file mode 100644 index 000000000..bd36d5d80 --- /dev/null +++ b/pt-PT/step_4.md @@ -0,0 +1,142 @@ +## Move-te pelo teu mundo + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![captura de ecrã](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![captura de ecrã](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![jogador](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![jogador](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![captura de ecrã](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/pt-PT/step_5.md b/pt-PT/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/pt-PT/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/pt-PT/step_6.md b/pt-PT/step_6.md new file mode 100644 index 000000000..695508c45 --- /dev/null +++ b/pt-PT/step_6.md @@ -0,0 +1,108 @@ +## Sinais + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![captura de ecrã](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Aqui estão os blocos de que precisas: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![captura de ecrã](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![captura de ecrã](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/pt-PT/step_7.md b/pt-PT/step_7.md new file mode 100644 index 000000000..4a339347d --- /dev/null +++ b/pt-PT/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![captura de ecrã](images/world-treasure.png) \ No newline at end of file diff --git a/pt-PT/step_8.md b/pt-PT/step_8.md new file mode 100644 index 000000000..d6ba04842 --- /dev/null +++ b/pt-PT/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![pessoa](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![pessoa](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![captura de ecrã](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/pt-PT/step_9.md b/pt-PT/step_9.md new file mode 100644 index 000000000..4edc480bf --- /dev/null +++ b/pt-PT/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![captura de ecrã](images/world-enemy2.png) \ No newline at end of file diff --git a/ro-RO/images/banner.png b/ro-RO/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/ro-RO/images/banner.png differ diff --git a/ro-RO/images/cats-finished.png b/ro-RO/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/ro-RO/images/cats-finished.png differ diff --git a/ro-RO/images/coin.png b/ro-RO/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/ro-RO/images/coin.png differ diff --git a/ro-RO/images/door.png b/ro-RO/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/ro-RO/images/door.png differ diff --git a/ro-RO/images/key.png b/ro-RO/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/ro-RO/images/key.png differ diff --git a/ro-RO/images/north-south-rooms.png b/ro-RO/images/north-south-rooms.png new file mode 100644 index 000000000..45381ef2d Binary files /dev/null and b/ro-RO/images/north-south-rooms.png differ diff --git a/ro-RO/images/number-grid.png b/ro-RO/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/ro-RO/images/number-grid.png differ diff --git a/ro-RO/images/person.png b/ro-RO/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/ro-RO/images/person.png differ diff --git a/ro-RO/images/player.png b/ro-RO/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/ro-RO/images/player.png differ diff --git a/ro-RO/images/showcase.png b/ro-RO/images/showcase.png new file mode 100644 index 000000000..4dc1ba09f Binary files /dev/null and b/ro-RO/images/showcase.png differ diff --git a/ro-RO/images/sign.png b/ro-RO/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/ro-RO/images/sign.png differ diff --git a/ro-RO/images/stage.png b/ro-RO/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/ro-RO/images/stage.png differ diff --git a/ro-RO/images/world-backdrops.png b/ro-RO/images/world-backdrops.png new file mode 100644 index 000000000..35999b1f6 Binary files /dev/null and b/ro-RO/images/world-backdrops.png differ diff --git a/ro-RO/images/world-bribe.png b/ro-RO/images/world-bribe.png new file mode 100644 index 000000000..14b6941a1 Binary files /dev/null and b/ro-RO/images/world-bribe.png differ diff --git a/ro-RO/images/world-door.png b/ro-RO/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/ro-RO/images/world-door.png differ diff --git a/ro-RO/images/world-enemy2.png b/ro-RO/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/ro-RO/images/world-enemy2.png differ diff --git a/ro-RO/images/world-key.png b/ro-RO/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/ro-RO/images/world-key.png differ diff --git a/ro-RO/images/world-person-test.png b/ro-RO/images/world-person-test.png new file mode 100644 index 000000000..81231da42 Binary files /dev/null and b/ro-RO/images/world-person-test.png differ diff --git a/ro-RO/images/world-room-test.png b/ro-RO/images/world-room-test.png new file mode 100644 index 000000000..5e2d3924f Binary files /dev/null and b/ro-RO/images/world-room-test.png differ diff --git a/ro-RO/images/world-room.png b/ro-RO/images/world-room.png new file mode 100644 index 000000000..1930e0d79 Binary files /dev/null and b/ro-RO/images/world-room.png differ diff --git a/ro-RO/images/world-sign-test.png b/ro-RO/images/world-sign-test.png new file mode 100644 index 000000000..5cfe77785 Binary files /dev/null and b/ro-RO/images/world-sign-test.png differ diff --git a/ro-RO/images/world-sign-test2.png b/ro-RO/images/world-sign-test2.png new file mode 100644 index 000000000..604f76830 Binary files /dev/null and b/ro-RO/images/world-sign-test2.png differ diff --git a/ro-RO/images/world-sign.png b/ro-RO/images/world-sign.png new file mode 100644 index 000000000..90ebff2ff Binary files /dev/null and b/ro-RO/images/world-sign.png differ diff --git a/ro-RO/images/world-starter.png b/ro-RO/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/ro-RO/images/world-starter.png differ diff --git a/ro-RO/images/world-treasure.png b/ro-RO/images/world-treasure.png new file mode 100644 index 000000000..a967d7acf Binary files /dev/null and b/ro-RO/images/world-treasure.png differ diff --git a/ro-RO/images/world-up.png b/ro-RO/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/ro-RO/images/world-up.png differ diff --git a/ro-RO/images/world-walls-test.png b/ro-RO/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/ro-RO/images/world-walls-test.png differ diff --git a/ro-RO/images/world-walls.png b/ro-RO/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/ro-RO/images/world-walls.png differ diff --git a/ro-RO/meta.yml b/ro-RO/meta.yml new file mode 100644 index 000000000..bc7aea537 --- /dev/null +++ b/ro-RO/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Creează-ți propria lume +description: Creează-ți propriul joc de aventură cu lumea deschisă +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introducere + - + title: Mută personajul jucător + - + title: Pereți solizi + completion: + - engaged + - + title: Mișcă-te în jurul lumii tale + - + title: 'Provocare: întoarce-te în camera precedentă' + challenge: true + - + title: Semne + - + title: 'Provocare: comoară!' + challenge: true + - + title: Persoane + - + title: 'Provocare: inamici' + challenge: true + - + title: Adună monede + - + title: Uși și chei + completion: + - internal + - + title: 'Provocare: extinde-ți lumea' + challenge: true + completion: + - external diff --git a/ro-RO/resources/CreateYourOwnWorldResources.sb3 b/ro-RO/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..2bf71eb81 Binary files /dev/null and b/ro-RO/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/ro-RO/resources/chest.svg b/ro-RO/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/ro-RO/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ro-RO/resources/coin.svg b/ro-RO/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/ro-RO/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ro-RO/resources/door-blue.png b/ro-RO/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/ro-RO/resources/door-blue.png differ diff --git a/ro-RO/resources/enemy.png b/ro-RO/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/ro-RO/resources/enemy.png differ diff --git a/ro-RO/resources/key.svg b/ro-RO/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/ro-RO/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/ro-RO/resources/person.png b/ro-RO/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/ro-RO/resources/person.png differ diff --git a/ro-RO/resources/player.png b/ro-RO/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/ro-RO/resources/player.png differ diff --git a/ro-RO/resources/room1.png b/ro-RO/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/ro-RO/resources/room1.png differ diff --git a/ro-RO/resources/room2.png b/ro-RO/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/ro-RO/resources/room2.png differ diff --git a/ro-RO/resources/room3.png b/ro-RO/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/ro-RO/resources/room3.png differ diff --git a/ro-RO/resources/sign.svg b/ro-RO/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/ro-RO/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ro-RO/scratch-translatable.txt b/ro-RO/scratch-translatable.txt new file mode 100644 index 000000000..74a51b174 --- /dev/null +++ b/ro-RO/scratch-translatable.txt @@ -0,0 +1,13 @@ +cameră + +jucător + +Bun venit! Poți ajunge la comoară? + +Știai că poți trece prin ușile portocalie și galbenă? + +monede + +cheie albastră + +inventar diff --git a/ro-RO/solutions/CreateYourOwnWorld.sb3 b/ro-RO/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..e1f1787d0 Binary files /dev/null and b/ro-RO/solutions/CreateYourOwnWorld.sb3 differ diff --git a/ro-RO/step_1.md b/ro-RO/step_1.md new file mode 100644 index 000000000..e9a783001 --- /dev/null +++ b/ro-RO/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Aceasta este versiunea **Scratch 3** a proiectului. Există, de asemenea, o versiune [ Scratch 2 a proiectului ](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Introducere + +În acest proiect, vei învăța cum să îți creezi propria lume de jocuri de aventură cu mai multe niveluri de explorat. + +### Ce vei face + +\--- no-print \--- + +Dă click pe steagul verde pentru a începe. Folosește tastele săgeată pentru a muta personajul în lume. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Vei folosi tastele săgeată pentru a muta personajul în lume. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: De ce vei avea nevoie + +### Hardware + +- Un computer capabil să ruleze Scratch 3 + +### Software + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Fișiere descărcabile + +Poți găsi tot ce ai nevoie pentru a finaliza acest proiect la [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Ce vei învăța + +- Folosește selecția condițională pentru a reacționa la apăsările tastei +- Folosește variabile pentru a stoca starea unui joc +- Folosește selecția condițională bazată pe valoarea unei variabile +- Folosește liste pentru stocarea datelor + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Informații suplimentare pentru profesori + +Dacă doriți să imprimați acest proiect, utilizați [versiunea imprimabilă](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Puteți găsi [proiectul finalizat aici](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/ro-RO/step_10.md b/ro-RO/step_10.md new file mode 100644 index 000000000..3389d0c0f --- /dev/null +++ b/ro-RO/step_10.md @@ -0,0 +1,71 @@ +## Adună monede + +Personajul tău `jucător` ar trebui să poată aduna monezi pe măsură ce se deplasează prin lume. + +\--- task \--- + +Adaugă o nouă variabilă numită `monede`{:class="block3variables"} la proiectul tău. + +\--- /task \--- + +\--- task \--- + +Selectează personajul `monedă` și dă click pe **arată**. + +![captură de ecran](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Adaugă cod personajului tău `monedă`, astfel încât acesta să apară doar în camera 1. + +![captură de ecran](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Adaugă cod personajului tău `monedă`, astfel încât personajul se `ascunde`{:class="block3looks"} și `1`{:class="block3variables"} să fie adăugat la variabila `monede`{:class="block3variables"} odată ce personajul `jucător` atinge personajul `monedă` pentru a-l colecta. + +![monedă](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +Codul `stop alte scripturi pentru personaj`{:class="block3control"} este necesar pentru ca personajul `monedă` să nu mai fie afișat în camera 1 după ce a fost colectat. + +\--- /task \--- + +\--- task \--- + +Acum adaugă codul la Scenă pentru a seta variabila `monede`{:class="block3variables"} la `0`{:class="block3variables"} la începutul jocului. + +![scenă](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Testează-ți jocul. Colectarea unei monede ar trebui să schimbe scorul variabilei `monede` la `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/ro-RO/step_11.md b/ro-RO/step_11.md new file mode 100644 index 000000000..349bc05d8 --- /dev/null +++ b/ro-RO/step_11.md @@ -0,0 +1,104 @@ +## Uși și chei + +Acum vei adăuga cod, astfel încât unele dintre ușile din lumea ta să fie încuiate, iar jucătorul trebuie să găsească cheia pentru a le deschide și a ajunge în camera următoare. + +\--- task \--- + +Schimbă la personajul `cheie`. Dă click pe `arată`{:class="blocklooks"} în meniul Cod pentru ca personajul cheie să apară pe Scenă. + +\--- /task \--- + +\--- task \--- + +Editează costumul personajului `cheie`, astfel încât să fie albastru. + +\--- /task \--- + +\--- task \--- + +Schimbă decorul Scenei la camera 3 și plasează personajul `cheie` undeva greu de ajuns! + +![captură de ecran](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Adaugă cod personajului `cheie` pentru a-l face vizibil doar în camera 3. + +\--- /task \--- + +\--- task \--- + +Creează o nouă listă numită `inventar`{:class="block3variables"} pentru a stoca elementele colecțate de personajul tău `jucător`. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +Codul pe care trebuie să-l adaugi pentru colectarea cheii este foarte asemănător cu codul pentru colectarea monedelor. Diferența este că adăugați cheia în `inventar`{:class="block3variables"}. + +![cheie](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Adaugă cod Scenei tale pentru a goli inventarul la începutul jocului. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Testează-ți jocul pentru a verifica dacă poți colecta personajul `cheie` și să îl adaugi în inventar. + +\--- /task \--- + +\--- task \--- + +Acum adaugă ușa încuiată. Selectează personajul `ușa-albastră` și dă click pe `arată`{:class="blocklooks}, apoi poziționează-l peste gaura dintre cei doi pereți. + +![captură de ecran](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Adaugă niște cod personajului `inamic` astfel încât să apară doar în camera 3. + +\--- /task \--- + +\--- task \--- + +Adaugă cod personajului `ușa-albastră`, astfel încât, atunci când cheia se află în `inventar`{:class="block3variables"}, acesta se `ascunde`{:class="block3looks"} pentru a permite personajului `jucător`să treacă. + +![uşă](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Testează-ți jocul și vezi dacă poți colecta cheia albastră pentru a deschide ușa! + +\--- /task \--- \ No newline at end of file diff --git a/ro-RO/step_12.md b/ro-RO/step_12.md new file mode 100644 index 000000000..5f401dee4 --- /dev/null +++ b/ro-RO/step_12.md @@ -0,0 +1,28 @@ +## Provocare: extinde-ți lumea + +Acum poți continua să-ți creezi propria lume! Iată câteva idei: + ++ Adaugă mai multe monede la joc în camere diferite. Poți lăsa unele monede să fie păzite prin patrularea inamicilor? ++ Schimbă decorurile jocului ++ Adaugă sunete și muzică jocului tău ++ Adaugați mai multe persoane, inamici și semne ++ Adaugă uși roșii și galbene și chei speciale pentru a le deschide ++ Adaugă mai multe camere în lumea ta ++ Adaugă alte elemente utile jocului tău + + + Folosește monedele pentru a obține informații de la alte persoane: + +![captură de ecran](images/world-bribe.png) + ++ Ai putea să adaugi uși în pereții nordici și sudici ai camerei 1, astfel încât jucătorul să se poată deplasa între camere în toate cele patru direcții. De exemplu, jocul tău poate avea nouă camere într-o grilă 3×3. Poți apoi să adaugi `3` la numărul camerei pentru a te deplasa cu un nivel în jos. + +![captură de ecran](images/north-south-rooms.png) + +![captură de ecran](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/ro-RO/step_13.md b/ro-RO/step_13.md new file mode 100644 index 000000000..0f0edd6f2 --- /dev/null +++ b/ro-RO/step_13.md @@ -0,0 +1,21 @@ +## Ce urmează? + +Încearcă să creezi alt joc parcurgând proiectul [PISICI!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Dă click și trage cu mouse-ul pentru a desena o linie cu creionul. Scopul tău este să oprești pisicile să cadă în gropi prin crearea unei căi sigure către ieșire. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Pisici terminate](images/cats-finished.png) + +\--- /print-only \--- + +Dacă vrei să creezi un joc folosind Python în loc de Scratch, încearcă proiectul [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/ro-RO/step_2.md b/ro-RO/step_2.md new file mode 100644 index 000000000..55242c5a0 --- /dev/null +++ b/ro-RO/step_2.md @@ -0,0 +1,132 @@ +## Mută personajul jucător + +Începe prin a crea un `jucător` care se poate mișca în lumea creată de tine. + +\--- task \--- + +Deschide proiectul Scratch de început „Crează-ți propria lume”. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Dacă ai un cont Scratch poți face o copie dând click pe **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Dacă ai nevoie să descarci și să instalezi editorul Scratch offline, îl poți găsi la [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![captură de ecran](images/world-starter.png) + +\--- /task \--- + +Apăsarea tastelor săgeată ar trebui să mute `jucătorul`. Când săgeata în sus este apăsată, personajul `jucător` trebuie să se miște în sus pe scenă ca răspuns. + +\--- task \--- + +Adaugă acest cod la personajul `jucător`: + +![jucător](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Dă click pe steag și apoi ține apăsată săgeata sus. Personajul `jucător` se mișcă în sus? + +![captură de ecran](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Pentru a muta personajul `jucător` la stânga, trebuie să adaugi un alt bloc `dacă`{:class="block3control"} cu cod similar: + +![jucător](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Adăugă mai mult cod personajului `jucător` pentru ca acesta să se poată mișca în jos și spre dreapta. Folosește codul pe care îl ai deja pentru a te ajuta. + +\--- hints \--- + +\--- hint \--- + +Pentru a se deplasa în sus, indică personajul `jucător` în direcția `0` grade. Ce trebuie să faci pentru a muta personajul în jos? + +Pentru a se deplasa spre stânga, indică personajul în direcția `-90` grade. Ce trebuie să faci pentru a mișca personajul spre dreapta? + +\--- /hint \--- + +\--- hint \--- + +Trebuie să schimbi aceste două blocuri: + +![jucător](images/player.png) + +```blocks3 + + +point in direction () +``` + +Copiază codul care face personajul `jucător` să se deplaseze în sus și schimbă aceste două blocuri pentru a-l face să se miște în jos. Copiază din nou codul și modifică-l pentru a face personajul să se deplaseze spre dreapta. + +\--- /hint \--- + +\--- hint \--- + +Așa ar trebui să arate codul tău: + +![jucător](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/ro-RO/step_3.md b/ro-RO/step_3.md new file mode 100644 index 000000000..4649692aa --- /dev/null +++ b/ro-RO/step_3.md @@ -0,0 +1,50 @@ +## Pereți solizi + +\--- task \--- + +Testează-ți din nou personajul `jucător`. Vezi că poate trece prin pereții de culoare gri deschis? + +![captură de ecran](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Pentru a rezolva acest lucru, trebuie să faci personajul `jucător` să se deplaseze înapoi dacă atinge un perete gri deschis. Iată codul pe care trebuie să îl adaugi în interiorul blocului `la infinit`{:class="block3control"} sub blocurile de direcție: + +![jucător](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Încearcă să faci ca personajul `jucător` să treacă printr-un perete. Dacă noul cod funcționează, acest lucru n-ar trebui să fie posibil. + +![captură de ecran](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ro-RO/step_4.md b/ro-RO/step_4.md new file mode 100644 index 000000000..8d490a7b4 --- /dev/null +++ b/ro-RO/step_4.md @@ -0,0 +1,142 @@ +## Mișcă-te în jurul lumii tale + +Personajul `jucător` ar trebui să poată să treacă prin uși în alte camere. + +Proiectul tău conține decoruri pentru noi camere: + +![captură de ecran](images/world-backdrops.png) + +\--- task \--- + +Creează o nouă variabilă „pentru toate personajele” numită `camera`{:class="block3variables"} pentru a monitoriza în care dintre camere se află personajul `jucător`. + +[[[generic-scratch3-add-variable]]] + +![captură de ecran](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Când personajul `jucător` atinge ușa portocalie din prima cameră, jocul ar trebui să afișeze următorul decor, iar personajul `jucător` să se mute înapoi în partea stângă a Scenei. Adaugă acest cod în bucla `la infinit`{:class="block3control"} a personajului `jucător`: + +![jucător](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +De fiecare dată când începe jocul, camera, poziția personajului și decorul trebuie să fie resetate. + +Adaugă codul la **începutul** codului personajului `jucător` care se află deasupra buclei `la infinit`{:class="block3control"}, pentru a reseta totul atunci când se dă click pe steag: + +\--- hints \--- + +\--- hint \--- + +Când începe jocul: + ++ Valoarea variabilei `camera`{:class="block3variables"} ar trebui setată ca `1`{:class="block3variables"} ++ `Decorul`{:class="block3looks"} ar trebui setat pe `camera1`{:class="block3looks"} ++ Poziția personajului `jucător` trebuie setată la `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Aici sunt blocurile suplimentare de care ai nevoie: + +![jucător](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Iată cum ar trebui să arate scriptul tău finalizat: + +![jucător](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Dă click pe steag și apoi mută personajul `jucător` până când atinge ușa portocalie. Personajul s-a mutat în următoarea cameră? Valoarea variabilei `camera`{:class="block3variables"} s-a modificat la `2`? + +![captură de ecran](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ro-RO/step_5.md b/ro-RO/step_5.md new file mode 100644 index 000000000..6658e2cf0 --- /dev/null +++ b/ro-RO/step_5.md @@ -0,0 +1,3 @@ +## Provocare: întoarce-te în camera precedentă + +Poți să-ți faci personajul `jucător` să se întoarcă în camera precedentă când atinge o ușă galbenă? Codul de care ai nevoie pentru acest lucru e similar cu cel pe care l-ai adăugat deja pentru a face personajul să intre în următoarea cameră. \ No newline at end of file diff --git a/ro-RO/step_6.md b/ro-RO/step_6.md new file mode 100644 index 000000000..f9d8729ac --- /dev/null +++ b/ro-RO/step_6.md @@ -0,0 +1,108 @@ +## Semne + +Acum adaugă semne în lumea ta pentru a ghida jucătorii în călătoria lor. + +Proiectul tău include un personaj `semn de bun-venit`: + +![captură de ecran](images/world-sign.png) + +\--- task \--- + +Personajul `semn de bun venit` ar trebui să fie vizibil doar în camera 1, deci adaugă niște cod personajului pentru a te asigura că acest lucru se întâmplă: + +\--- hints \--- + +\--- hint \--- + +`Cand se da click pe steag`{:class="block3events"}, într-o buclă `la infinit`{:class="block3control"}, testează `daca`{:class="block3control"} variabila `camera este 1`{:class="block3variables"} și atunci `arata`{:class="block3looks"} personajul `semn de bun-venit`, `altfel`{:class="block3control"} `ascunde`{:class="block3looks"} personajul. + +\--- /hint \--- + +\--- hint \--- + +Iată care sunt blocurile de care ai nevoie: + +![semn](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Aici este codul complet: + +![semn](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Testează codul personajului tău `semn de bun-venit` prin mutarea între camere. Semnul trebuie să fie vizibil numai în camera 1. + +![captură de ecran](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +Un semn nu este util dacă nu spune nimic! Adăugă mai mult cod pentru a afișa un mesaj dacă personajul `semn de bun-venit` este atins de către personajul `jucător`: + +![semn](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Testează-ți din nou personajul `semn de bun-venit`. Acum ar trebui să vezi un mesaj când personajul `jucător` atinge personajul `semn de bun-venit`. + +![captură de ecran](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/ro-RO/step_7.md b/ro-RO/step_7.md new file mode 100644 index 000000000..cd703c786 --- /dev/null +++ b/ro-RO/step_7.md @@ -0,0 +1,7 @@ +## Provocare: comoara! + +Poți adăuga o comoară pentru ca personajul să o găsească? + +Fă personajul `cufăr` să apară doar în camera 3 și să spună „Bună treabă!” când personajul `jucător` îl atinge. + +![captură de ecran](images/world-treasure.png) \ No newline at end of file diff --git a/ro-RO/step_8.md b/ro-RO/step_8.md new file mode 100644 index 000000000..5a2bfe182 --- /dev/null +++ b/ro-RO/step_8.md @@ -0,0 +1,65 @@ +## Personaje + +Adaugă în lume alte persoane cu care personajul `jucător` să poată interacționa. + +\--- task \--- + +Schimbă la personajul `persoană`. + +![Personaj persoană](images/person.png) + +\--- /task \--- + +\--- task \--- + +Adaugă niște cod personajului `persoană`, astfel încât persoana să vorbească cu personajul `jucător`. Acest cod este similar cu cel pe care l-ai folosit în personajul `semn`: + +![persoană](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Permite personajului tău `persoană` să se miște prin adăugarea acestor două blocuri în secțiunea `altfel`{:class="block3control"} a codului tău: + +![persoană](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Personajul `persoană` se va mișca acum, dar se va opri pentru a vorbi cu personajul `jucător`. + +![captură de ecran](images/world-person-test.png) + +\--- task \--- + +Adaugă cod noului tău personaj `persoană`, astfel încât personajul să apară doar în camera 1. Codul de care ai nevoie este exact același cu cel care face ca personajul `semn de bun-venit` să fie vizibil doar în camera 1. + +Asigură-te că îți testezi noul cod. + +\--- /task \--- \ No newline at end of file diff --git a/ro-RO/step_9.md b/ro-RO/step_9.md new file mode 100644 index 000000000..fa8fd2168 --- /dev/null +++ b/ro-RO/step_9.md @@ -0,0 +1,39 @@ +## Provocare: adaugă un inamic + +Dacă vrei, poți, de asemenea, să adaugi la joc inamici care patrulează. Dacă personajul `jucător` atinge un inamic, jocul se termină. + ++ Jocul tău conține deja un personaj `inamic`. Adaugă niște cod personajului `inamic` astfel încât să apară doar în camera 2. + ++ Adaugă cod pentru a mișca personajul `inamic` și pentru a încheia jocul dacă personajul `inamic` atinge personajul `jucător`. Este mai ușor să faci acest lucru în blocuri de cod separate. Iată cum ar putea arăta codul pentru personajul tău `inamic`: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Testează-ți noul cod pentru a te asigura că: + + Personajul `inamic` este vizibil doar în camera 2 + + Personajul `inamic` patrulează camera + + Jocul se încheie dacă personajul`jucător` atinge personajul `inamic` + +Poți crea un alt personaj `inamic` în camera 3, care patrulează în sus și în jos prin gaura din perete? + +![captură de ecran](images/world-enemy2.png) \ No newline at end of file diff --git a/ru-RU/images/banner.png b/ru-RU/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/ru-RU/images/banner.png differ diff --git a/ru-RU/images/cats-finished.png b/ru-RU/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/ru-RU/images/cats-finished.png differ diff --git a/ru-RU/images/coin.png b/ru-RU/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/ru-RU/images/coin.png differ diff --git a/ru-RU/images/door.png b/ru-RU/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/ru-RU/images/door.png differ diff --git a/ru-RU/images/key.png b/ru-RU/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/ru-RU/images/key.png differ diff --git a/ru-RU/images/north-south-rooms.png b/ru-RU/images/north-south-rooms.png new file mode 100644 index 000000000..800f69bdd Binary files /dev/null and b/ru-RU/images/north-south-rooms.png differ diff --git a/ru-RU/images/number-grid.png b/ru-RU/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/ru-RU/images/number-grid.png differ diff --git a/ru-RU/images/person.png b/ru-RU/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/ru-RU/images/person.png differ diff --git a/ru-RU/images/player.png b/ru-RU/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/ru-RU/images/player.png differ diff --git a/ru-RU/images/showcase.png b/ru-RU/images/showcase.png new file mode 100644 index 000000000..f8c277775 Binary files /dev/null and b/ru-RU/images/showcase.png differ diff --git a/ru-RU/images/sign.png b/ru-RU/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/ru-RU/images/sign.png differ diff --git a/ru-RU/images/stage.png b/ru-RU/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/ru-RU/images/stage.png differ diff --git a/ru-RU/images/world-backdrops.png b/ru-RU/images/world-backdrops.png new file mode 100644 index 000000000..7498d1133 Binary files /dev/null and b/ru-RU/images/world-backdrops.png differ diff --git a/ru-RU/images/world-bribe.png b/ru-RU/images/world-bribe.png new file mode 100644 index 000000000..f85943b97 Binary files /dev/null and b/ru-RU/images/world-bribe.png differ diff --git a/ru-RU/images/world-door.png b/ru-RU/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/ru-RU/images/world-door.png differ diff --git a/ru-RU/images/world-enemy2.png b/ru-RU/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/ru-RU/images/world-enemy2.png differ diff --git a/ru-RU/images/world-key.png b/ru-RU/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/ru-RU/images/world-key.png differ diff --git a/ru-RU/images/world-person-test.png b/ru-RU/images/world-person-test.png new file mode 100644 index 000000000..1240fba3a Binary files /dev/null and b/ru-RU/images/world-person-test.png differ diff --git a/ru-RU/images/world-room-test.png b/ru-RU/images/world-room-test.png new file mode 100644 index 000000000..14eaacc91 Binary files /dev/null and b/ru-RU/images/world-room-test.png differ diff --git a/ru-RU/images/world-room.png b/ru-RU/images/world-room.png new file mode 100644 index 000000000..119442d19 Binary files /dev/null and b/ru-RU/images/world-room.png differ diff --git a/ru-RU/images/world-sign-test.png b/ru-RU/images/world-sign-test.png new file mode 100644 index 000000000..c6745b45a Binary files /dev/null and b/ru-RU/images/world-sign-test.png differ diff --git a/ru-RU/images/world-sign-test2.png b/ru-RU/images/world-sign-test2.png new file mode 100644 index 000000000..437a2424a Binary files /dev/null and b/ru-RU/images/world-sign-test2.png differ diff --git a/ru-RU/images/world-sign.png b/ru-RU/images/world-sign.png new file mode 100644 index 000000000..7be37459e Binary files /dev/null and b/ru-RU/images/world-sign.png differ diff --git a/ru-RU/images/world-starter.png b/ru-RU/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/ru-RU/images/world-starter.png differ diff --git a/ru-RU/images/world-treasure.png b/ru-RU/images/world-treasure.png new file mode 100644 index 000000000..7d098648c Binary files /dev/null and b/ru-RU/images/world-treasure.png differ diff --git a/ru-RU/images/world-up.png b/ru-RU/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/ru-RU/images/world-up.png differ diff --git a/ru-RU/images/world-walls-test.png b/ru-RU/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/ru-RU/images/world-walls-test.png differ diff --git a/ru-RU/images/world-walls.png b/ru-RU/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/ru-RU/images/world-walls.png differ diff --git a/ru-RU/meta.yml b/ru-RU/meta.yml new file mode 100644 index 000000000..bac64cf07 --- /dev/null +++ b/ru-RU/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Создай свой собственный мир +description: Создайте свою собственную игру с открытым миром +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Введение + - + title: Перемещение спрайта игрока + - + title: Сплошные стены + completion: + - engaged + - + title: Перемещение по миру + - + title: 'Задача: вернуться в предыдущую комнату' + challenge: true + - + title: Таблички + - + title: 'Задача: сокровище!' + challenge: true + - + title: Люди + - + title: 'Задача: враги' + challenge: true + - + title: Сбор монет + - + title: Двери и ключи + completion: + - internal + - + title: 'Задача: расширь свой мир' + challenge: true + completion: + - external diff --git a/ru-RU/resources/CreateYourOwnWorldResources.sb3 b/ru-RU/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..91cc2cc69 Binary files /dev/null and b/ru-RU/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/ru-RU/resources/chest.svg b/ru-RU/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/ru-RU/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ru-RU/resources/coin.svg b/ru-RU/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/ru-RU/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ru-RU/resources/door-blue.png b/ru-RU/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/ru-RU/resources/door-blue.png differ diff --git a/ru-RU/resources/enemy.png b/ru-RU/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/ru-RU/resources/enemy.png differ diff --git a/ru-RU/resources/key.svg b/ru-RU/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/ru-RU/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/ru-RU/resources/person.png b/ru-RU/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/ru-RU/resources/person.png differ diff --git a/ru-RU/resources/player.png b/ru-RU/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/ru-RU/resources/player.png differ diff --git a/ru-RU/resources/room1.png b/ru-RU/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/ru-RU/resources/room1.png differ diff --git a/ru-RU/resources/room2.png b/ru-RU/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/ru-RU/resources/room2.png differ diff --git a/ru-RU/resources/room3.png b/ru-RU/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/ru-RU/resources/room3.png differ diff --git a/ru-RU/resources/sign.svg b/ru-RU/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/ru-RU/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ru-RU/scratch-translatable.txt b/ru-RU/scratch-translatable.txt new file mode 100644 index 000000000..360c26f0a --- /dev/null +++ b/ru-RU/scratch-translatable.txt @@ -0,0 +1,13 @@ +комната + +игрок + +Добро пожаловать! Можешь ли ты добраться до сокровища? + +Знаешь ли ты, что ты можешь пройти через оранжевые и желтые двери? + +монеты + +синий ключ + +инвентарь diff --git a/ru-RU/solutions/CreateYourOwnWorld.sb3 b/ru-RU/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..ffcfd5aa8 Binary files /dev/null and b/ru-RU/solutions/CreateYourOwnWorld.sb3 differ diff --git a/ru-RU/step_1.md b/ru-RU/step_1.md new file mode 100644 index 000000000..1023abbd6 --- /dev/null +++ b/ru-RU/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Это версия проекта для **Scratch 3**. Есть также [версия проекта для Scratch 2](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Введение + +В этом проекте ты узнаешь, как создать свой собственный игровой мир с несколькими уровнями, которые ты сможешь исследовать. + +### Что ты сделаешь + +\--- no-print \--- + +Нажми на зеленый флажок, чтобы начать. Используй клавиши со стрелками для перемещения своего персонажа по миру. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Ты будешь использовать клавиши со стрелками для перемещения своего персонажа по миру. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Что тебе понадобится + +### Оборудование + +- Компьютер, на котором можно запустить Scratch 3 + +### Программное обеспечение + +- Scratch 3 ([онлайн](https://rpf.io/scratchon){:target="_blank"} или [оффлайн](https://rpf.io/scratchoff){:target="_blank"} версия) + +### Загрузки + +Вы можете найти все необходимое для выполнения этого проекта по адресу [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Чему ты научишься + +- Использовать условный оператор для реагирования на нажатия клавиш +- Использовать переменные для хранения состояния игры +- Использовать значения переменной в условном операторе +- Использовать списки для хранения данных + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Дополнительная информация для педагогов + +Если вам нужно распечатать этот проект, пожалуйста, используйте [версию для печати](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Вы можете найти [готовый проект здесь](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/ru-RU/step_10.md b/ru-RU/step_10.md new file mode 100644 index 000000000..fdcbfcec8 --- /dev/null +++ b/ru-RU/step_10.md @@ -0,0 +1,73 @@ +## Сбор монет + +Твой спрайт `игрок` должен иметь возможность собирать монеты, когда он путешествует по миру. + +\--- task \--- + +Добавь новую переменную `монеты`{:class="block3variables"} в свой проект. + +\--- /task \--- + +\--- task \--- + +Выбери спрайт `монета` и нажми **показать**. + +![снимок экрана](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Добавь код к своему спрайту `монета` так, чтобы спрайт появлялся только в комнате 1. + +![снимок экрана](images/coin.png) + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если <(комната :: переменные) = [1]>, то + показаться + иначе + спрятаться + end +end +``` + +\--- /task \--- + +\--- task \--- + +Добавь код к спрайту `монета` так, чтобы спрайт `прятался`{:class="block3looks"} и переменная `монеты`{:class="block3variables"}увеличивалась на `1`{:class="block3variables"} как только спрайт `игрок` коснётся спрайта `монета`, чтобы «собрать её». + +![монета](images/coin.png) + +```blocks3 +когда щёлкнут по зелёному флагу +ждать до < касается (игрок v)?> +изменить [монеты v] на (1) +спрятаться +стоп [другие скрипты спрайта v] +``` + +Код `останавливает другие скрипты в спрайте`{:class="block3control"}необходим для того, чтобы спрайт `монета` перестала отображаться в комнате 1 после её сбора. + +\--- /task \--- + +\--- task \--- + +Теперь добавь код в Сцену, чтобы установить значение переменной `монеты`{:class="block3variables"} равное `0`{:class="block3variables"} в начале игры. + +![сцена](images/stage.png) + +```blocks3 +когда щёлкнут по зелёному флагу +задать [монеты v] значение [0] +``` + +\--- /task \--- + +\--- task \--- + +Протестируй свою игру. Сбор монеты должен изменить значение `монеты` на `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/ru-RU/step_11.md b/ru-RU/step_11.md new file mode 100644 index 000000000..8159a3d95 --- /dev/null +++ b/ru-RU/step_11.md @@ -0,0 +1,104 @@ +## Двери и ключи + +Теперь ты добавишь код, который заблокирует некоторые двери в твоей игре. Игрок будет должен найти ключ, чтобы открыть их и добраться до следующей комнаты. + +\--- task \--- + +Перейди на спрайт `ключ`. Нажми на `показать`{:class="blocklooks"} в меню "Спрайт", чтобы спрайт появился на Сцене. + +\--- /task \--- + +\--- task \--- + +Измени костюм спрайта `ключ` таким образом, чтобы он стал синим. + +\--- /task \--- + +\--- task \--- + +Переключи фон Cцены на комнату 3 и помести спрайт `ключ` в труднодоступном месте! + +![снимок экрана](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Добавь код к спрайту `ключ` для того, чтобы спрайт появлялся только в комнате 3. + +\--- /task \--- + +\--- task \--- + +Создай новый список с именем `инвентарь`{:class="block3variables"} для хранения предметов, который твой спрайт `игрок` будет собирать. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +Код, который нужно добавить для сбора ключей, очень похож на код для сбора монет. Разница состоит в том, что ты добавляешь ключ в `инвентарь`{:class="block3variables"}. + +![ключ](images/key.png) + +```blocks3 +когда щёлкнут по зелёному флагу +ждать до < касается (игрок v)?> +добавить [синий ключ] к [инвентарь v] +спрятаться +стоп [другие скрипты спрайта v] +``` + +\--- /task \--- + +\--- task \--- + +Добавь код в свою Сцену, чтобы очистить инвентарь в начале игры. + +```blocks3 +удалить все из [инвентарь v] +``` + +\--- /task \--- + +\--- task \--- + +Протестируй свою игру и проверь, можешь ли ты собрать спрайт `ключ` и добавить его в свой инвентарь. + +\--- /task \--- + +\--- task \--- + +Теперь добавь закрытую дверь. Выбери спрайт `синяя дверь` и нажми на `показать`{:class="block3looks"} в меню "Спрайт", а затем помести спрайт в промежуток между двумя стенами. + +![снимок экрана](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Добавь код к спрайту `синяя дверь` для того, чтобы спрайт появлялся только в комнате 3. + +\--- /task \--- + +\--- task \--- + +Добавь код к спрайту `синяя дверь`, чтобы, когда ключ был в `инвентаре`{:class="block3variables"}, спрайт `скрывался`{:class="block3looks"}, чтобы позволить спрайту `игрок` пройти. + +![дверь](images/door.png) + +```blocks3 +когда щёлкнут по зелёному флагу +ждать до <[инвентарь v] содержит [синий ключ]?> +стоп [другие скрипты спрайта v] +спрятаться +``` + +\--- /task \--- + +\--- task \--- + +Протестируй свою игру и посмотри, можешь ли ты взять синий ключ, чтобы открыть дверь! + +\--- /task \--- \ No newline at end of file diff --git a/ru-RU/step_12.md b/ru-RU/step_12.md new file mode 100644 index 000000000..0776a334c --- /dev/null +++ b/ru-RU/step_12.md @@ -0,0 +1,29 @@ +## Задача: расширь свой мир + +Теперь ты можешь продолжать создавать свой собственный мир! Вот несколько идей: + ++ Добавьте больше монет к своей игре разместив их в разных комнатах. Сможешь ли ты добавить врагов, которые бы патрулировали вокруг монет? ++ Измени фоны своей игры ++ Добавь звук и музыку в свою игру ++ Добавь больше людей, врагов и табличек ++ Добавь красные и желтые двери и специальные ключи, чтобы их открыть ++ Добавь дополнительные комнаты в свой мир ++ Добавь в игру другие полезные предметы + + + Используй монеты для получения информации от других людей: + +![снимок экрана](images/world-bribe.png) + ++ Ты мог бы добавить двери в северной и южной стенах комнаты 1, чтобы игрок мог перемещаться между комнатами во всех четырех направлениях. Например, твоя игра может иметь девять комнат в виде сетки 3×3. После этого ты можешь добавить `3` к номеру комнаты, чтобы перейти вниз на один уровень. + +![снимок экрана](images/north-south-rooms.png) + +![снимок экрана](images/number-grid.png) + +```blocks3 +если , то + переключить фон на ((костюм [номер v]) + (3)) + перейти в x: (0) y: (200) + изменить [комната v] на (3) +end +``` \ No newline at end of file diff --git a/ru-RU/step_13.md b/ru-RU/step_13.md new file mode 100644 index 000000000..51b47a598 --- /dev/null +++ b/ru-RU/step_13.md @@ -0,0 +1,21 @@ +## Что дальше? + +Попробуйте создать еще одну игру, используя проект [Коты!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Нажми и проведи мышкой, чтобы нарисовать линию карандашом. Твоя цель - не дать кошкам упасть в пропасть, создав безопасную дорогу к выходу. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Проект Коты завершен](images/cats-finished.png) + +\--- /print-only \--- + +Если ты хочешь сделать игру используя Python вместо Scratch, попробуй проект [Ролевая игра](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/ru-RU/step_2.md b/ru-RU/step_2.md new file mode 100644 index 000000000..d10699d7a --- /dev/null +++ b/ru-RU/step_2.md @@ -0,0 +1,131 @@ +## Перемещение спрайта игрока + +Начни с создания спрайта `игрока`, способного двигаться по всему миру. + +\--- task \--- + +Открой начальный проект Scratch под названием "Создай свой собственный мир". + +**Онлайн**: открой стартовый проект по адресу [scratch.mit.edu/projects/396456937](https://scratch.mit.edu/projects/396456937){:target="_blank"}. + +Если у тебя есть учетная запись в Scratch, то ты можешь сделать копию проекта, нажав **Ремикс**. + +**Оффлайн**: скачай стартовый проект с [rpf.io/p/ru-RU/create-your-own-world-go](https://rpf.io/p/ru-RU/create-your-own-world-go){:target="_blank"} и затем открой его с помощью оффлайн редактора. Если тебе нужно скачать и установить оффлайн редактор Скретч, ты можешь найти его по адресу [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![снимок экрана](images/world-starter.png) + +\--- /task \--- + +Нажатие клавиш со стрелками должно перемещать спрайт `игрока` в пределах мира. При нажатии стрелки вверх спрайт `игрок` должен двигаться вверх на Сцене. + +\--- task \--- + +Добавь этот код в спрайт `игрока`: + +![игрок](images/player.png) + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если <клавиша (стрелка вверх v) нажата? >, то + повернуться в направлении (0) + идти (4) шагов + end +end +``` + +\--- /task \--- + +\--- task \--- + +Нажми на флажок и удерживай клавишу вверх. Двигается ли спрайт `игрока` вверх? + +![снимок экрана](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Чтобы переместить спрайт `игрока` влево, тебе нужно добавить другой блок `если`{:class="block3control"} с похожим кодом: + +![игрок](images/player.png) + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если <клавиша (стрелка вверх v) нажата? >, то + повернуться в направлении (0) + идти (4) шагов + end + + если <клавиша (стрелка влево v) нажата? >, то + + повернуться в направлении (-90) + + идти (4) шагов + + end +end +``` + +\--- /task \--- + +\--- task \--- + +Добавьте ещё код к спрайту `игрока`, чтобы он мог двигаться вниз и вправо. Код, который у тебя уже есть, должен тебе помочь в этом. + +\--- hints \--- + +\--- hint \--- + +Для того, чтобы двигаться вверх, ты двигаешь спрайт `игрока` в направлении `0` градусов. Что нужно сделать, чтобы переместить спрайт вниз? + +Чтобы двигаться влево, ты двигаешь спрайт в направлении `-90` градусов. Что нужно сделать, чтобы переместить спрайт вправо? + +\--- /hint \--- + +\--- hint \--- + +Тебе нужно изменить эти два блока: + +![игрок](images/player.png) + +```blocks3 +<клавиша ( v) нажата?> + +повернуться в направлении () +``` + +Скопируй код, который заставляет спрайт `игрока` двигаться вверх и измени эти два блока, чтобы заставить спрайт двигаться вниз. Снова скопируй код и измени его так, чтобы спрайт переместился вправо. + +\--- /hint \--- + +\--- hint \--- + +Вот как должен выглядеть твой код: + +![игрок](images/player.png) + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если <клавиша (стрелка вверх v) нажата? >, то + повернуться в направлении (0) + идти (4) шагов + end + если <клавиша (стрелка влево v) нажата? >, то + повернуться в направлении (-90) + идти (4) шагов + end + + если <клавиша (стрелка вниз v) нажата? > then + point in direction (180) + move (4) steps + end ++ if , то + + повернуться в направлении (90) + + идти (4) шагов + + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/ru-RU/step_3.md b/ru-RU/step_3.md new file mode 100644 index 000000000..0621678df --- /dev/null +++ b/ru-RU/step_3.md @@ -0,0 +1,48 @@ +## Сплошные стены + +\--- task \--- + +Cнова протестируй свой спрайт `игрок`. Do you see that it can walk through the light grey walls? + +![снимок экрана](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Чтобы это исправить, тебе необходимо сделать так, чтобы спрайт `игрок` двигался в обратном направлении, если он коснется светло-серой стены. Вот код, который тебе нужно добавить внутри блока `повторять всегда`{:class="block3control"} после блока отвечающего за направления: + +![игрок](images/player.png) + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если <клавиша (стрелка вверх v) нажата? >, то + повернуться в направлении (0) + идти (4) шагов + end + если <клавиша (стрелка влево v) нажата? >, то + повернуться в направлении (-90) + идти (4) шагов + end + если <клавиша (стрелка вниз v) нажата? when flag clicked +forever + if , то + повернуться в направлении (90) + идти (4) шагов + end + + если < касается цвета [#BABABA]? >, то + идти (-4) шагов + end +end +``` + +\--- /task \--- + +\--- task \--- + +Попробуй, может ли спрайт `игрок` пройти сквозь стену. Если твой новый код работает, это не должно быть возможно. + +![снимок экрана](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ru-RU/step_4.md b/ru-RU/step_4.md new file mode 100644 index 000000000..d371a852b --- /dev/null +++ b/ru-RU/step_4.md @@ -0,0 +1,141 @@ +## Перемещение по миру + +Спрайт `игрок` должен иметь возможность проходить через двери в другие комнаты. + +Твой проект содержит фоны для дополнительных комнат: + +![снимок экрана](images/world-backdrops.png) + +\--- task \--- + +Создайте новую переменную 'для всех спрайтов' под названием `комната`{:class="block3variables"}, чтобы знать, в какой комнате находится спрайт `игрок`. + +[[[generic-scratch3-add-variable]]] + +![снимок экрана](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Когда спрайт `игрок` коснется оранжевой двери в первой комнате, игра должна отобразить следующий фон, а спрайт `игрок` должен вернуться на левую сторону Сцены. Добавьте следующий код внутрь блока `повторять всегда`{:class="block3control"} спрайта `игрок`: + +![игрок](images/player.png) + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если <клавиша (стрелка вверх v) нажата? >, то + повернуться в направлении (0) + идти (4) шагов + end + если <клавиша (стрелка влево v) нажата? >, то + повернуться в направлении (-90) + идти (4) шагов + end + если <клавиша (стрелка вниз v) нажата? when flag clicked +forever + if , то + повернуться в направлении (90) + идти (4) шагов + end + если < касается цвета [#BABABA]? >, то + идти (-4) шагов + end + + если < касается цвета [#F2A24A]?>, то + переключить фон на (следующий фон v) + перейти в x: (-200) y: (0) + изменить [комната v] на (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Каждый раз, когда начинается игра, необходимо вернуть в исходное положение комнату, положение персонажа и фон. + +Добавь код в **начало** спрайта `игрока` перед кодом `повторять всегда`{:class="block3control"}, чтобы вернуть всё начальное положение при нажатии флажка: + +\--- hints \--- + +\--- hint \--- + +Когда начинается игра: + ++ Значение `комната`{:class="block3variables"} должен быть установлен в `1`{:class="block3variables"} ++ `фон`{:class="block3looks"} должен быть установлен в `комната1`{:class="block3looks"} ++ Положение для спрайта `игрок` должно быть `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Вот блоки кода, которые тебе нужны: + +![игрок](images/player.png) + +```blocks3 +перейти в x: (-200) y: (0) + +задать [комната v] значение (1) + +переключить фон на (комната1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Вот как должен выглядеть твой законченный скрипт: + +![игрок](images/player.png) + +```blocks3 +когда щёлкнут по зелёному флагу ++задать [комната v] значение (1) ++перейти в x: (-200) y: (0) ++переключить фон на (комната1 v) +повторять всегда + если <клавиша (стрелка вверх v) нажата? >, то + повернуться в направлении (0) + идти (4) шагов + end + если <клавиша (стрелка влево v) нажата? >, то + повернуться в направлении (-90) + идти (4) шагов + end + если <клавиша (стрелка вниз v) нажата? когда щёлкнут по зелёному флагу ++задать [комната v] значение (1) ++перейти в x: (-200) y: (0) ++переключить фон на (комната1 v) +повторять всегда + если <клавиша (стрелка вверх v) нажата? >, то + повернуться в направлении (90) + идти (4) шагов + end + если < касается цвета [#BABABA]? >, то + идти (-4) шагов + end + если < касается цвета [#F2A24A]?>, то + переключить фон на (следующий фон v) + перейти в x: (-200) y: (0) + изменить [комната v] на (1) + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Нажми на флажок и затем перемещай спрайт `игрок` пока он не коснется оранжевой двери. Перешел ли спрайт на следующий экран? Изменилось ли значение переменной `комната`{:class="block3variables"} на `2`? + +![снимок экрана](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/ru-RU/step_5.md b/ru-RU/step_5.md new file mode 100644 index 000000000..51fec30fe --- /dev/null +++ b/ru-RU/step_5.md @@ -0,0 +1,3 @@ +## Задача: вернуться в предыдущую комнату + +Можешь ли ты сделать так, чтобы спрайт `игрок` вернулся в предыдущую комнату когда он коснётся желтой двери? Код, который необходим для этого, очень похож на код, который ты уже добавили для того, чтобы спрайт перемещался в следующую комнату. \ No newline at end of file diff --git a/ru-RU/step_6.md b/ru-RU/step_6.md new file mode 100644 index 000000000..a4c105b48 --- /dev/null +++ b/ru-RU/step_6.md @@ -0,0 +1,108 @@ +## Таблички + +Теперь добавь таблички в свой мир, которые бы помогали игрокам во время их путешествий. + +Твой проект включает в себя спрайт `табличка Добро пожаловать`: + +![снимок экрана](images/world-sign.png) + +\--- task \--- + +Спрайт `табличка Добро пожаловать` должен быть виден только в комнате 1, поэтому добавьте код к спрайту, чтобы убедиться, что это происходит: + +\--- hints \--- + +\--- hint \--- + +`Когда зеленый флаг нажат`{:class="block3events"}, в цикле `повторять всегда`{:class="block3control"} проверь, `если`{:class="block3control"} `комната номер 1`{:class="block3variables"}, и в этом случае `покажи`{:class="block3looks"} спрайт `табличка Добро пожаловать`, `иначе`{:class="block3control"} `спрячь`{:class="block3looks"} спрайт. + +\--- /hint \--- + +\--- hint \--- + +Вот блоки, которые тебе понадобятся: + +![табличка](images/sign.png) + +```blocks3 +
если <>, то +иначе +end + +< (комната :: переменные) = [1] > + +спрятаться + +показаться + +повторять всегда +end + +когда щёлкнут по зелёному флагу + +``` + +\--- /hint \--- + +\--- hint \--- + +Вот полный код: + +![табличка](images/sign.png) + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если < (комната :: переменные) = [1] >, то + показаться + иначе + спрятаться + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Протестируй код спрайта `табличка Добро пожаловать`, перемещаясь между комнатами. Табличка должна быть видна только в комнате 1. + +![снимок экрана](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +От таблички нет пользы, если на ней ничего не написано! Добавь код, который бы показывал сообщение, если спрайт `табличка Добро пожаловать` касается спрайта `игрок`: + +![табличка](images/sign.png) + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если < (комната :: переменные) = [1] >, то + показаться + иначе + спрятаться + end + + если < касается (игрок v) ? >, то + сказать [Привет! Можешь ли ты найти сокровище?] +иначе + сказать [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Cнова протестируй свой спрайт `табличка Добро пожаловать`. Теперь ты должен видеть сообщение, когда спрайт `игрок` коснется спрайта `табличка Добро пожаловать`. + +![снимок экрана](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/ru-RU/step_7.md b/ru-RU/step_7.md new file mode 100644 index 000000000..539013a11 --- /dev/null +++ b/ru-RU/step_7.md @@ -0,0 +1,7 @@ +## Задача: сокровище! + +Можешь ли ты добавить сокровища, чтобы игрок мог их собирать? + +Сделай спрайт `сундук с сокровищами`, который должен только появляться в комнате 3. Пусть этот спрайт говорит: «Молодец!», когда спрайт `игрок` его коснётся. + +![снимок экрана](images/world-treasure.png) \ No newline at end of file diff --git a/ru-RU/step_8.md b/ru-RU/step_8.md new file mode 100644 index 000000000..a6a212d21 --- /dev/null +++ b/ru-RU/step_8.md @@ -0,0 +1,65 @@ +## Люди + +Добавьте в свой мир других людей, с которыми твой спрайт `игрок` мог бы общаться. + +\--- task \--- + +Перейди на спрайт `человек`. + +![Спрайт человек](images/person.png) + +\--- /task \--- + +\--- task \--- + +Добавь код спрайту `человек` так, чтобы этот человек мог разговаривать с спрайтом `игрок`. Этот код очень похож на код, который ты добавил для спрайта `табличка`: + +![человек](images/person.png) + +```blocks3 +когда щёлкнут по зелёному флагу +перейти в x: (0) y: (-150) +повторять всегда + если < касается (игрок v)? >, то + сказать [Ты знал, что ты можешь проходить сквозь желтые и оранжевые двери?] + иначе + сказать [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Добавь спрайту `человек` возможность двигаться путем добавления этих двух блоков в `иначе`{:class="block3control"} ветку твоего кода: + +![человек](images/person.png) + +```blocks3 +когда щёлкнут по зелёному флагу +перейти в x: (0) y: (-150) +повторять всегда + если < касается (игрок v)? >, то + сказать [Ты знал, что ты можешь проходить сквозь желтые и оранжевые двери?] + иначе + сказать [] + + идти (1) шагов + + если касается края, оттолкнуться + end +end +``` + +\--- /task \--- + +Твой спрайт `человек` будет теперь двигаться, но перестанет общаться с спрайтом `игрок`. + +![снимок экрана](images/world-person-test.png) + +\--- task \--- + +Добавь код к своему новому спрайту `человек` так, чтобы спрайт появлялся только в комнате 1. Код, который тебе нужен, точно такой же, как код, который делает спрайт `табличка` только видимой в комнате 1. + +Убедись, что ты проверили свой новый код. + +\--- /task \--- \ No newline at end of file diff --git a/ru-RU/step_9.md b/ru-RU/step_9.md new file mode 100644 index 000000000..5186b4400 --- /dev/null +++ b/ru-RU/step_9.md @@ -0,0 +1,45 @@ +## Задание: добавь врага + +Если хочешь, ты можешь добавить патрулирующих врагов в свою игру. Если спрайт `игрок` коснётся врага, игра закончится. + ++ Твоя игра уже содержит спрайт `враг`. Добавь код для спрайта `враг`, чтобы он появился только в комнате 2. + ++ Добавь код для перемещения спрайта `враг` и для завершения игры, если спрайт `враг` коснется спрайт `игрок`. Это проще сделать в отдельных блоках кода. Вот как мог бы выглядеть твой код для спрайта `враг`: + +```blocks3 +когда щёлкнут по зелёному флагу +повторять всегда + если <(комната :: переменные) = [2]>, то + показаться + иначе + спрятаться + end +end + +когда щёлкнут по зелёному флагу +повторять всегда + если < касается (игрок v) ?>, то + стоп [все v] + end +end + +когда щёлкнут по зелёному флагу +перейти в x: (170) y: (0) +повторять всегда + повторить (130) раз + изменить x на (-1) + end + повторить (130) раз + изменить x на (1) + end +end +``` + ++ Проверь свой новый код, чтобы убедиться, что: + + Спрайт `враг` присутствует только в комнате 2 + + Спрайт `враг` патрулирует комнату + + Игра заканчивается, если спрайт `игрок` коснется спрайта `враг` + +Можешь ли ты создать еще один спрайт `враг` в комнате 3, который патрулирует вверх и вниз через дыру в стене? + +![снимок экрана](images/world-enemy2.png) \ No newline at end of file diff --git a/si-LK/images/banner.png b/si-LK/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/si-LK/images/banner.png differ diff --git a/si-LK/images/cats-finished.png b/si-LK/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/si-LK/images/cats-finished.png differ diff --git a/si-LK/images/coin.png b/si-LK/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/si-LK/images/coin.png differ diff --git a/si-LK/images/door.png b/si-LK/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/si-LK/images/door.png differ diff --git a/si-LK/images/key.png b/si-LK/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/si-LK/images/key.png differ diff --git a/si-LK/images/north-south-rooms.png b/si-LK/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/si-LK/images/north-south-rooms.png differ diff --git a/si-LK/images/number-grid.png b/si-LK/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/si-LK/images/number-grid.png differ diff --git a/si-LK/images/person.png b/si-LK/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/si-LK/images/person.png differ diff --git a/si-LK/images/player.png b/si-LK/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/si-LK/images/player.png differ diff --git a/si-LK/images/showcase.png b/si-LK/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/si-LK/images/showcase.png differ diff --git a/si-LK/images/sign.png b/si-LK/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/si-LK/images/sign.png differ diff --git a/si-LK/images/stage.png b/si-LK/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/si-LK/images/stage.png differ diff --git a/si-LK/images/world-backdrops.png b/si-LK/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/si-LK/images/world-backdrops.png differ diff --git a/si-LK/images/world-bribe.png b/si-LK/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/si-LK/images/world-bribe.png differ diff --git a/si-LK/images/world-door.png b/si-LK/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/si-LK/images/world-door.png differ diff --git a/si-LK/images/world-enemy2.png b/si-LK/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/si-LK/images/world-enemy2.png differ diff --git a/si-LK/images/world-key.png b/si-LK/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/si-LK/images/world-key.png differ diff --git a/si-LK/images/world-person-test.png b/si-LK/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/si-LK/images/world-person-test.png differ diff --git a/si-LK/images/world-room-test.png b/si-LK/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/si-LK/images/world-room-test.png differ diff --git a/si-LK/images/world-room.png b/si-LK/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/si-LK/images/world-room.png differ diff --git a/si-LK/images/world-sign-test.png b/si-LK/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/si-LK/images/world-sign-test.png differ diff --git a/si-LK/images/world-sign-test2.png b/si-LK/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/si-LK/images/world-sign-test2.png differ diff --git a/si-LK/images/world-sign.png b/si-LK/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/si-LK/images/world-sign.png differ diff --git a/si-LK/images/world-starter.png b/si-LK/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/si-LK/images/world-starter.png differ diff --git a/si-LK/images/world-treasure.png b/si-LK/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/si-LK/images/world-treasure.png differ diff --git a/si-LK/images/world-up.png b/si-LK/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/si-LK/images/world-up.png differ diff --git a/si-LK/images/world-walls-test.png b/si-LK/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/si-LK/images/world-walls-test.png differ diff --git a/si-LK/images/world-walls.png b/si-LK/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/si-LK/images/world-walls.png differ diff --git a/si-LK/meta.yml b/si-LK/meta.yml new file mode 100644 index 000000000..468d87d45 --- /dev/null +++ b/si-LK/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images / banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: හැදින්වීම + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/si-LK/resources/CreateYourOwnWorldResources.sb3 b/si-LK/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/si-LK/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/si-LK/resources/chest.svg b/si-LK/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/si-LK/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/si-LK/resources/coin.svg b/si-LK/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/si-LK/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/si-LK/resources/door-blue.png b/si-LK/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/si-LK/resources/door-blue.png differ diff --git a/si-LK/resources/enemy.png b/si-LK/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/si-LK/resources/enemy.png differ diff --git a/si-LK/resources/key.svg b/si-LK/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/si-LK/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/si-LK/resources/person.png b/si-LK/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/si-LK/resources/person.png differ diff --git a/si-LK/resources/player.png b/si-LK/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/si-LK/resources/player.png differ diff --git a/si-LK/resources/room1.png b/si-LK/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/si-LK/resources/room1.png differ diff --git a/si-LK/resources/room2.png b/si-LK/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/si-LK/resources/room2.png differ diff --git a/si-LK/resources/room3.png b/si-LK/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/si-LK/resources/room3.png differ diff --git a/si-LK/resources/sign.svg b/si-LK/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/si-LK/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/si-LK/scratch-translatable.txt b/si-LK/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/si-LK/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/si-LK/solutions/CreateYourOwnWorld.sb3 b/si-LK/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/si-LK/solutions/CreateYourOwnWorld.sb3 differ diff --git a/si-LK/step_1.md b/si-LK/step_1.md new file mode 100644 index 000000000..2005269ee --- /dev/null +++ b/si-LK/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +මෙය **Scratch 3** අනුවාදයේ ව්‍යාපෘතියක් වේ . මෙම ව්‍යාපෘතියේ [Scratch 2 අනුවාදයක් ද ඇත](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## හැදින්වීම + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### ඔබ සාදන්නට යන දේ + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: ඔබට අවශ්‍ය දේ + +### දෘඩාංග(Hardware) + +- Scratch 3 ධාවනය(run) කළ හැකි පරිගණකයක් + +### මෘදුකාංග(Software) + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### බාගන්න(Downloads) + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: ඔබ ඉගෙන ගන්නා දේ + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: අධ්‍යාපකයන්(educators) සඳහා අමතර තොරතුරු + +ඔබට මෙම ව්‍යාපෘතිය මුද්‍රණය කිරීමට අවශ්‍ය නම්, කරුණාකර [මුද්‍රණ-හිතකාමී අනුවාදය(printer-friendly version)](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"} භාවිතා කරන්න . + +[සම්පුර්ණ කරන ලද ව්‍යාපෘතිය(completed project here)](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"} ඔබට මෙහිදී බලගත හැකිය. + +\--- /collapse \--- \ No newline at end of file diff --git a/si-LK/step_10.md b/si-LK/step_10.md new file mode 100644 index 000000000..e466af7d0 --- /dev/null +++ b/si-LK/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![තිර රුව(screenshot)](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![තිර රුව(screenshot)](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![වේදිකාව](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/si-LK/step_11.md b/si-LK/step_11.md new file mode 100644 index 000000000..63b0cb2f2 --- /dev/null +++ b/si-LK/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![තිර රුව(screenshot)](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![තිර රුව(screenshot)](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/si-LK/step_12.md b/si-LK/step_12.md new file mode 100644 index 000000000..e48edc876 --- /dev/null +++ b/si-LK/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! මෙන්න අදහස් කිහිපයක්: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![තිර රුව(screenshot)](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![තිර රුව(screenshot)](images/north-south-rooms.png) + +![පින්තුරය](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/si-LK/step_13.md b/si-LK/step_13.md new file mode 100644 index 000000000..fd15a09e2 --- /dev/null +++ b/si-LK/step_13.md @@ -0,0 +1,21 @@ +## ඊලඟට කුමක්ද? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/si-LK/step_2.md b/si-LK/step_2.md new file mode 100644 index 000000000..fc15442d7 --- /dev/null +++ b/si-LK/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +ඔබට Scratch ගිණුමක්(account එකක්) තිබේ නම් **රීමික්ස්(Remix)** ක්ලික් කිරීමෙන් පිටපතක් සාදාගත හැකිය. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. ඔබට Scratch නොබැඳි සංස්කාරකය(offline editor එක) බාගත(download) කර ස්ථාපනය(install) කිරීමට අවශ්‍ය නම්, ඔබට එය [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"} වෙතින් ලබාගත හැකිය. + +![තිර රුව(screenshot)](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![තිර රුව(screenshot)](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hints \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hints \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/si-LK/step_3.md b/si-LK/step_3.md new file mode 100644 index 000000000..2d3f4b690 --- /dev/null +++ b/si-LK/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![තිර රුව(screenshot)](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![තිර රුව(screenshot)](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/si-LK/step_4.md b/si-LK/step_4.md new file mode 100644 index 000000000..1cc60b3b4 --- /dev/null +++ b/si-LK/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![තිර රුව(screenshot)](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![තිර රුව(screenshot)](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![තිර රුව(screenshot)](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/si-LK/step_5.md b/si-LK/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/si-LK/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/si-LK/step_6.md b/si-LK/step_6.md new file mode 100644 index 000000000..bbd5c4dbf --- /dev/null +++ b/si-LK/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![තිර රුව(screenshot)](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +ඔබට අවශ්‍ය කට්ටි(blocks) මෙහි දැක්වේ: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![තිර රුව(screenshot)](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![තිර රුව(screenshot)](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/si-LK/step_7.md b/si-LK/step_7.md new file mode 100644 index 000000000..c689816ee --- /dev/null +++ b/si-LK/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![තිර රුව(screenshot)](images/world-treasure.png) \ No newline at end of file diff --git a/si-LK/step_8.md b/si-LK/step_8.md new file mode 100644 index 000000000..00552dce6 --- /dev/null +++ b/si-LK/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![තිර රුව(screenshot)](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/si-LK/step_9.md b/si-LK/step_9.md new file mode 100644 index 000000000..0cfb75d1f --- /dev/null +++ b/si-LK/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![තිර රුව(screenshot)](images/world-enemy2.png) \ No newline at end of file diff --git a/sk-SK/images/banner.png b/sk-SK/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/sk-SK/images/banner.png differ diff --git a/sk-SK/images/cats-finished.png b/sk-SK/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/sk-SK/images/cats-finished.png differ diff --git a/sk-SK/images/coin.png b/sk-SK/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/sk-SK/images/coin.png differ diff --git a/sk-SK/images/coin.svg b/sk-SK/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/sk-SK/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sk-SK/images/create-variable.png b/sk-SK/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/sk-SK/images/create-variable.png differ diff --git a/sk-SK/images/create-your-own-world.png b/sk-SK/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/sk-SK/images/create-your-own-world.png differ diff --git a/sk-SK/images/door.png b/sk-SK/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/sk-SK/images/door.png differ diff --git a/sk-SK/images/enemy.png b/sk-SK/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/sk-SK/images/enemy.png differ diff --git a/sk-SK/images/finished-move-down-right.png b/sk-SK/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/sk-SK/images/finished-move-down-right.png differ diff --git a/sk-SK/images/key.png b/sk-SK/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/sk-SK/images/key.png differ diff --git a/sk-SK/images/key.svg b/sk-SK/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/sk-SK/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sk-SK/images/north-south-rooms.png b/sk-SK/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/sk-SK/images/north-south-rooms.png differ diff --git a/sk-SK/images/number-grid.png b/sk-SK/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/sk-SK/images/number-grid.png differ diff --git a/sk-SK/images/person-sprite.png b/sk-SK/images/person-sprite.png new file mode 100644 index 000000000..8936b2e71 Binary files /dev/null and b/sk-SK/images/person-sprite.png differ diff --git a/sk-SK/images/person.png b/sk-SK/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/sk-SK/images/person.png differ diff --git a/sk-SK/images/player.png b/sk-SK/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/sk-SK/images/player.png differ diff --git a/sk-SK/images/showcase.png b/sk-SK/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/sk-SK/images/showcase.png differ diff --git a/sk-SK/images/sign.png b/sk-SK/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/sk-SK/images/sign.png differ diff --git a/sk-SK/images/sign.svg b/sk-SK/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/sk-SK/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sk-SK/images/stage.png b/sk-SK/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/sk-SK/images/stage.png differ diff --git a/sk-SK/images/variable-show.png b/sk-SK/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/sk-SK/images/variable-show.png differ diff --git a/sk-SK/images/world-backdrops.png b/sk-SK/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/sk-SK/images/world-backdrops.png differ diff --git a/sk-SK/images/world-bribe.png b/sk-SK/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/sk-SK/images/world-bribe.png differ diff --git a/sk-SK/images/world-coins.png b/sk-SK/images/world-coins.png new file mode 100644 index 000000000..1b0ddb96c Binary files /dev/null and b/sk-SK/images/world-coins.png differ diff --git a/sk-SK/images/world-door.png b/sk-SK/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/sk-SK/images/world-door.png differ diff --git a/sk-SK/images/world-enemy-code.png b/sk-SK/images/world-enemy-code.png new file mode 100644 index 000000000..ce74f2c17 Binary files /dev/null and b/sk-SK/images/world-enemy-code.png differ diff --git a/sk-SK/images/world-enemy2.png b/sk-SK/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/sk-SK/images/world-enemy2.png differ diff --git a/sk-SK/images/world-final.png b/sk-SK/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/sk-SK/images/world-final.png differ diff --git a/sk-SK/images/world-key.png b/sk-SK/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/sk-SK/images/world-key.png differ diff --git a/sk-SK/images/world-north-south.png b/sk-SK/images/world-north-south.png new file mode 100644 index 000000000..972ef30d6 Binary files /dev/null and b/sk-SK/images/world-north-south.png differ diff --git a/sk-SK/images/world-person-test.png b/sk-SK/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/sk-SK/images/world-person-test.png differ diff --git a/sk-SK/images/world-person.png b/sk-SK/images/world-person.png new file mode 100644 index 000000000..d10b2feba Binary files /dev/null and b/sk-SK/images/world-person.png differ diff --git a/sk-SK/images/world-player.png b/sk-SK/images/world-player.png new file mode 100644 index 000000000..96fc9768f Binary files /dev/null and b/sk-SK/images/world-player.png differ diff --git a/sk-SK/images/world-resources.png b/sk-SK/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/sk-SK/images/world-resources.png differ diff --git a/sk-SK/images/world-room-test.png b/sk-SK/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/sk-SK/images/world-room-test.png differ diff --git a/sk-SK/images/world-room.png b/sk-SK/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/sk-SK/images/world-room.png differ diff --git a/sk-SK/images/world-sign-test-left.png b/sk-SK/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/sk-SK/images/world-sign-test-left.png differ diff --git a/sk-SK/images/world-sign-test-right.png b/sk-SK/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/sk-SK/images/world-sign-test-right.png differ diff --git a/sk-SK/images/world-sign-test.png b/sk-SK/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/sk-SK/images/world-sign-test.png differ diff --git a/sk-SK/images/world-sign-test2.png b/sk-SK/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/sk-SK/images/world-sign-test2.png differ diff --git a/sk-SK/images/world-sign.png b/sk-SK/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/sk-SK/images/world-sign.png differ diff --git a/sk-SK/images/world-starter.png b/sk-SK/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/sk-SK/images/world-starter.png differ diff --git a/sk-SK/images/world-treasure.png b/sk-SK/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/sk-SK/images/world-treasure.png differ diff --git a/sk-SK/images/world-up.png b/sk-SK/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/sk-SK/images/world-up.png differ diff --git a/sk-SK/images/world-walls-test.png b/sk-SK/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/sk-SK/images/world-walls-test.png differ diff --git a/sk-SK/images/world-walls.png b/sk-SK/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/sk-SK/images/world-walls.png differ diff --git a/sk-SK/meta.yml b/sk-SK/meta.yml new file mode 100644 index 000000000..20609d673 --- /dev/null +++ b/sk-SK/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Vytvor si svoj svet +description: Vytvorte si vlastnú adventúru otvoreného sveta +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Úvod + - + title: Presuňte prehrávač scény + - + title: Pevné steny + completion: + - engaged + - + title: Presuňte sa okolo sveta + - + title: 'Výzva: vráťte sa späť do predchádzajúcej miestnosti' + challenge: true + - + title: Značky + - + title: 'Výzva: poklad!' + challenge: true + - + title: Ľudia + - + title: 'Výzva: nepriatelia' + challenge: true + - + title: Zbierať mince + - + title: Dvere a kľúče + completion: + - internal + - + title: 'Výzva: rozšírte svoj svet' + challenge: true + completion: + - external diff --git a/sk-SK/resources/CreateYourOwnWorldResources.sb3 b/sk-SK/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/sk-SK/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/sk-SK/resources/chest.svg b/sk-SK/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/sk-SK/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sk-SK/resources/coin.svg b/sk-SK/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/sk-SK/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sk-SK/resources/door-blue.png b/sk-SK/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/sk-SK/resources/door-blue.png differ diff --git a/sk-SK/resources/enemy.png b/sk-SK/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/sk-SK/resources/enemy.png differ diff --git a/sk-SK/resources/key.svg b/sk-SK/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/sk-SK/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/sk-SK/resources/person.png b/sk-SK/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/sk-SK/resources/person.png differ diff --git a/sk-SK/resources/player.png b/sk-SK/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/sk-SK/resources/player.png differ diff --git a/sk-SK/resources/room1.png b/sk-SK/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/sk-SK/resources/room1.png differ diff --git a/sk-SK/resources/room2.png b/sk-SK/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/sk-SK/resources/room2.png differ diff --git a/sk-SK/resources/room3.png b/sk-SK/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/sk-SK/resources/room3.png differ diff --git a/sk-SK/resources/sign.svg b/sk-SK/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/sk-SK/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sk-SK/scratch-translatable.txt b/sk-SK/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/sk-SK/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/sk-SK/solutions/CreateYourOwnWorld.sb3 b/sk-SK/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/sk-SK/solutions/CreateYourOwnWorld.sb3 differ diff --git a/sk-SK/step_1.md b/sk-SK/step_1.md new file mode 100644 index 000000000..ee69891da --- /dev/null +++ b/sk-SK/step_1.md @@ -0,0 +1,67 @@ +\--- bez tlačenia \--- + +Toto je verzia **Scratch 3** projektu. K dispozícii je aj verzia [Scratch 2 projektu](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- / no-print \--- + +## Úvod + +V tomto projekte sa naučíte, ako vytvoriť svoj vlastný svet dobrodružných hier s viacerými úrovňami na preskúmanie. + +### Čo urobíte + +\--- bez tlačenia \--- + +Kliknutím na zelenú vlajku spustíte hru. Použitím kurzorových kláves sa môžete v hernom svete s vašou postavou pohybovať. + +
+ + +
+ +\--- / no-print \--- + +\--- len na tlač \--- + +Pomocou klávesov so šípkami presuňte svoju postavu na celom svete. ![showcase.png](images/showcase.png) + +\--- / len na tlač \--- + +## \--- collapse \--- + +## názov: Čo budete potrebovať + +### Hardvér + +- Počítač schopný spustiť aplikáciu Scratch 3 + +### Softvér + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### K stiahnutiu + +Všetko, čo potrebujete na dokončenie tohto projektu, nájdete na stránke [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## názov: Čo sa naučíte + +- Použite podmienený výber na reakciu na stlačenie tlačidiel +- Použite premenné na uloženie stavu hry +- Použite podmienený výber na základe hodnoty premennej +- Použite zoznamy na uloženie údajov + +\--- /collapse \--- + +## \--- collapse \--- + +## názov: Ďalšie informácie pre pedagógov + +Ak potrebujete tento projekt vytlačiť, použite [verziu určenú pre tlač](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){: target = "_ blank"}. + +Hotový projekt nájdeš [tu](https://rpf.io/p/en/create-your-own-world-get){:target="_ blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/sk-SK/step_10.md b/sk-SK/step_10.md new file mode 100644 index 000000000..b1496429e --- /dev/null +++ b/sk-SK/step_10.md @@ -0,0 +1,71 @@ +## Zbierať mince + +Váš `hráč` by mal byť schopný zbierať mince pri pohybe po celom svete. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- / úloha \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![snímka obrazovky](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![snímka obrazovky](images/coin.png) + +```blocks3 +keď vlajka klikne +navždy +ak <(miestnosť :: premenné) =[1]> potom +zobraziť +iný +skryť +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +keď vlajka klikne +počká, až +zmení [mince v] podľa (1) +skryť +stop [iné skripty v sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![scéna](images/stage.png) + +```blocks3 +keď príznakom kliknete na +nastavíte [mince v] na hodnotu [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/sk-SK/step_11.md b/sk-SK/step_11.md new file mode 100644 index 000000000..f988f9cb9 --- /dev/null +++ b/sk-SK/step_11.md @@ -0,0 +1,104 @@ +## Dvere a kľúče + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![snímka obrazovky](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- / úloha \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![kláves](images/key.png) + +```blocks3 +keď vlajka klikne +čakajte, až +pridajte [blue key] do [inventory v] +skryť +stop [iné skripty v sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![snímka obrazovky](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +keď má príznak +počkajte, kým <[inventár v] neobsahuje [modrý kľúč]?> +stop [iné skripty v sprite v] +skryť +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/sk-SK/step_12.md b/sk-SK/step_12.md new file mode 100644 index 000000000..e9d14655a --- /dev/null +++ b/sk-SK/step_12.md @@ -0,0 +1,28 @@ +## Výzva: rozšírte svoj svet + +Teraz môžete pokračovať vo vytváraní vlastného sveta! Tu je niekoľko nápadov: + ++ Pridajte do svojej hry viac mincí v rôznych miestnostiach. Môžete nechať niektoré mince byť strážené hliadkami nepriateľov? ++ Zmeňte zázemie svojej hry ++ Pridajte zvuk a hudbu do hry ++ Pridajte ďalších ľudí, nepriateľov a znakov ++ Pridajte červené a žlté dvere a špeciálne klávesy na ich otvorenie ++ Pridajte ďalšie priestory do vášho sveta ++ Pridajte do hry ďalšie užitočné položky + + + Použite mince na získanie informácií od iných ľudí: + +![snímka obrazovky](images/world-bribe.png) + ++ Môžete dokonca pridať dvere do severnej a južnej steny miestnosti 1, aby sa hráč mohol pohybovať medzi miestnosťami vo všetkých štyroch smeroch. Napríklad vaša hra môže mať deväť miestností v 3 × 3 mriežke. Potom môžete pridať `3` do čísla miestnosti, aby ste sa posunuli o jednu úroveň nadol. + +![snímka obrazovky](images/north-south-rooms.png) + +![snímka obrazovky](images/number-grid.png) + +```blocks3 +ak potom +spínací kulisu ((kroj [číslo v]) + (3)), +prejsť na x: (0) y: (200) +zmena [miestnosti v] o (3) +``` \ No newline at end of file diff --git a/sk-SK/step_13.md b/sk-SK/step_13.md new file mode 100644 index 000000000..4dbd7eb3f --- /dev/null +++ b/sk-SK/step_13.md @@ -0,0 +1,21 @@ +## Čo ďalej? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/sk-SK/step_2.md b/sk-SK/step_2.md new file mode 100644 index 000000000..5fc521749 --- /dev/null +++ b/sk-SK/step_2.md @@ -0,0 +1,132 @@ +## Presuňte prehrávač scény + +Začnite tým, že vytvoríte `hráčov` sprite, ktorý sa môže pohybovať po celom svete. + +\--- úloha \--- + +Otvorte projekt "Vytvorte si vlastný svet" Scratch starter. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Ak máš účet v Scratch-i, môžeš si vytvoriť kópiu projektu kliknutím na **Remixuj**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Ak potrebuješ stiahnuť a nainštalovať offline Scratch editor, nájdeš ho na [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![snímka obrazovky](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +keď sa vlajka preklikne +navždy + ak potom + bod v smere (0) + posunúť (4) kroky + koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![snímka obrazovky](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +keď sa vlajka preklikne +navždy + ak potom + bod v smere (0) + posunúť (4) kroky + koniec ++ ak je stlačené tlačidlo <(ľavá šípka v)? > potom + bod v smere (-90) + posunúť (4) kroky + koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +bod v smere () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +keď sa vlajka preklikne +navždy + ak potom + bod v smere (0) + posunúť (4) kroky + koniec + ak je stlačené tlačidlo <(šípka doľava v)? > potom + bod v smere (-90) + posunúť (4) kroky + koniec + ++ ak je stlačené tlačidlo <(šípka dole v)? > then + point in direction (180) + move (4) steps + end ++ if potom + bod v smere (90) + posunúť (4) kroky + koniec +koniec +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/sk-SK/step_3.md b/sk-SK/step_3.md new file mode 100644 index 000000000..b38c5f9b8 --- /dev/null +++ b/sk-SK/step_3.md @@ -0,0 +1,50 @@ +## Pevné steny + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![snímka obrazovky](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +keď sa vlajka preklikne +navždy + ak potom + bod v smere (0) + posunúť (4) kroky + koniec + ak je stlačené tlačidlo <(šípka doľava v)? > potom + bod v smere (-90) + posunúť (4) kroky + koniec + ak stlačíte klávesu <(šípka dole v)? > then + point in direction (180) + move (4) steps + end + if potom + bod v smere (90) + posunúť (4) kroky + koniec ++ ak < dotýkať farbu [#BABABA]? > potom + krok (-4) kroky + koniec +koniec +``` + +\--- / úloha \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![snímka obrazovky](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/sk-SK/step_4.md b/sk-SK/step_4.md new file mode 100644 index 000000000..963ee394d --- /dev/null +++ b/sk-SK/step_4.md @@ -0,0 +1,142 @@ +## Presuňte sa okolo sveta + +Hráč `hráč` by mal byť schopný prejsť dverami do iných miestností. + +Váš projekt obsahuje pozadie ďalších izieb: + +![snímka obrazovky](images/world-backdrops.png) + +\--- úloha \--- + +Vytvorenie nového, pre všetky škriatkov 'premenné nazvané `izba`{: class = "block3variables"}, aby mohli sledovať, ktorá izbe `hráč` sprite nachádza. + +[[[generic-scratch3-add-variable]]] + +![snímka obrazovky](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +keď sa vlajka preklikne +navždy + ak potom + bod v smere (0) + posunúť (4) kroky + koniec + ak je stlačené tlačidlo <(šípka doľava v)? > potom + bod v smere (-90) + posunúť (4) kroky + koniec + ak stlačíte klávesu <(šípka dole v)? > then + point in direction (180) + move (4) steps + end + if potom + bod v smere (90) + posunúť (4) kroky + koniec + ak < dotýkať farbu [#BABABA]? > potom + ťah (-4), kroky + koniec ++ v prípade < dotýkať farieb [# F2A24A] > potom + prepínač pozadia k (ďalší v pozadí) + prejdite na X: (-200) y: (0) + zmena [izbu v] od (1) + koniec +konca +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ Hodnota `miestnosti`{: class = "block3variables"} by mala byť nastavená na `1`{: class = "block3variables"} ++ `pozadie`{: class = "block3looks"} by malo byť nastavené na `miestnosti1`{: class = "block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +prejdite na x: (-200) y: (0) + +nastavte [miestnosť v] na (1) + +spínaciu plochu do (miestnosť v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +keď príznak kliknutí ++ sada [miestnosti] pre (1) ++ prejsť na x: (-200) y: (0) ++ prepnúť kulisu (pokoj1 v) +navždy + , pokiaľ potom + bod v smere (0) + posunúť (4) kroky + koniec + ak je stlačené tlačidlo <(šípka doľava v)? > potom + bod v smere (-90) + posunúť (4) kroky + koniec + ak stlačíte klávesu <(šípka dole v)? > then + point in direction (180) + move (4) steps + end + if potom + bod v smere (90) + posunúť (4) kroky + koniec + ak < dotýkať farbu [#BABABA]? > potom + ťah (-4), kroky + koniec + v prípade, < dotýkať farba [# F2A24A] > potom + prepínač pozadia k (ďalší v pozadí) + prejdite na X: (-200) y: (0), + zmena [miestnosti V ] do (1) +konca +konca +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![snímka obrazovky](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/sk-SK/step_5.md b/sk-SK/step_5.md new file mode 100644 index 000000000..b046a706c --- /dev/null +++ b/sk-SK/step_5.md @@ -0,0 +1,3 @@ +## Výzva: vráťte sa späť do predchádzajúcej miestnosti + +Môžete si vytvoriť svoj `player` sprite presunúť späť na predchádzajúcu miestnosti, keď sa dotkne žltej dvere? Kód, ktorý potrebujete, je veľmi podobný kódu, ktorý ste už pridali, aby ste sa presunuli do ďalšej miestnosti. \ No newline at end of file diff --git a/sk-SK/step_6.md b/sk-SK/step_6.md new file mode 100644 index 000000000..aa1ca093b --- /dev/null +++ b/sk-SK/step_6.md @@ -0,0 +1,108 @@ +## Značky + +Teraz pridajte značky do vášho sveta, aby ste sa naučili hráčov na ich ceste. + +Váš projekt obsahuje `vítaný znak` sprite: + +![snímka obrazovky](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
ak < > potom +iný +koniec + +< (miestnosť :: premenné) = [1] > + +skryť + +zobraziť + +navždy +koniec + +keď klepol vlajku + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +keď vlajka klikne +navždy + ak < (miestnosť :: premenné) = [1] > potom + zobraziť + iný + skryť + koniec +koniec +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![snímka obrazovky](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +keď sa klavírka na +navždy +ak < (miestnosť :: premenné) = [1] > potom +zobrazuje +iný +skryť +koniec ++ ak sa < dotýka (hráč v)? > potom +povedzte [Vitajte! Môžete sa dostať k pokladu?] +iný +povedať [] +koniec +koniec +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![snímka obrazovky](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/sk-SK/step_7.md b/sk-SK/step_7.md new file mode 100644 index 000000000..d03742c14 --- /dev/null +++ b/sk-SK/step_7.md @@ -0,0 +1,7 @@ +## Výzva: poklad! + +Môžete pridať nejaký poklad, ktorý hráč nájde? + +Vytvorte `truhlica s pokladom` Sprite sa objaví iba v miestnosti 3 a nechajte tento spriťať povedať "Dobre!" keď sa `hráčov` to sprite dotkne. + +![snímka obrazovky](images/world-treasure.png) \ No newline at end of file diff --git a/sk-SK/step_8.md b/sk-SK/step_8.md new file mode 100644 index 000000000..5905a5c09 --- /dev/null +++ b/sk-SK/step_8.md @@ -0,0 +1,65 @@ +## Ľudia + +Pridajte ďalších ľudí do svojho sveta, s ktorými môže interagovať váš `hráč` sprite. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![človek](images/person.png) + +```blocks3 +keď vlajka klikne +prejdite na x: (0) y: (-150) +navždy + ak sa < dotýka (hráč v)? > potom + povedať [Viete, že môžete prejsť oranžovými a žltými dverami?] + iný + povedať [] + koniec +koniec +``` + +\--- / úloha \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +keď vlajka klikne +prejdite na x: (0) y: (-150) +navždy + ak sa < dotýka (hráč v)? > potom + povedať [Vedeli ste, že môžete prejsť oranžové a žlté dvere?] + iný + povedať [] ++ pohyb (1) kroky ++ ak na okraji, odskočiť + koniec +konca +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![snímka obrazovky](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/sk-SK/step_9.md b/sk-SK/step_9.md new file mode 100644 index 000000000..0437e595e --- /dev/null +++ b/sk-SK/step_9.md @@ -0,0 +1,39 @@ +## Výzva: pridajte nepriateľa + +Ak chcete, môžete do svojej hry pridať hliadkovanie nepriateľov. Ak sa hráč `hráča` dotkne nepriateľa, hra končí. + ++ Vaša hra už obsahuje `nepriateľa` sprite. Pridajte kód na `nepriateľa` sprite tak, aby sa objavil iba v miestnosti 2. + ++ Pridajte kód pre presunutie `nepriateľa` sprite a pre ukončenie hry, ak sa `nepriateľské` sprite dotýka `hráčov` sprite. Je to jednoduchšie v samostatných kódových blokoch. Tu je návod, ako môže vyzerať váš `nepriateľský kód`: + +```blocks3 +keď vlajka klikne +navždy +ak <(miestnosť :: premenné) =[2]> potom +ukáže +iný +skryť + +keď vlajka klikne +navždy +ak potom +zastaví [všetko v] + +keď príznakom klikni +prejdite na x: ( 170) y: (0) +navždy +opakovanie (130) +zmena x od (-1) +koniec +opakovanie (130) +zmena x podľa (1) +``` + ++ Vyskúšajte nový kód, aby ste sa uistili, že: + + `nepriateľ` sprite viditeľné len v izbe 2 + + `nepriateľ` sprite hliadky v miestnosti + + Hra končí, ak je `hráč` sprite dotkne `nepriateľ` sprite + +Môžete vytvoriť ďalšie `nepriateľa` sprite v miestnosti 3, ktorá hliadku hore a dole cez medzeru v stene? + +![snímka obrazovky](images/world-enemy2.png) \ No newline at end of file diff --git a/sl-SI/images/banner.png b/sl-SI/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/sl-SI/images/banner.png differ diff --git a/sl-SI/images/cats-finished.png b/sl-SI/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/sl-SI/images/cats-finished.png differ diff --git a/sl-SI/images/coin.png b/sl-SI/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/sl-SI/images/coin.png differ diff --git a/sl-SI/images/door.png b/sl-SI/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/sl-SI/images/door.png differ diff --git a/sl-SI/images/key.png b/sl-SI/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/sl-SI/images/key.png differ diff --git a/sl-SI/images/north-south-rooms.png b/sl-SI/images/north-south-rooms.png new file mode 100644 index 000000000..4e5799632 Binary files /dev/null and b/sl-SI/images/north-south-rooms.png differ diff --git a/sl-SI/images/number-grid.png b/sl-SI/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/sl-SI/images/number-grid.png differ diff --git a/sl-SI/images/person.png b/sl-SI/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/sl-SI/images/person.png differ diff --git a/sl-SI/images/player.png b/sl-SI/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/sl-SI/images/player.png differ diff --git a/sl-SI/images/showcase.png b/sl-SI/images/showcase.png new file mode 100644 index 000000000..398d3e72a Binary files /dev/null and b/sl-SI/images/showcase.png differ diff --git a/sl-SI/images/sign.png b/sl-SI/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/sl-SI/images/sign.png differ diff --git a/sl-SI/images/stage.png b/sl-SI/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/sl-SI/images/stage.png differ diff --git a/sl-SI/images/world-backdrops.png b/sl-SI/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/sl-SI/images/world-backdrops.png differ diff --git a/sl-SI/images/world-bribe.png b/sl-SI/images/world-bribe.png new file mode 100644 index 000000000..dc3b47d10 Binary files /dev/null and b/sl-SI/images/world-bribe.png differ diff --git a/sl-SI/images/world-door.png b/sl-SI/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/sl-SI/images/world-door.png differ diff --git a/sl-SI/images/world-enemy2.png b/sl-SI/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/sl-SI/images/world-enemy2.png differ diff --git a/sl-SI/images/world-key.png b/sl-SI/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/sl-SI/images/world-key.png differ diff --git a/sl-SI/images/world-person-test.png b/sl-SI/images/world-person-test.png new file mode 100644 index 000000000..081652deb Binary files /dev/null and b/sl-SI/images/world-person-test.png differ diff --git a/sl-SI/images/world-room-test.png b/sl-SI/images/world-room-test.png new file mode 100644 index 000000000..6152ebeaf Binary files /dev/null and b/sl-SI/images/world-room-test.png differ diff --git a/sl-SI/images/world-room.png b/sl-SI/images/world-room.png new file mode 100644 index 000000000..0b6699138 Binary files /dev/null and b/sl-SI/images/world-room.png differ diff --git a/sl-SI/images/world-sign-test.png b/sl-SI/images/world-sign-test.png new file mode 100644 index 000000000..46329ab2a Binary files /dev/null and b/sl-SI/images/world-sign-test.png differ diff --git a/sl-SI/images/world-sign-test2.png b/sl-SI/images/world-sign-test2.png new file mode 100644 index 000000000..5cc9f1cf6 Binary files /dev/null and b/sl-SI/images/world-sign-test2.png differ diff --git a/sl-SI/images/world-sign.png b/sl-SI/images/world-sign.png new file mode 100644 index 000000000..f1b705b8a Binary files /dev/null and b/sl-SI/images/world-sign.png differ diff --git a/sl-SI/images/world-starter.png b/sl-SI/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/sl-SI/images/world-starter.png differ diff --git a/sl-SI/images/world-treasure.png b/sl-SI/images/world-treasure.png new file mode 100644 index 000000000..e688a82ef Binary files /dev/null and b/sl-SI/images/world-treasure.png differ diff --git a/sl-SI/images/world-up.png b/sl-SI/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/sl-SI/images/world-up.png differ diff --git a/sl-SI/images/world-walls-test.png b/sl-SI/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/sl-SI/images/world-walls-test.png differ diff --git a/sl-SI/images/world-walls.png b/sl-SI/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/sl-SI/images/world-walls.png differ diff --git a/sl-SI/meta.yml b/sl-SI/meta.yml new file mode 100644 index 000000000..61bd2d8f3 --- /dev/null +++ b/sl-SI/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Ustvari svoj lastni svet +description: Ustvari svojo lastno avanturo z odprtim svetom +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Uvod + - + title: Premikanje igralčeve figure + - + title: Trdne stene + completion: + - engaged + - + title: Premikanje po tvojem svetu + - + title: 'Izziv: pojdi nazaj v prejšnjo sobo' + challenge: true + - + title: Znaki + - + title: 'Izziv: zaklad!' + challenge: true + - + title: Ljudje + - + title: 'Izziv: sovražniki' + challenge: true + - + title: Zbiraj kovance + - + title: Vrata in ključi + completion: + - internal + - + title: 'Izziv: razširi tvoj svet' + challenge: true + completion: + - external diff --git a/sl-SI/resources/CreateYourOwnWorldResources.sb3 b/sl-SI/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/sl-SI/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/sl-SI/resources/chest.svg b/sl-SI/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/sl-SI/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sl-SI/resources/coin.svg b/sl-SI/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/sl-SI/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sl-SI/resources/door-blue.png b/sl-SI/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/sl-SI/resources/door-blue.png differ diff --git a/sl-SI/resources/enemy.png b/sl-SI/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/sl-SI/resources/enemy.png differ diff --git a/sl-SI/resources/key.svg b/sl-SI/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/sl-SI/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/sl-SI/resources/person.png b/sl-SI/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/sl-SI/resources/person.png differ diff --git a/sl-SI/resources/player.png b/sl-SI/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/sl-SI/resources/player.png differ diff --git a/sl-SI/resources/room1.png b/sl-SI/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/sl-SI/resources/room1.png differ diff --git a/sl-SI/resources/room2.png b/sl-SI/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/sl-SI/resources/room2.png differ diff --git a/sl-SI/resources/room3.png b/sl-SI/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/sl-SI/resources/room3.png differ diff --git a/sl-SI/resources/sign.svg b/sl-SI/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/sl-SI/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sl-SI/scratch-translatable.txt b/sl-SI/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/sl-SI/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/sl-SI/solutions/CreateYourOwnWorld.sb3 b/sl-SI/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..32d50012c Binary files /dev/null and b/sl-SI/solutions/CreateYourOwnWorld.sb3 differ diff --git a/sl-SI/step_1.md b/sl-SI/step_1.md new file mode 100644 index 000000000..17b4f3e07 --- /dev/null +++ b/sl-SI/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +To je ** Scratch 3 ** različica projekta. Obstaja tudi [Scratch 2](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2) različica projekta. + +\--- /no-print \--- + +## Uvod + +V tem projektu se boš naučil-a, kako ustvariti svojo lastno pustolovsko igro, z več nivoji, ki jih je potrebno raziskati. + +### Kaj boš ustvaril-a? + +\--- no-print \--- + +Klikni zeleno zastavo, da začneš. Svoj lik po svetu premikaš s pritiskanjem na smerne tipke. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Za premikanje po svetu, boš uporablja-a smerne tipke. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Kaj boš potreboval-a? + +### Strojna oprema + +- Računalnik, ki lahko poganja Scratch 3 + +### Programska oprema + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Prenosi + +Vse, kar potrebuješ za dokončanje tega projekta, najdeš na [ rpf.io/p/sl/create-your-own-world-go ](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Kaj se boš naučil-a? + +- Uporabljati pogojno izbiro za odzivanje pritiskanje tipk +- Uporabljati spremenljivke za shranjevanje stanja igre +- Uporabljati pogojno izbiro, ki temelji na vrednosti spremenljivke +- Uporabljati sezname za shranjevanje podatkov + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Dodatne informacije za izobraževalce + +Če želite natisniti ta projekt, uporabite [tiskalniku prijazno različico](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Zaključen projekt lahko najdete [tukaj](https://rpf.io/p/en/create-your-own-world-get)"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/sl-SI/step_10.md b/sl-SI/step_10.md new file mode 100644 index 000000000..a45161c6e --- /dev/null +++ b/sl-SI/step_10.md @@ -0,0 +1,71 @@ +## Zbiraj kovance + +Tvoja figura `igralec` bi morala imeti možnost, da zbira kovance, ko se sprehaja po svetu. + +\--- task \--- + +Dodaj novo spremenljivko z imenom `kovanci`{:class="block3variables"} v tvoj projekt. + +\--- /task \--- + +\--- task \--- + +Izberi figuro `kovanec` in klikni na oko zraven napisa **Pokaži**. + +![posnetek zaslona](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Figuri `kovanec` dodaj kodo, zaradi katere se bo pojavil zgolj v prvi sobi. + +![posnetek zaslona](images/coin.png) + +```blocks3 +ko kliknemo na zastavo +ponavljaj +če <(soba :: Spremenljivka)=[1]> potem +pokaži +sicer +skrij +``` + +\--- /task \--- + +\--- task \--- + +Figuri `kovanec` dodaj kodo, da se bo figura `skrila`{:class="block3looks"} in dodala `1`{:class="block3variables"} spremenljivki `kovanci`{:class="block3variables"}, ko se figura `igralec` dotakne figure `kovanec`, da jo 'pobere'. + +![kovanec](images/coin.png) + +```blocks3 +ko kliknemo na zastavo +počakaj dokler ni < se dotika (igralec v)?> +spremeni [kovanci v] za (1) +skrij +ustavi [ostale ukaze za to figuro v] +``` + +Koda `ustavi ostale ukaze za to figuro`{:class="block3control"} je potrebna, da se figura `kovanec` preneha prikazovati v sobi 1, potem ko je pobrana. + +\--- /task \--- + +\--- task \--- + +Odru dodaj kodo, ki na začetku igre nastavi spremenljivko `kovanci`{:class="block3variables"} na `0`{:class="block3variables"}. + +![oder](images/stage.png) + +```blocks3 +ko kliknemo na zastavo +nastavi [kovanci v] na (0) +``` + +\--- /task \--- + +\--- task \--- + +Preizkusi svojo igro. Ko pobereš kovanec, bi se moralo število `kovanci` povečati na `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/sl-SI/step_11.md b/sl-SI/step_11.md new file mode 100644 index 000000000..cb93bd938 --- /dev/null +++ b/sl-SI/step_11.md @@ -0,0 +1,104 @@ +## Vrata in ključi + +Zdaj boš dodal-a kodo, ki bo poskrbela, da bodo nekatera vrata tvojega sveta zaklenjena, igralec pa mora najti ključ, da jih odpre, da bi lahko prišel v naslednjo sobo. + +\--- task \--- + +Izberi figuro `ključ`. Klikni na oko zraven napisa `Pokaži` {:class="blocklooks"} v meniju figur, tako da se figura prikaže na odru. + +\--- /task \--- + +\--- task \--- + +Uredi figuro `ključ`, da bo modre barve. + +\--- /task \--- + +\--- task \--- + +Zamenjaj ozadje na sobo 3, in postavi figuro `ključ` nekam, kjer jo je težko doseči! + +![posnetek zaslona](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Figuri `ključ` dodaj kodo, da bo vidna le v sobi 3. + +\--- /task \--- + +\--- task \--- + +Ustvari nov seznam imenovan `imetje`{:class="block3variables"}, v katerega se bodo shranili predmeti, ki jih figura `igralec` pobere. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +Za to potrebna koda je zelo podobna kodi, ki skrbi za pobiranje kovancev. Razlika je v tem, da ključe dodajaš v `imetje`{:class="block3variables"}. + +![ključ](images/key.png) + +```blocks3 +ko kliknemo na zastavo +počakaj dokler ni < se dotika (igralec v)?> +dodaj [modri ključ] k [imetje v] +skrij +ustavi [ostale ukaze za to figuro v] +``` + +\--- /task \--- + +\--- task \--- + +Odru dodaj kodo, ki bo na začetku igre izpraznila imetje. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Preizkusi svoj program in preveri ali lahko pobereš figuro `ključ` in jo dodaš v svoje imetje. + +\--- /task \--- + +\--- task \--- + +Dodaj še zaklenjena vrata. Izberi figuro `vrata-modra` in klikni na oko zraven napisa `Pokaži`{:class="blocklooks} v meniju figure, potem pa postavi figuro v prehod med dvema stenama. + +![posnetek zaslona](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Dodaj kodo v figuro `vrata-modra`, tako da bo vidna le v tretji sobi. + +\--- /task \--- + +\--- task \--- + +Dodaj kodo v `vrata-modra`, da se bo, ko se ključ nahaja v `imetju`{:class="block3variables"}, figura `skrila`{:class="block3looks"} in omogočila figuri `igralec` prehod. + +![vrata](images/door.png) + +```blocks3 +ko kliknemo na zastavo +počakaj dokler ni < Ali [imetje v] vsebuje (modri ključ)? +ustavi [ostale ukaze za to figuro v] +skrij +``` + +\--- /task \--- + +\--- task \--- + +Preizkusi svojo igro, da vidiš, ali lahko pobereš modri ključ in odpreš vrata! + +\--- /task \--- \ No newline at end of file diff --git a/sl-SI/step_12.md b/sl-SI/step_12.md new file mode 100644 index 000000000..cefc99b2b --- /dev/null +++ b/sl-SI/step_12.md @@ -0,0 +1,28 @@ +## Izziv: razširi tvoj svet + +Sedaj lahko nadaljuješ z ustvarjanjem tvojega sveta! Tu je nekaj idej: + ++ Dodaj več kovancev v več sob. Ali lahko poskrbiš, da nekatere kovance pazijo sovražniki, ki se premikajo? ++ Spremeni ozadja svoje igre ++ Igri dodaj glasbo in zvok ++ Dodaj več ljudi, sovražnikov in znakov ++ Dodaj rdeča in rumena vrata in posebne ključe, ki jih odprejo ++ Svetu dodaj še več sob ++ Dodaj še druge koristne predmete + + + Uporabi kovance, da pridobiš informacije od drugih ljudi: + +![screenshot](images/world-bribe.png) + ++ Lahko celo dodaš vrata na severno in južno steno prve sove, tako da se lahko igralec med sobami premika v vseh štirih smereh. Igra lahko ima denimo 9 sob v 3×3 veliki mreži. Številki sobe lahko v tem primeru dodajaš `3`, da se premakneš eno sobo navzdol. + +![posnetek zaslona](images/north-south-rooms.png) + +![posnetek zaslona](images/number-grid.png) + +```blocks3 +če < se dotika barve []?> potem +zamenjaj ozadje na ((videz [število v]) + (3)) +pojdi na x:(0) y:(200) +spremeni [soba v] za (3) +``` \ No newline at end of file diff --git a/sl-SI/step_13.md b/sl-SI/step_13.md new file mode 100644 index 000000000..911efb435 --- /dev/null +++ b/sl-SI/step_13.md @@ -0,0 +1,21 @@ +## Kaj sledi? + +Nadaljuj z ustvarjanjem še ene igre in se prebij skozi projekt [MAČKE!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Klikni in vleci z miško, da s svinčnikom narišeš črto. Tvoja naloga je preprečiti mačkam, da padejo v katero od lukenj in da ustvariš varno pot do izhoda. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Mačke končane](images/cats-finished.png) + +\--- /print-only \--- + +Če želiš namesto tega ustvariti igro z uporabo programskega jezika Python, preizkusi [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) projekt. \ No newline at end of file diff --git a/sl-SI/step_2.md b/sl-SI/step_2.md new file mode 100644 index 000000000..7d4734095 --- /dev/null +++ b/sl-SI/step_2.md @@ -0,0 +1,131 @@ +## Premikanje igralčeve figure + +Začni tako, da ustvariš figuro `igralec`, ki se lahko premika po tvojem svetu. + +\--- task \--- + +Odpri začetni projekt "Ustvari svoj lastni svet". + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Če imaš Scratch uporabniški račun, lahko ustvariš kopijo s klikom na **Predelaj**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Če želiš prenesti in namestiti Namizni Scratch, ga lahko najdeš na [rpf.io/scratchoff](https://rpf.io/scratchoff){: target = "_ blank"}. + +![posnetek zaslona](images/world-starter.png) + +\--- /task \--- + +Ob pritisku na katero od smernih tipk, bi se moral `igralec` premikati nakokoli. Ko je pritisnjena tipka gor, bi se `igralec` moral odzivati tako, da se premika navzgor po odru. + +\--- task \--- + +Figuri `igralec` dodaj to kodo: + +![igralec](images/player.png) + +```blocks3 +ko kliknemo na zastavo +ponavljaj + če potem + obrni se v smer (0) + pojdi (4) korakov + konec +konec +``` + +\--- /task \--- + +\--- task \--- + +Klikni na zastavo in pritisni smerno tipko gor. Ali se figura `igralec` premika navzgor? + +![posnetek zaslona](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Za premikanje figure `igralec` v levo, moraš dodati še en blok `če`{:class="block3control"} s podobno kodo: + +![igralec](images/player.png) + +```blocks3 +ko kliknemo na zastavo +ponavljaj + če potem + obrni se v smer (0) + pojdi (4) korakov + konec ++ če potem + obrni se v smer (-90) + pojdi (4) korakov + konec +konec +``` + +\--- /task \--- + +\--- task \--- + +Figuri `igralec` dodaj še več kode, da se bo lahko premikala tudi v desno in navzdol. Uporabi kodo, ki jo že imaš, da si pomagaš. + +\--- hints \--- + +\--- hint \--- + +Za premikanje gor moraš figuro `igralec` obrniti v smer `0` stopinj. Kaj moraš storiti, da figuro premikaš navzdol? + +Za premikanje v levo moraš figuro obrniti v smer `-90` stopinj. Kaj moraš storiti, da figuro premikaš v desno? + +\--- /hint \--- + +\--- hint \--- + +Spremeniti moraš ta dva bloka: + +![igralec](images/player.png) + +```blocks3 + + +obrni se v smer () +``` + +Podvoji kodo, ki omogoča premikanje figure `igralec` navzgor in spremeni ta dva bloka, da se figura premika navzdol. Ponovno podovji to kodo in jo spremeni tako, da se bo figura premikala v desno. + +\--- /hint \--- + +\--- hint \--- + +Tvoja koda naj bi izgledala tako: + +![igralec](images/player.png) + +```blocks3 +ko kliknemo na zastavo +ponavljaj + če potem + obrni se v smer (0) + pojdi (4) korakov + konec +če potem + obrni se v smer (-90) + pojdi (4) korakov + konec ++ če potem + obrni se v smer (180) + pojdi (4) korakov + konec +če potem + obrni se v smer (90) + pojdi (4) korakov + konec +konec +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/sl-SI/step_3.md b/sl-SI/step_3.md new file mode 100644 index 000000000..fc2244165 --- /dev/null +++ b/sl-SI/step_3.md @@ -0,0 +1,50 @@ +## Trdne stene + +\--- task \--- + +Ponovno preizkusi figuro `igralec`. Do you see that it can walk through the light grey walls? + +![posnetek zaslona](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To popraviš tako, da poskrbiš, da se figura `igralec` pomakne nazaj, kadar se dotakne svetlo-sive stene. Takšna je koda, ki jo moraš dodati znotraj bloka `ponavljaj`{:class="block3control"}, pod bloke, ki skrbijo za premikanje: + +![igralec](images/player.png) + +```blocks3 +ko kliknemo na zastavo +ponavljaj + če potem + obrni se v smer (0) + pojdi (4) korakov + konec +če potem + obrni se v smer (-90) + pojdi (4) korakov + konec ++ če then + point in direction (180) + move (4) steps + end + if potem + obrni se v smer (90) + pojdi (4) korakov + konec ++ če < se dotika barve [#BABABA]? > potem + pojdi (-4) korakov + konec +konec +``` + +\--- /task \--- + +\--- task \--- + +Poskusi premakniti figuro `igralec` skozi zid. Če tvoja koda deluje, to ne bi smelo biti mogoče. + +![posnetek zaslona](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/sl-SI/step_4.md b/sl-SI/step_4.md new file mode 100644 index 000000000..873e3e547 --- /dev/null +++ b/sl-SI/step_4.md @@ -0,0 +1,142 @@ +## Premikanje po tvojem svetu + +Figura `igralca` bi morala biti spodobna hoditi skozi vrata v druge sobe. + +Tvoj projekt vsebuje ozadja za dodatne sobe: + +![posnetek zaslona](images/world-backdrops.png) + +\--- task \--- + +Ustvari novo spremenljivko, ki je namenjena vsem figuram, in jo poimenuj `soba`{:class="block3variables"}. Z njo bomo opazovali, v kateri sobi se figura `igralec` nahaja. + +[[[generic-scratch3-add-variable]]] + +![posnetek zaslona](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Ko se figura `igralec` dotakne oranžnih vrat v prvi sobi, naj igra prikaže naslednje ozadje, figura `igralec` pa naj se premakne nazaj na levo stran odra. V zanko `ponavljaj`{:class="block3control"}, ki se nahaja v figuri `igralec`, dodaj to kodo: + +![igralec](images/player.png) + +```blocks3 +ko kliknemo na zastavo +ponavljaj + če potem + obrni se v smer (0) + pojdi (4) korakov + konec + če potem + obrni se v smer (-90) + pojdi (4) korakov + konec + če then + point in direction (180) + move (4) steps + end + if potem + obrni se v smer (90) + pojdi (4) korakov + konec + če < se dotika barve [#BABABA]? > potem + pojdi (-4) korakov + konec ++ če < se dotika barve [#F2A24A] > potem + zamenjaj ozadje na (naslednje ozadje v) + pojdi na x: (-200) y: (0) + spremeni [soba v] za (1) + konec +konec +``` + +\--- /task \--- + +\--- task \--- + +Vsakič, ko se igra zažene, moramo ponastaviti sobo, položaj igralca in ozadje. + +Na **začetek** kode v tvoji figuri `igralec`, nad zanko `ponavljaj`{:class="block3control"}, dodaj kodo, ki bo ob kliku na zastavico ponastavila vse: + +\--- hints \--- + +\--- hint \--- + +Ko se igra začne: + ++ Vrednost spremenljivke `soba`{:class="block3variables"} mora biti nastavljena na `1`{:class="block3variables"} ++ `ozadje`{:class="block3looks"} se naj zamenja na `soba1`{:class="block3looks"} ++ Položaj figure `igralec` naj se nastavi na `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Potrebni so ti dodatni bloki: + +![igralec](images/player.png) + +```blocks3 +pojdi na x:(-200) y: (0) + +nastavi[soba v] na (1) + +zamenjaj ozadje na (soba1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Tako bi morala izgledati tvoja dokončana koda: + +![igralec](images/player.png) + +```blocks3 +ko kliknemo na zastavo ++nastavi [soba v] na (1) ++pojdi na x:(-200) y: (0) ++zamenjaj ozadje na (soba1 v) +ponavljaj + če potem + obrni se v smer (0) + pojdi (4) korakov + konec + če potem + obrni se v smer (-90) + pojdi (4) korakov + konec + če then + point in direction (180) + move (4) steps + end + if potem + obrni se v smer (90) + pojdi (4) korakov + konec + če < se dotika barve [#BABABA]? > potem + pojdi (-4) korakov + konec ++ če < se dotika barve [#F2A24A] > potem + zamenjaj ozadje na (naslednje ozadje v) + pojdi na x: (-200) y: (0) + spremeni [soba v] za (1) + konec +konec +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Klikni na zastavico in potem premikaj figuro `igralec`, dokler se ne dotakne oranžnih vrat. Ali se je figura premaknila na naslednji zaslon? Ali se spremenljivka `soba`{:class="block3variables"} spremeni v `2`? + +![posnetek zaslona](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/sl-SI/step_5.md b/sl-SI/step_5.md new file mode 100644 index 000000000..a4e06e537 --- /dev/null +++ b/sl-SI/step_5.md @@ -0,0 +1,3 @@ +## Izziv: premakni se nazaj v prejšnjo sobo + +Ali znaš narediti, da se tvoja figura `igralec` premakne nazaj na prejšnjo sobo, ko se dotakne rumenih vrat? Koda, ki jo za to potrebuješ, je zelo podobna kodi, ki si jo že dodal-a za premik figure v naslednjo sobo. \ No newline at end of file diff --git a/sl-SI/step_6.md b/sl-SI/step_6.md new file mode 100644 index 000000000..cade5aee9 --- /dev/null +++ b/sl-SI/step_6.md @@ -0,0 +1,108 @@ +## Znaki + +Zdaj v svoj svet dodaj še znake, ki bodo igralca vodili na njegovem potovanju. + +V tvojem projektu se nahaja `znak dobrodošli`: + +![posnetek zaslona](images/world-sign.png) + +\--- task \--- + +Figura `znak dobrodošli` naj bo viden le v prvi sobi, zato dodaj nekaj kode, ki bo poskrbela, da bo temu tako: + +\--- hints \--- + +\--- hint \--- + +`Ko kliknemo na zastavo`{:class="block3events"}, v zanki `ponavljaj`{:class="block3control"}, preveri `če`{:class="block3control"} je `soba enako 1`{:class="block3variables"} in v tem primeru `pokaži` {:class="block3looks"} figuro `znak dobrodošli`, `sicer`{:class="block3control"} pa to figuro `skrij`{:class="block3looks"}. + +\--- /hint \--- + +\--- hint \--- + +To so potrebni bloki: + +![znak](images/sign.png) + +```blocks3 +
če < > potem +sicer +konec + +< (soba: spremenljivke) = [1] > + +skrij + +pokaži + +ponavljaj +konec + +ko kliknemo na zastavo + +``` + +\--- /hint \--- + +\--- hint \--- + +Tu je celotna koda: + +![znak](images/sign.png) + +```blocks3 +ko kliknemo na zastavo +ponavljaj + če je < (soba: spremenljivke) = [1] > potem + pokaži + sicer + skrij + konec +konec +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Preizkusi kodo figure `znak dobrodošli`, tako da se premikaš med sobama. Znak bi moral biti viden le v prvi sobi. + +![posnetek zaslona](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +Od znaka ni kaj dosti koristi, če ničesar ne pove! Dodaj še nekaj kode, ki prikaže sporočilo, če se figura `znak dobrodošli` dotika figure `igralec`: + +![znak](images/sign.png) + +```blocks3 +ko kliknemo na zastavo +ponavljaj + če je < (soba: spremenljivke) = [1] > potem + pokaži + sicer + skrij + konec ++če < se dotika (igralec v)? > potem +reci [Dobrodošli! Ali lahko pridete do zaklada?] +sicer +reci[] +konec +konec +``` + +\--- /task \--- + +\--- task \--- + +Ponovno preizkusi figuro `znak dobrodošli`. Sedaj bi moral videti sporočilo, ko se figura `igralec` dotakne figure `znak dobrodošli`. + +![posnetek zaslona](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/sl-SI/step_7.md b/sl-SI/step_7.md new file mode 100644 index 000000000..41af578f3 --- /dev/null +++ b/sl-SI/step_7.md @@ -0,0 +1,7 @@ +## Izziv: zaklad! + +Ali lahko dodaš zaklad, ki ga mora igralec poiskati? + +Poskrbi, da sebo figura `skrinjica` pojavila le v tretji sobi in naredi, da bo ta figura rekla "Dobro opravljeno!", ko se je bo dotaknila figura `igralec`. + +![posnetek zaslona](images/world-treasure.png) \ No newline at end of file diff --git a/sl-SI/step_8.md b/sl-SI/step_8.md new file mode 100644 index 000000000..a3f2f6a7f --- /dev/null +++ b/sl-SI/step_8.md @@ -0,0 +1,65 @@ +## Ljudje + +Svojemu svetu dodaj še druge ljudi, s katerimi se lahko tvoja figura `igralec` sporazumeva. + +\--- task \--- + +Izberi figuro `oseba`. + +![Figura osebe](images/person.png) + +\--- /task \--- + +\--- task \--- + +Figuri `oseba` dodaj nekaj kode, tako da bo ta oseba govorila s figuro `igralec`. Ta koda je zelo podobna kodi, ki si jo dodal-a figuri `znak`: + +![oseba](images/person.png) + +```blocks3 +ko kliknemo na zastavo +pojdi na x: (0) y: (-150) +ponavljaj + če < se dotika (igralec v)? >; potem + reci [Ali ste vedeli, da lahko greste skozi oranžna in rumena vrata?] + sicer + reci [] + konec +konec +``` + +\--- /task \--- + +\--- task \--- + +Omogoči figuri `oseba`, da se premika. Dodaj ji ta dva bloka v razdelek `sicer`{:class="block3control"}: + +![oseba](images/person.png) + +```blocks3 +ko kliknemo na zastavo +pojdi na x: (0) y: (-150) +ponavljaj + če < se dotika (igralec v)? >; potem + reci [Ali ste vedeli, da lahko greste skozi oranžna in rumena vrata?] + sicer + reci [] ++ pojdi (1) korakov ++ odbij se, če si na robu + konec +konec +``` + +\--- /task \--- + +Vaša figura `oseba` se bo sedaj premaknila, a se bo nehala pogovarjati s figuro `igralec`. + +![posnetek zaslona](images/world-person-test.png) + +\--- task \--- + +Figuri `oseba` dodaj kodo, da se bo pojavila le v prvi sobi. Koda, ki jo potrebuješ, je popolnoma enaka kodi, ki poskrbi, da je figura `znak` vidna le v prvi sobi. + +Poskrbi, da boš preizkusil-a svojo novo kodo. + +\--- /task \--- \ No newline at end of file diff --git a/sl-SI/step_9.md b/sl-SI/step_9.md new file mode 100644 index 000000000..eeb62af70 --- /dev/null +++ b/sl-SI/step_9.md @@ -0,0 +1,41 @@ +## Challenge: sovražniki + +Če želiš, lahko dodaš sovražnike, ki oprezajo po igri. Če se figura `igralec` dotakne sovražnika, je igre konec. + ++ Tvoja igra že vsebuje figuro `sovražnik`. Figuri `sovražnik` dodaj kodo, da se bo pojavila le v drugi sobi. + ++ Dodaj kodo, ki bo premikala figuro `sovražnik` in končala igro, če se figura `sovražnik` dotakne figure `igralec`. To je lažje narediti v ločenih blokih kode. Tako bi lahko tvoja koda figure `sovražnik` izgledala: + +```blocks3 +ko kliknemo na zastavo +ponavljaj +če <(soba :: Spremenljivka)=[2]> potem +pokaži +sicer +skrij + +ko kliknemo na zastavo +ponavljaj +če potem +ustavi (vse v) + +ko kliknemo na zastavo +pojdi na x: (170) y:(0) +ponavljaj +ponovi (130) krat +spremeni x za (-1) +konec +ponovi (130) krat +spremeni x za (1) +konec +konec +``` + ++ Preizkusi svojo igro in se prepričaj, da: + + Je figura `sovražnik` vidna le v sobi 2 + + Figura `sovražnik` patruljira po sobi + + Se igra konča, ko se figura `igralec` dotakne figure `sovražnik` + +Ali lahko ustvariš še eno figuro `sovražnik` v sobi 3, ki se bo premikala gor in dol po zarezi v steni? + +![posnetek zaslona](images/world-enemy2.png) \ No newline at end of file diff --git a/sr-SP/images/banner.png b/sr-SP/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/sr-SP/images/banner.png differ diff --git a/sr-SP/images/cats-finished.png b/sr-SP/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/sr-SP/images/cats-finished.png differ diff --git a/sr-SP/images/coin.png b/sr-SP/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/sr-SP/images/coin.png differ diff --git a/sr-SP/images/door.png b/sr-SP/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/sr-SP/images/door.png differ diff --git a/sr-SP/images/key.png b/sr-SP/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/sr-SP/images/key.png differ diff --git a/sr-SP/images/north-south-rooms.png b/sr-SP/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/sr-SP/images/north-south-rooms.png differ diff --git a/sr-SP/images/number-grid.png b/sr-SP/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/sr-SP/images/number-grid.png differ diff --git a/sr-SP/images/person.png b/sr-SP/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/sr-SP/images/person.png differ diff --git a/sr-SP/images/player.png b/sr-SP/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/sr-SP/images/player.png differ diff --git a/sr-SP/images/showcase.png b/sr-SP/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/sr-SP/images/showcase.png differ diff --git a/sr-SP/images/sign.png b/sr-SP/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/sr-SP/images/sign.png differ diff --git a/sr-SP/images/stage.png b/sr-SP/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/sr-SP/images/stage.png differ diff --git a/sr-SP/images/world-backdrops.png b/sr-SP/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/sr-SP/images/world-backdrops.png differ diff --git a/sr-SP/images/world-bribe.png b/sr-SP/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/sr-SP/images/world-bribe.png differ diff --git a/sr-SP/images/world-door.png b/sr-SP/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/sr-SP/images/world-door.png differ diff --git a/sr-SP/images/world-enemy2.png b/sr-SP/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/sr-SP/images/world-enemy2.png differ diff --git a/sr-SP/images/world-key.png b/sr-SP/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/sr-SP/images/world-key.png differ diff --git a/sr-SP/images/world-person-test.png b/sr-SP/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/sr-SP/images/world-person-test.png differ diff --git a/sr-SP/images/world-room-test.png b/sr-SP/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/sr-SP/images/world-room-test.png differ diff --git a/sr-SP/images/world-room.png b/sr-SP/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/sr-SP/images/world-room.png differ diff --git a/sr-SP/images/world-sign-test.png b/sr-SP/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/sr-SP/images/world-sign-test.png differ diff --git a/sr-SP/images/world-sign-test2.png b/sr-SP/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/sr-SP/images/world-sign-test2.png differ diff --git a/sr-SP/images/world-sign.png b/sr-SP/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/sr-SP/images/world-sign.png differ diff --git a/sr-SP/images/world-starter.png b/sr-SP/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/sr-SP/images/world-starter.png differ diff --git a/sr-SP/images/world-treasure.png b/sr-SP/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/sr-SP/images/world-treasure.png differ diff --git a/sr-SP/images/world-up.png b/sr-SP/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/sr-SP/images/world-up.png differ diff --git a/sr-SP/images/world-walls-test.png b/sr-SP/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/sr-SP/images/world-walls-test.png differ diff --git a/sr-SP/images/world-walls.png b/sr-SP/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/sr-SP/images/world-walls.png differ diff --git a/sr-SP/meta.yml b/sr-SP/meta.yml new file mode 100644 index 000000000..50ac640b3 --- /dev/null +++ b/sr-SP/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Увод + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/sr-SP/resources/CreateYourOwnWorldResources.sb3 b/sr-SP/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/sr-SP/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/sr-SP/resources/chest.svg b/sr-SP/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/sr-SP/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sr-SP/resources/coin.svg b/sr-SP/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/sr-SP/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sr-SP/resources/door-blue.png b/sr-SP/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/sr-SP/resources/door-blue.png differ diff --git a/sr-SP/resources/enemy.png b/sr-SP/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/sr-SP/resources/enemy.png differ diff --git a/sr-SP/resources/key.svg b/sr-SP/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/sr-SP/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/sr-SP/resources/person.png b/sr-SP/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/sr-SP/resources/person.png differ diff --git a/sr-SP/resources/player.png b/sr-SP/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/sr-SP/resources/player.png differ diff --git a/sr-SP/resources/room1.png b/sr-SP/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/sr-SP/resources/room1.png differ diff --git a/sr-SP/resources/room2.png b/sr-SP/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/sr-SP/resources/room2.png differ diff --git a/sr-SP/resources/room3.png b/sr-SP/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/sr-SP/resources/room3.png differ diff --git a/sr-SP/resources/sign.svg b/sr-SP/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/sr-SP/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sr-SP/scratch-translatable.txt b/sr-SP/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/sr-SP/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/sr-SP/solutions/CreateYourOwnWorld.sb3 b/sr-SP/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/sr-SP/solutions/CreateYourOwnWorld.sb3 differ diff --git a/sr-SP/step_1.md b/sr-SP/step_1.md new file mode 100644 index 000000000..a2f955df1 --- /dev/null +++ b/sr-SP/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Ово је **Scratch 3** верзија пројекта. Постоји, такође, и [Scratch 2 верзија пројекта](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Увод + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Шта ћеш направити + +\--- no-print \--- + +Кликни на зелену заставицу да почнеш. Користи тастере са стрелицама за кретање твог лика по свету. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Користи тастере са стрелицама за кретање твог лика по свету. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Шта ће ти бити потребно + +### Хардвер + +- Рачунар који може да покрене Scratch 3 + +### Софтвер + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Преузимање + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Шта ћеш научити + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Додатне информације за наставнике + +Уколико желите да одштампате овај пројекат, молимо Вас користите [верзију за штампање](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Завршени пројекат можете пронаћи [овде](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/sr-SP/step_10.md b/sr-SP/step_10.md new file mode 100644 index 000000000..8422ab3b3 --- /dev/null +++ b/sr-SP/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![снимак екрана](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![слика екрана](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/sr-SP/step_11.md b/sr-SP/step_11.md new file mode 100644 index 000000000..3c463c138 --- /dev/null +++ b/sr-SP/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![слика екрана](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![слика екрана](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/sr-SP/step_12.md b/sr-SP/step_12.md new file mode 100644 index 000000000..74e91bd3e --- /dev/null +++ b/sr-SP/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Ево неколико идеја: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![снимак екрана](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![слика екрана](images/north-south-rooms.png) + +![слика екрана](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/sr-SP/step_13.md b/sr-SP/step_13.md new file mode 100644 index 000000000..1c91a2e94 --- /dev/null +++ b/sr-SP/step_13.md @@ -0,0 +1,21 @@ +## Шта даље? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/sr-SP/step_2.md b/sr-SP/step_2.md new file mode 100644 index 000000000..b300d1328 --- /dev/null +++ b/sr-SP/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Ако имаш Скреч налог, можеш да направиш копију тако што ћеш кликнути на **Преради**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Ако је потребно да преузмеш и инсталираш Скреч уређивач ван мреже, можеш га пронаћи на [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![снимак екрана](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![слика екрана](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/sr-SP/step_3.md b/sr-SP/step_3.md new file mode 100644 index 000000000..ae275ab7b --- /dev/null +++ b/sr-SP/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![слика екрана](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![слика екрана](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/sr-SP/step_4.md b/sr-SP/step_4.md new file mode 100644 index 000000000..7b023bf09 --- /dev/null +++ b/sr-SP/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![слика екрана](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![снимак екрана](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![слика екрана](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/sr-SP/step_5.md b/sr-SP/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/sr-SP/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/sr-SP/step_6.md b/sr-SP/step_6.md new file mode 100644 index 000000000..277fd2d58 --- /dev/null +++ b/sr-SP/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![слика екрана](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Ево блокова кода који су ти потребни: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![слика екрана](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![слика екрана](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/sr-SP/step_7.md b/sr-SP/step_7.md new file mode 100644 index 000000000..7c3c64b15 --- /dev/null +++ b/sr-SP/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![слика екрана](images/world-treasure.png) \ No newline at end of file diff --git a/sr-SP/step_8.md b/sr-SP/step_8.md new file mode 100644 index 000000000..777c453a7 --- /dev/null +++ b/sr-SP/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![слика екрана](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/sr-SP/step_9.md b/sr-SP/step_9.md new file mode 100644 index 000000000..d94f4cd82 --- /dev/null +++ b/sr-SP/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![слика екрана](images/world-enemy2.png) \ No newline at end of file diff --git a/sv-SE/images/banner.png b/sv-SE/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/sv-SE/images/banner.png differ diff --git a/sv-SE/images/cats-finished.png b/sv-SE/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/sv-SE/images/cats-finished.png differ diff --git a/sv-SE/images/coin.png b/sv-SE/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/sv-SE/images/coin.png differ diff --git a/sv-SE/images/door.png b/sv-SE/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/sv-SE/images/door.png differ diff --git a/sv-SE/images/key.png b/sv-SE/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/sv-SE/images/key.png differ diff --git a/sv-SE/images/north-south-rooms.png b/sv-SE/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/sv-SE/images/north-south-rooms.png differ diff --git a/sv-SE/images/number-grid.png b/sv-SE/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/sv-SE/images/number-grid.png differ diff --git a/sv-SE/images/person.png b/sv-SE/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/sv-SE/images/person.png differ diff --git a/sv-SE/images/player.png b/sv-SE/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/sv-SE/images/player.png differ diff --git a/sv-SE/images/showcase.png b/sv-SE/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/sv-SE/images/showcase.png differ diff --git a/sv-SE/images/sign.png b/sv-SE/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/sv-SE/images/sign.png differ diff --git a/sv-SE/images/stage.png b/sv-SE/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/sv-SE/images/stage.png differ diff --git a/sv-SE/images/world-backdrops.png b/sv-SE/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/sv-SE/images/world-backdrops.png differ diff --git a/sv-SE/images/world-bribe.png b/sv-SE/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/sv-SE/images/world-bribe.png differ diff --git a/sv-SE/images/world-door.png b/sv-SE/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/sv-SE/images/world-door.png differ diff --git a/sv-SE/images/world-enemy2.png b/sv-SE/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/sv-SE/images/world-enemy2.png differ diff --git a/sv-SE/images/world-key.png b/sv-SE/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/sv-SE/images/world-key.png differ diff --git a/sv-SE/images/world-person-test.png b/sv-SE/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/sv-SE/images/world-person-test.png differ diff --git a/sv-SE/images/world-room-test.png b/sv-SE/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/sv-SE/images/world-room-test.png differ diff --git a/sv-SE/images/world-room.png b/sv-SE/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/sv-SE/images/world-room.png differ diff --git a/sv-SE/images/world-sign-test.png b/sv-SE/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/sv-SE/images/world-sign-test.png differ diff --git a/sv-SE/images/world-sign-test2.png b/sv-SE/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/sv-SE/images/world-sign-test2.png differ diff --git a/sv-SE/images/world-sign.png b/sv-SE/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/sv-SE/images/world-sign.png differ diff --git a/sv-SE/images/world-starter.png b/sv-SE/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/sv-SE/images/world-starter.png differ diff --git a/sv-SE/images/world-treasure.png b/sv-SE/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/sv-SE/images/world-treasure.png differ diff --git a/sv-SE/images/world-up.png b/sv-SE/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/sv-SE/images/world-up.png differ diff --git a/sv-SE/images/world-walls-test.png b/sv-SE/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/sv-SE/images/world-walls-test.png differ diff --git a/sv-SE/images/world-walls.png b/sv-SE/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/sv-SE/images/world-walls.png differ diff --git a/sv-SE/meta.yml b/sv-SE/meta.yml new file mode 100644 index 000000000..aec233382 --- /dev/null +++ b/sv-SE/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Introduktion + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/sv-SE/resources/CreateYourOwnWorldResources.sb3 b/sv-SE/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/sv-SE/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/sv-SE/resources/chest.svg b/sv-SE/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/sv-SE/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sv-SE/resources/coin.svg b/sv-SE/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/sv-SE/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sv-SE/resources/door-blue.png b/sv-SE/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/sv-SE/resources/door-blue.png differ diff --git a/sv-SE/resources/enemy.png b/sv-SE/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/sv-SE/resources/enemy.png differ diff --git a/sv-SE/resources/key.svg b/sv-SE/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/sv-SE/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/sv-SE/resources/person.png b/sv-SE/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/sv-SE/resources/person.png differ diff --git a/sv-SE/resources/player.png b/sv-SE/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/sv-SE/resources/player.png differ diff --git a/sv-SE/resources/room1.png b/sv-SE/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/sv-SE/resources/room1.png differ diff --git a/sv-SE/resources/room2.png b/sv-SE/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/sv-SE/resources/room2.png differ diff --git a/sv-SE/resources/room3.png b/sv-SE/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/sv-SE/resources/room3.png differ diff --git a/sv-SE/resources/sign.svg b/sv-SE/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/sv-SE/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sv-SE/scratch-translatable.txt b/sv-SE/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/sv-SE/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/sv-SE/solutions/CreateYourOwnWorld.sb3 b/sv-SE/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/sv-SE/solutions/CreateYourOwnWorld.sb3 differ diff --git a/sv-SE/step_1.md b/sv-SE/step_1.md new file mode 100644 index 000000000..1e6b4595b --- /dev/null +++ b/sv-SE/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Inledning + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Vad du kommer att göra + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Vad du behöver + +### Hårdvara + +- En dator som kan hantera Scratch 3 + +### Programvara + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## titel: Vad du kommer att lära dig + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Additional information for educators + +If you need to print this project, please use the [printer-friendly version](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +You can find the [completed project here](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/sv-SE/step_10.md b/sv-SE/step_10.md new file mode 100644 index 000000000..7e9c2c70b --- /dev/null +++ b/sv-SE/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![skärmdump](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![skärmdump](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/sv-SE/step_11.md b/sv-SE/step_11.md new file mode 100644 index 000000000..978b89a73 --- /dev/null +++ b/sv-SE/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![skärmdump](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![nyckel](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![skärmdump](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/sv-SE/step_12.md b/sv-SE/step_12.md new file mode 100644 index 000000000..e27ba35e3 --- /dev/null +++ b/sv-SE/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![skärmdump](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![skärmdump](images/north-south-rooms.png) + +![skärmdump](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/sv-SE/step_13.md b/sv-SE/step_13.md new file mode 100644 index 000000000..39f343f1e --- /dev/null +++ b/sv-SE/step_13.md @@ -0,0 +1,21 @@ +## Vad händer nu? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/sv-SE/step_2.md b/sv-SE/step_2.md new file mode 100644 index 000000000..c7ae9ff4e --- /dev/null +++ b/sv-SE/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +If you have a Scratch account you can make a copy by clicking **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. If you need to download and install the Scratch offline editor, you can find it at [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![skärmdump](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![skärmdump](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/sv-SE/step_3.md b/sv-SE/step_3.md new file mode 100644 index 000000000..fa1245a0d --- /dev/null +++ b/sv-SE/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![skärmdump](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![skärmdump](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/sv-SE/step_4.md b/sv-SE/step_4.md new file mode 100644 index 000000000..c64f5b171 --- /dev/null +++ b/sv-SE/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![skärmdump](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![skärmdump](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![skärmdump](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/sv-SE/step_5.md b/sv-SE/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/sv-SE/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/sv-SE/step_6.md b/sv-SE/step_6.md new file mode 100644 index 000000000..6f696354a --- /dev/null +++ b/sv-SE/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![skärmdump](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![skärmdump](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![skärmdump](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/sv-SE/step_7.md b/sv-SE/step_7.md new file mode 100644 index 000000000..44c3a9bb9 --- /dev/null +++ b/sv-SE/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![skärmdump](images/world-treasure.png) \ No newline at end of file diff --git a/sv-SE/step_8.md b/sv-SE/step_8.md new file mode 100644 index 000000000..2917d1d6a --- /dev/null +++ b/sv-SE/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![skärmdump](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/sv-SE/step_9.md b/sv-SE/step_9.md new file mode 100644 index 000000000..d37974ad5 --- /dev/null +++ b/sv-SE/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![skärmdump](images/world-enemy2.png) \ No newline at end of file diff --git a/tr-TR/images/banner.png b/tr-TR/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/tr-TR/images/banner.png differ diff --git a/tr-TR/images/cats-finished.png b/tr-TR/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/tr-TR/images/cats-finished.png differ diff --git a/tr-TR/images/coin.png b/tr-TR/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/tr-TR/images/coin.png differ diff --git a/tr-TR/images/door.png b/tr-TR/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/tr-TR/images/door.png differ diff --git a/tr-TR/images/key.png b/tr-TR/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/tr-TR/images/key.png differ diff --git a/tr-TR/images/north-south-rooms.png b/tr-TR/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/tr-TR/images/north-south-rooms.png differ diff --git a/tr-TR/images/number-grid.png b/tr-TR/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/tr-TR/images/number-grid.png differ diff --git a/tr-TR/images/person.png b/tr-TR/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/tr-TR/images/person.png differ diff --git a/tr-TR/images/player.png b/tr-TR/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/tr-TR/images/player.png differ diff --git a/tr-TR/images/showcase.png b/tr-TR/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/tr-TR/images/showcase.png differ diff --git a/tr-TR/images/sign.png b/tr-TR/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/tr-TR/images/sign.png differ diff --git a/tr-TR/images/stage.png b/tr-TR/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/tr-TR/images/stage.png differ diff --git a/tr-TR/images/world-backdrops.png b/tr-TR/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/tr-TR/images/world-backdrops.png differ diff --git a/tr-TR/images/world-bribe.png b/tr-TR/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/tr-TR/images/world-bribe.png differ diff --git a/tr-TR/images/world-door.png b/tr-TR/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/tr-TR/images/world-door.png differ diff --git a/tr-TR/images/world-enemy2.png b/tr-TR/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/tr-TR/images/world-enemy2.png differ diff --git a/tr-TR/images/world-key.png b/tr-TR/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/tr-TR/images/world-key.png differ diff --git a/tr-TR/images/world-person-test.png b/tr-TR/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/tr-TR/images/world-person-test.png differ diff --git a/tr-TR/images/world-room-test.png b/tr-TR/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/tr-TR/images/world-room-test.png differ diff --git a/tr-TR/images/world-room.png b/tr-TR/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/tr-TR/images/world-room.png differ diff --git a/tr-TR/images/world-sign-test.png b/tr-TR/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/tr-TR/images/world-sign-test.png differ diff --git a/tr-TR/images/world-sign-test2.png b/tr-TR/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/tr-TR/images/world-sign-test2.png differ diff --git a/tr-TR/images/world-sign.png b/tr-TR/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/tr-TR/images/world-sign.png differ diff --git a/tr-TR/images/world-starter.png b/tr-TR/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/tr-TR/images/world-starter.png differ diff --git a/tr-TR/images/world-treasure.png b/tr-TR/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/tr-TR/images/world-treasure.png differ diff --git a/tr-TR/images/world-up.png b/tr-TR/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/tr-TR/images/world-up.png differ diff --git a/tr-TR/images/world-walls-test.png b/tr-TR/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/tr-TR/images/world-walls-test.png differ diff --git a/tr-TR/images/world-walls.png b/tr-TR/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/tr-TR/images/world-walls.png differ diff --git a/tr-TR/meta.yml b/tr-TR/meta.yml new file mode 100644 index 000000000..b538fdd34 --- /dev/null +++ b/tr-TR/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Giriş + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/tr-TR/resources/CreateYourOwnWorldResources.sb3 b/tr-TR/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/tr-TR/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/tr-TR/resources/chest.svg b/tr-TR/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/tr-TR/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tr-TR/resources/coin.svg b/tr-TR/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/tr-TR/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tr-TR/resources/door-blue.png b/tr-TR/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/tr-TR/resources/door-blue.png differ diff --git a/tr-TR/resources/enemy.png b/tr-TR/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/tr-TR/resources/enemy.png differ diff --git a/tr-TR/resources/key.svg b/tr-TR/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/tr-TR/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/tr-TR/resources/person.png b/tr-TR/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/tr-TR/resources/person.png differ diff --git a/tr-TR/resources/player.png b/tr-TR/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/tr-TR/resources/player.png differ diff --git a/tr-TR/resources/room1.png b/tr-TR/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/tr-TR/resources/room1.png differ diff --git a/tr-TR/resources/room2.png b/tr-TR/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/tr-TR/resources/room2.png differ diff --git a/tr-TR/resources/room3.png b/tr-TR/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/tr-TR/resources/room3.png differ diff --git a/tr-TR/resources/sign.svg b/tr-TR/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/tr-TR/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tr-TR/scratch-translatable.txt b/tr-TR/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/tr-TR/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/tr-TR/solutions/CreateYourOwnWorld.sb3 b/tr-TR/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/tr-TR/solutions/CreateYourOwnWorld.sb3 differ diff --git a/tr-TR/step_1.md b/tr-TR/step_1.md new file mode 100644 index 000000000..fc1b7d7cd --- /dev/null +++ b/tr-TR/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Bu, projenin **Scratch 3** versiyonudur. Ayrıca projenin bir de [Scratch 2 versiyonu](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2) bulunmaktadır. + +\--- /no-print \--- + +## Giriş + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Ne yapacaksınız + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Nelere ihtiyacınız var + +### Donanım + +- Scratch 3 çalıştırabilen bir bilgisayar + +### Yazılım + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### İndirilenler + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Neler öğreneceksiniz + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Eğitimciler için ek bilgiler + +Bu projeyi yazdırmanız gerekiyorsa, lütfen [yazıcı-dostu sürüm](https://projects.raspberrypi.org/en/projects/create-your-own-world/print) 'ü kullanın {: target = "_ blank"}. + +Tamamlanmış projeye [buradan](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"} ulaşabilirsiniz. + +\--- /collapse \--- \ No newline at end of file diff --git a/tr-TR/step_10.md b/tr-TR/step_10.md new file mode 100644 index 000000000..9e26b1e47 --- /dev/null +++ b/tr-TR/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![ekran görüntüsü](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![ekran görüntüsü](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/tr-TR/step_11.md b/tr-TR/step_11.md new file mode 100644 index 000000000..96341afba --- /dev/null +++ b/tr-TR/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![ekran görüntüsü](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![ekran görüntüsü](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/tr-TR/step_12.md b/tr-TR/step_12.md new file mode 100644 index 000000000..9e8e91036 --- /dev/null +++ b/tr-TR/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Birkaç tane fikir: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![ekran görüntüsü](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![ekran görüntüsü](images/north-south-rooms.png) + +![ekran görüntüsü](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/tr-TR/step_13.md b/tr-TR/step_13.md new file mode 100644 index 000000000..4e83fb6f4 --- /dev/null +++ b/tr-TR/step_13.md @@ -0,0 +1,21 @@ +## Sırada ne var? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/tr-TR/step_2.md b/tr-TR/step_2.md new file mode 100644 index 000000000..07df24013 --- /dev/null +++ b/tr-TR/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +Eğer bir Scratch hesabınız varsa, **Remix**'e tıklayarak bir kopyasını oluşturabilirsiniz. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Scratch çevrimdışı düzenleyicisini indirip yüklemeniz gerekirse, bunu [ rpf.io/scratchoff adresinde bulabilirsiniz. ](https://rpf.io/scratchoff) {: Hedef = "_ blank"}. + +![ekran görüntüsü](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![ekran görüntüsü](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/tr-TR/step_3.md b/tr-TR/step_3.md new file mode 100644 index 000000000..c3fbaefae --- /dev/null +++ b/tr-TR/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![ekran görüntüsü](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![ekran görüntüsü](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/tr-TR/step_4.md b/tr-TR/step_4.md new file mode 100644 index 000000000..e027603ce --- /dev/null +++ b/tr-TR/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![ekran görüntüsü](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![ekran görüntüsü](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![ekran görüntüsü](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/tr-TR/step_5.md b/tr-TR/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/tr-TR/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/tr-TR/step_6.md b/tr-TR/step_6.md new file mode 100644 index 000000000..cd0ccea79 --- /dev/null +++ b/tr-TR/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![ekran görüntüsü](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![ekran görüntüsü](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![ekran görüntüsü](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/tr-TR/step_7.md b/tr-TR/step_7.md new file mode 100644 index 000000000..d873859b2 --- /dev/null +++ b/tr-TR/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![ekran görüntüsü](images/world-treasure.png) \ No newline at end of file diff --git a/tr-TR/step_8.md b/tr-TR/step_8.md new file mode 100644 index 000000000..a5234084f --- /dev/null +++ b/tr-TR/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![ekran görüntüsü](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/tr-TR/step_9.md b/tr-TR/step_9.md new file mode 100644 index 000000000..e2a15fafc --- /dev/null +++ b/tr-TR/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![ekran görüntüsü](images/world-enemy2.png) \ No newline at end of file diff --git a/uk-UA/images/banner.png b/uk-UA/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/uk-UA/images/banner.png differ diff --git a/uk-UA/images/cats-finished.png b/uk-UA/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/uk-UA/images/cats-finished.png differ diff --git a/uk-UA/images/coin.png b/uk-UA/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/uk-UA/images/coin.png differ diff --git a/uk-UA/images/coin.svg b/uk-UA/images/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/uk-UA/images/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/uk-UA/images/create-variable.png b/uk-UA/images/create-variable.png new file mode 100644 index 000000000..157291f54 Binary files /dev/null and b/uk-UA/images/create-variable.png differ diff --git a/uk-UA/images/create-your-own-world.png b/uk-UA/images/create-your-own-world.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/uk-UA/images/create-your-own-world.png differ diff --git a/uk-UA/images/door.png b/uk-UA/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/uk-UA/images/door.png differ diff --git a/uk-UA/images/enemy.png b/uk-UA/images/enemy.png new file mode 100644 index 000000000..a21a2811b Binary files /dev/null and b/uk-UA/images/enemy.png differ diff --git a/uk-UA/images/finished-move-down-right.png b/uk-UA/images/finished-move-down-right.png new file mode 100644 index 000000000..3d677d5af Binary files /dev/null and b/uk-UA/images/finished-move-down-right.png differ diff --git a/uk-UA/images/key.png b/uk-UA/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/uk-UA/images/key.png differ diff --git a/uk-UA/images/key.svg b/uk-UA/images/key.svg new file mode 100644 index 000000000..416cd8123 --- /dev/null +++ b/uk-UA/images/key.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/uk-UA/images/north-south-rooms.png b/uk-UA/images/north-south-rooms.png new file mode 100644 index 000000000..e4d3ee1e4 Binary files /dev/null and b/uk-UA/images/north-south-rooms.png differ diff --git a/uk-UA/images/number-grid.png b/uk-UA/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/uk-UA/images/number-grid.png differ diff --git a/uk-UA/images/person-sprite.png b/uk-UA/images/person-sprite.png new file mode 100644 index 000000000..e41679261 Binary files /dev/null and b/uk-UA/images/person-sprite.png differ diff --git a/uk-UA/images/person.png b/uk-UA/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/uk-UA/images/person.png differ diff --git a/uk-UA/images/player.png b/uk-UA/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/uk-UA/images/player.png differ diff --git a/uk-UA/images/showcase.png b/uk-UA/images/showcase.png new file mode 100644 index 000000000..6f7dc8a8f Binary files /dev/null and b/uk-UA/images/showcase.png differ diff --git a/uk-UA/images/sign.png b/uk-UA/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/uk-UA/images/sign.png differ diff --git a/uk-UA/images/sign.svg b/uk-UA/images/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/uk-UA/images/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/uk-UA/images/stage.png b/uk-UA/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/uk-UA/images/stage.png differ diff --git a/uk-UA/images/variable-show.png b/uk-UA/images/variable-show.png new file mode 100644 index 000000000..baf555a25 Binary files /dev/null and b/uk-UA/images/variable-show.png differ diff --git a/uk-UA/images/world-backdrops.png b/uk-UA/images/world-backdrops.png new file mode 100644 index 000000000..906450fac Binary files /dev/null and b/uk-UA/images/world-backdrops.png differ diff --git a/uk-UA/images/world-bribe.png b/uk-UA/images/world-bribe.png new file mode 100644 index 000000000..d3fdadbaf Binary files /dev/null and b/uk-UA/images/world-bribe.png differ diff --git a/uk-UA/images/world-coins.png b/uk-UA/images/world-coins.png new file mode 100644 index 000000000..9a7c225e4 Binary files /dev/null and b/uk-UA/images/world-coins.png differ diff --git a/uk-UA/images/world-door.png b/uk-UA/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/uk-UA/images/world-door.png differ diff --git a/uk-UA/images/world-enemy-code.png b/uk-UA/images/world-enemy-code.png new file mode 100644 index 000000000..98be8ef8c Binary files /dev/null and b/uk-UA/images/world-enemy-code.png differ diff --git a/uk-UA/images/world-enemy2.png b/uk-UA/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/uk-UA/images/world-enemy2.png differ diff --git a/uk-UA/images/world-final.png b/uk-UA/images/world-final.png new file mode 100644 index 000000000..9f449683a Binary files /dev/null and b/uk-UA/images/world-final.png differ diff --git a/uk-UA/images/world-key.png b/uk-UA/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/uk-UA/images/world-key.png differ diff --git a/uk-UA/images/world-north-south.png b/uk-UA/images/world-north-south.png new file mode 100644 index 000000000..66cf93f57 Binary files /dev/null and b/uk-UA/images/world-north-south.png differ diff --git a/uk-UA/images/world-person-test.png b/uk-UA/images/world-person-test.png new file mode 100644 index 000000000..c8289e388 Binary files /dev/null and b/uk-UA/images/world-person-test.png differ diff --git a/uk-UA/images/world-person.png b/uk-UA/images/world-person.png new file mode 100644 index 000000000..00e41a7cd Binary files /dev/null and b/uk-UA/images/world-person.png differ diff --git a/uk-UA/images/world-player.png b/uk-UA/images/world-player.png new file mode 100644 index 000000000..3795dad70 Binary files /dev/null and b/uk-UA/images/world-player.png differ diff --git a/uk-UA/images/world-resources.png b/uk-UA/images/world-resources.png new file mode 100644 index 000000000..010451a86 Binary files /dev/null and b/uk-UA/images/world-resources.png differ diff --git a/uk-UA/images/world-room-test.png b/uk-UA/images/world-room-test.png new file mode 100644 index 000000000..3232b25c9 Binary files /dev/null and b/uk-UA/images/world-room-test.png differ diff --git a/uk-UA/images/world-room.png b/uk-UA/images/world-room.png new file mode 100644 index 000000000..0dcd479f8 Binary files /dev/null and b/uk-UA/images/world-room.png differ diff --git a/uk-UA/images/world-sign-test-left.png b/uk-UA/images/world-sign-test-left.png new file mode 100644 index 000000000..1139ad73b Binary files /dev/null and b/uk-UA/images/world-sign-test-left.png differ diff --git a/uk-UA/images/world-sign-test-right.png b/uk-UA/images/world-sign-test-right.png new file mode 100644 index 000000000..da6997e97 Binary files /dev/null and b/uk-UA/images/world-sign-test-right.png differ diff --git a/uk-UA/images/world-sign-test.png b/uk-UA/images/world-sign-test.png new file mode 100644 index 000000000..0489bbc57 Binary files /dev/null and b/uk-UA/images/world-sign-test.png differ diff --git a/uk-UA/images/world-sign-test2.png b/uk-UA/images/world-sign-test2.png new file mode 100644 index 000000000..c8436a6c7 Binary files /dev/null and b/uk-UA/images/world-sign-test2.png differ diff --git a/uk-UA/images/world-sign.png b/uk-UA/images/world-sign.png new file mode 100644 index 000000000..7a5555424 Binary files /dev/null and b/uk-UA/images/world-sign.png differ diff --git a/uk-UA/images/world-starter.png b/uk-UA/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/uk-UA/images/world-starter.png differ diff --git a/uk-UA/images/world-treasure.png b/uk-UA/images/world-treasure.png new file mode 100644 index 000000000..fd7242e7b Binary files /dev/null and b/uk-UA/images/world-treasure.png differ diff --git a/uk-UA/images/world-up.png b/uk-UA/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/uk-UA/images/world-up.png differ diff --git a/uk-UA/images/world-walls-test.png b/uk-UA/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/uk-UA/images/world-walls-test.png differ diff --git a/uk-UA/images/world-walls.png b/uk-UA/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/uk-UA/images/world-walls.png differ diff --git a/uk-UA/meta.yml b/uk-UA/meta.yml new file mode 100644 index 000000000..5cfcc1524 --- /dev/null +++ b/uk-UA/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/create-your-own-world.png +title: Створи власний світ +description: Створи свою власну пригодницьку гру в жанрі «Відкритий світ» +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Вступ + - + title: Переміщення спрайта гравця + - + title: Тверді стіни + completion: + - engaged + - + title: Переміщення по світу + - + title: 'Завдання: повернутися в попередню кімнату' + challenge: true + - + title: Таблички + - + title: 'Завдання: скарб!' + challenge: true + - + title: Люди + - + title: 'Завдання: противники' + challenge: true + - + title: Збирання монет + - + title: Двері та ключі + completion: + - internal + - + title: 'Завдання: розшир свій світ' + challenge: true + completion: + - external diff --git a/uk-UA/resources/CreateYourOwnWorld.sb2 b/uk-UA/resources/CreateYourOwnWorld.sb2 new file mode 100644 index 000000000..8682d05f8 Binary files /dev/null and b/uk-UA/resources/CreateYourOwnWorld.sb2 differ diff --git a/uk-UA/resources/CreateYourOwnWorldResources.sb2 b/uk-UA/resources/CreateYourOwnWorldResources.sb2 new file mode 100644 index 000000000..8a9935e60 Binary files /dev/null and b/uk-UA/resources/CreateYourOwnWorldResources.sb2 differ diff --git a/uk-UA/resources/CreateYourOwnWorldResources.sb3 b/uk-UA/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f0e799f95 Binary files /dev/null and b/uk-UA/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/uk-UA/resources/chest.svg b/uk-UA/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/uk-UA/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/uk-UA/resources/coin.svg b/uk-UA/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/uk-UA/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/uk-UA/resources/door-blue.png b/uk-UA/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/uk-UA/resources/door-blue.png differ diff --git a/uk-UA/resources/enemy.png b/uk-UA/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/uk-UA/resources/enemy.png differ diff --git a/uk-UA/resources/key.svg b/uk-UA/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/uk-UA/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/uk-UA/resources/person.png b/uk-UA/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/uk-UA/resources/person.png differ diff --git a/uk-UA/resources/player.png b/uk-UA/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/uk-UA/resources/player.png differ diff --git a/uk-UA/resources/room1.png b/uk-UA/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/uk-UA/resources/room1.png differ diff --git a/uk-UA/resources/room2.png b/uk-UA/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/uk-UA/resources/room2.png differ diff --git a/uk-UA/resources/room3.png b/uk-UA/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/uk-UA/resources/room3.png differ diff --git a/uk-UA/resources/sign.svg b/uk-UA/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/uk-UA/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/uk-UA/scratch-translatable.txt b/uk-UA/scratch-translatable.txt new file mode 100644 index 000000000..a8f2e938e --- /dev/null +++ b/uk-UA/scratch-translatable.txt @@ -0,0 +1,13 @@ +кімната + +гравець + +Привіт! Чи можеш ти знайти скарб? + +Ти знаєш, що можеш проходити крізь оранжеві та жовті двері? + +монети + +синій ключ + +інвентар diff --git a/uk-UA/solutions/CreateYourOwnWorld.sb3 b/uk-UA/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..fe5994cae Binary files /dev/null and b/uk-UA/solutions/CreateYourOwnWorld.sb3 differ diff --git a/uk-UA/step_1.md b/uk-UA/step_1.md new file mode 100644 index 000000000..a347ea5e0 --- /dev/null +++ b/uk-UA/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +Це — версія проєкту для **Скретч 3**. Також існує [версія проєкту для Скретч 2](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Вступ + +У цьому проєкті ти навчишся створювати власний пригодницький ігровий світ з кількома рівнями для дослідження. + +### Що ти зробиш + +\--- no-print \--- + +Натисни на зелений прапор для запуску. Використовуй клавіші зі стрілками для переміщення свого персонажа по світу. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +Ти використовуватимеш клавіші зі стрілками для переміщення персонажа по світу. ![Демонстрація](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: Що тобі знадобиться + +### Обладнання + +- Комп'ютер, що підтримує Скретч 3 + +### Програмне забезпечення + +- Скретч 3 ([онлайн](https://rpf.io/scratchon){:target="_blank"} або [офлайн](https://rpf.io/scratchoff){:target="_blank"}) + +### Завантаження + +Ти зможеш знайти все для реалізації цього проєкту на [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Чого ти навчишся + +- Використовувати розгалуження при обробці натискання клавіш +- Використовувати змінні для зберігання стану гри +- Використовувати розгалуження на основі значення змінних +- Використовувати списки для збереження даних + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Додаткова інформація для викладачів + +Якщо вам потрібно роздрукувати цей проєкт, будь ласка, скористайтеся [версією для друку](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +Ви можете знайти [завершений проєкт тут](https://rpf.io/p/en/create-your-own-world-get){:target="_ blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/uk-UA/step_10.md b/uk-UA/step_10.md new file mode 100644 index 000000000..9d2c39ff9 --- /dev/null +++ b/uk-UA/step_10.md @@ -0,0 +1,71 @@ +## Збирання монет + +Твій спрайт `гравець` повинен мати можливість збирати монети, коли він рухається по світу. + +\--- task \--- + +Додай у свій проєкт нову змінну з назвою `монети`{:class="block3variables"}. + +\--- /task \--- + +\--- task \--- + +Вибери спрайт `монета` і клацни **показати**. + +![знімок екрана](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Додай код до спрайта `монета` так, щоб він з’являвся лише в кімнаті 1. + +![знімок екрана](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Додай код до свого спрайта `монета`, щоб, коли спрайт `гравець` торкався його, щоб «підібрати», той `сховався`{:class="block3looks"}, і до змінної `монети`{:class="block3variables"} додавалось `1`{:class="block3variables"}. + +![монета](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +Код `зупинити інші скрипти цього спрайту`{:class="block3control"} потрібен, щоб спрайт `монета` перестав відображатися в кімнаті 1, коли його підібрали. + +\--- /task \--- + +\--- task \--- + +Тепер додай код до Сцени, щоб надати змінній `монети`{:class="block3variables"} значення `0`{:class="block3variables"} на початку гри. + +![сцена](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Протестуй свою гру. Підбирання монети має збільшити кількість `монет` до `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/uk-UA/step_11.md b/uk-UA/step_11.md new file mode 100644 index 000000000..07b488942 --- /dev/null +++ b/uk-UA/step_11.md @@ -0,0 +1,104 @@ +## Двері та ключі + +Тепер ти додаси код для того, щоб деякі двері у твоїй грі були замкнені й гравцеві необхідно було знайти ключ, щоб їх відкрити і перейти в наступну кімнату. + +\--- task \--- + +Перемкнися на спрайт `ключ`. Клацни `показати`{:class="blocklooks"} в меню коду, щоб спрайт відобразився на Сцені. + +\--- /task \--- + +\--- task \--- + +Відредагуй образ спрайта `ключ`, щоб він став синім. + +\--- /task \--- + +\--- task \--- + +Перемкни тло Сцени на кімнату 3 та розмісти спрайт `ключ` у важкодоступному місці! + +![знімок екрана](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Додай код до спрайта `ключ`, щоб він був видимим лише в кімнаті 3. + +\--- /task \--- + +\--- task \--- + +Створи новий список із назвою `інвентар`{:class="block3variables"} і зберігай в ньому предмети, які збирає спрайт `гравець`. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +Код, який тобі потрібно додати для підбирання ключа, дуже схожий на код для збирання монет. Різниця в тому, що ключ треба додавати в `інвентар`{:class="block3variables"}. + +![ключ](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Додай код до своєї Сцени, щоб очищувати інвентар на початку гри. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Протестуй свою гру, щоб переконатися, що ти можеш підібрати спрайт `ключ` і додати його у свій інвентар. + +\--- /task \--- + +\--- task \--- + +Тепер додай замкнені двері. Вибери спрайт `сині двері` і клацни блок `показати`{:class="blocklooks"} в меню коду, а далі розмісти цей спрайт, щоб перекрити прохід між двома стінами. + +![знімок екрана](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Додай код до спрайта `сині двері` так, щоб він відображався лише в кімнаті 3. + +\--- /task \--- + +\--- task \--- + +Додай код до спрайта `сині двері` так, щоб, коли ключ знаходився в `інвентарі`{:class="block3variables"}, спрайт `сховався`{:class="block3looks"} і пропустив спрайт `гравець`. + +![двері](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Протестуй свою гру і перевір, чи ти зможеш підібрати синій ключ і відкрити двері! + +\--- /task \--- \ No newline at end of file diff --git a/uk-UA/step_12.md b/uk-UA/step_12.md new file mode 100644 index 000000000..59cbbf547 --- /dev/null +++ b/uk-UA/step_12.md @@ -0,0 +1,28 @@ +## Завдання: розшир свій світ + +Далі ти можеш продовжувати створювати свій власний світ! Ось деякі ідеї: + ++ Додай у свою гру більше монет у різних кімнатах. Можливо, деякі монети будуть охоронятися патрулюючими противниками? ++ Змінюй ігрові фони ++ Додай звуки і музику до своєї гри ++ Додай більше людей, противників і табличок ++ Додай червоні та жовті двері, а також спеціальні ключі, щоб відкривати їх ++ Додай більше кімнат до свого світу ++ Додай інші корисні елементи у свою гру + + + Використовуй монети, щоб отримувати інформацію від інших людей: + +![знімок екрана](images/world-bribe.png) + ++ Ти навіть можеш додати двері в північній та південній стінах кімнати 1, щоб гравець міг рухатися між приміщеннями у всіх чотирьох напрямках. Наприклад, гра може мати дев’ять кімнати у сітці 3 на 3. Потім можна додати `3` до номера кімнати, щоб переходити вниз на один рівень. + +![знімок екрана](images/north-south-rooms.png) + +![знімок екрана](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/uk-UA/step_13.md b/uk-UA/step_13.md new file mode 100644 index 000000000..e0164f1b6 --- /dev/null +++ b/uk-UA/step_13.md @@ -0,0 +1,21 @@ +## Що далі? + +Спробуй створити ще одну гру, виконавши проєкт [КОТИ!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). + +\--- no-print \--- + +Клікни та перетягни мишкою так, щоб намалювати лінію олівцем. Твоя мета — не дати котам потрапити у прірву, створивши безпечний шлях до виходу. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Завершений проєкт «Коти»](images/cats-finished.png) + +\--- /print-only \--- + +Якщо хочеш створити гру на Python замість Скретч, спробуй проєкт [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects). \ No newline at end of file diff --git a/uk-UA/step_2.md b/uk-UA/step_2.md new file mode 100644 index 000000000..2f06c2341 --- /dev/null +++ b/uk-UA/step_2.md @@ -0,0 +1,132 @@ +## Переміщення спрайта гравця + +Почни зі створення спрайта `гравець`, що може рухатися в твоєму світу. + +\--- task \--- + +Відкрий початковий проєкт «Створи власний світ». + +**Онлайн**: відкрий початковий проєкт на [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_ blank"}. + +Якщо у тебе є обліковий запис Скретч, ти можеш зробити копію проєкту, натиснувши **Ремікс**. + +**Офлайн:** завантаж стартовий проєкт з [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go), а потім відкрий його за допомогою офлайн-редактора. Якщо тобі треба завантажити та встановити офлайн-редактор Скретч, ти можеш його знайти на [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![знімок екрана](images/world-starter.png) + +\--- /task \--- + +Коли ти натискаєш на клавіші зі стрілками, спрайт `гравець` має переміщуватися. Коли натиснуто клавішу зі стрілкою вгору, спрайт `гравець` у відповідь має переміщуватися вгору по Сцені. + +\--- task \--- + +Додай такий код до спрайта `гравець`: + +![гравець](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Натисни на прапор, а потім затисни клавішу зі стрілкою вгору. Чи рухається `гравець` вгору? + +![знімок екрана](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +Для переміщення спрайта `гравець` вліво, тобі треба додати ще один блок `якщо`{:class="block3control"} з подібним кодом: + +![гравець](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Додай такий код до свого спрайта `гравець`, щоб він також міг рухатися вниз та вправо. Використовуй уже наявний код, щоб полегшити собі справу. + +\--- hints \--- + +\--- hint \--- + +Щоб перемістити спрайт `гравець` вгору, ти направляв(-ла) його на `0` градусів. Що треба зробити, щоб перемістити його вниз? + +Для руху вліво ти направляв(-ла) спрайт в напрямку `-90` градусів. Що тобі треба зробити, щоб направити спрайт вправо? + +\--- /hint \--- + +\--- hint \--- + +Тобі треба змінити ці два блоки: + +![гравець](images/player.png) + +```blocks3 + + +point in direction () +``` + +Продублюй код, який змушує спрайт `гравець` рухатися вгору, і зміни ці два блоки, щоб він пішов вниз. Продублюй код знову і зміни його так, щоб спрайт рухався вправо. + +\--- /hint \--- + +\--- hint \--- + +Ось як має виглядати твій код: + +![гравець](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/uk-UA/step_3.md b/uk-UA/step_3.md new file mode 100644 index 000000000..48e588b06 --- /dev/null +++ b/uk-UA/step_3.md @@ -0,0 +1,50 @@ +## Тверді стіни + +\--- task \--- + +Протестуй свій спрайт `гравець` знову. Ти бачиш, що він може проходити крізь світло-сірі стіни? + +![знімок екрана](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +Щоб це виправити, тобі треба змусити спрайт `гравець` рухатися назад, як тільки він доторкнеться до сірої стіни. Ось код, який тобі треба буде додати всередині свого блоку `завжди`{:class="block3control"} під блоками для напряму: + +![гравець](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Спробуй пройти спрайтом `гравець` крізь стіну. Якщо твій новий код працює правильно, це має бути неможливо. + +![знімок екрана](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/uk-UA/step_4.md b/uk-UA/step_4.md new file mode 100644 index 000000000..d86f0c1db --- /dev/null +++ b/uk-UA/step_4.md @@ -0,0 +1,142 @@ +## Переміщення по світу + +Спрайт `гравець` повинен мати можливість проходити через двері в інші кімнати. + +Твій проєкт містить фони для інших кімнат: + +![знімок екрана](images/world-backdrops.png) + +\--- task \--- + +Створи нову змінну для всіх спрайтів з іменем `кімната`{:class="block3variables"} для відслідковування, у якій з кімнат знаходиться спрайт `гравець`. + +[[[generic-scratch3-add-variable]]] + +![знімок екрана](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +Коли спрайт `гравець` торкається оранжевих дверей першої кімнати, гра має відобразити наступне тло, а спрайт `гравець` має переміститися назад на лівий край Сцени. Додай цей код всередину циклу `завжди`{:class="block3control"} спрайта `гравець`: + +![гравець](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +При кожному запуску гри кімната, розміщення персонажа та тло мають повертатися на початок. + +Додай код **на початку** коду спрайта `гравець` перед циклом `завжди`{:class="block3control"}, щоб, коли натискається зелений прапор, повернути все до початкового стану: + +\--- hints \--- + +\--- hint \--- + +Коли гра запускається: + ++ Значення змінної `кімната`{:class="block3variables"} має бути `1`{:class="block3variables"} ++ `Тлом`{:class="block3looks"} має бути `кімната1`{:class="block3looks"} ++ Розміщення спрайта `гравець` має бути `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Ось додаткові блоки, що тобі знадобляться: + +![гравець](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Ось як має виглядати твій завершений скрипт: + +![гравець](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Клацни на прапор, а далі переміщуй спрайт `гравець`, поки він не торкнеться до оранжевих дверей. Чи переходить спрайт на наступний екран? Чи значення змінної `кімната`{:class="block3variables"} стає `2`? + +![знімок екрана](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/uk-UA/step_5.md b/uk-UA/step_5.md new file mode 100644 index 000000000..436a4a794 --- /dev/null +++ b/uk-UA/step_5.md @@ -0,0 +1,3 @@ +## Завдання: повернутися в попередню кімнату + +Чи можеш ти зробити так, щоб спрайт `гравець` повертався в попередню кімнату, коли він торкається жовтих дверей? Потрібний тобі код дуже схожий на той, який ти вже додав для переміщення спрайта в наступну кімнату. \ No newline at end of file diff --git a/uk-UA/step_6.md b/uk-UA/step_6.md new file mode 100644 index 000000000..64598af4c --- /dev/null +++ b/uk-UA/step_6.md @@ -0,0 +1,108 @@ +## Таблички + +Тепер додай таблички до свого світу, щоб допомагати гравцеві в його пригодах. + +Твій проєкт містить спрайт `вітальна табличка`: + +![знімок екрана](images/world-sign.png) + +\--- task \--- + +Спрайт `вітальна табличка` має бути видимим тільки в першій кімнаті, тому додай деякий код до цього спрайта, щоб це відбувалося: + +\--- hints \--- + +\--- hint \--- + +`Коли прапор натистнуто`{:class="block3events"}, у циклі `завжди`{:class="block3control"} перевір, `якщо`{:class="block3control"} `кімната дорівнює 1`{:class="block3variables"}, тоді `покажи`{:class="block3looks"} спрайт `вітальна табличка`, `інакше`{:class="block3control"} `сховай`{:class="block3looks"} цей спрайт. + +\--- /hint \--- + +\--- hint \--- + +Ось блоки, які тобі знадобляться: + +![табличка](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Ось завершений код: + +![табличка](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Протестуй код для спрайта `вітальна табличка`, переміщуючись між кімнатами. Ця табличка має бути видима тільки в кімнаті 1. + +![знімок екрана](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +Табличка не дуже корисна, якщо на ній нічого не написано! Додай код для відображення повідомлення, якщо спрайт `вітальна табличка` торкається спрайта `гравець`: + +![табличка](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Знову протестуй спрайт `вітальна табличка`. Зараз ти маєш бачити повідомлення, коли спрайт `гравець` дотикається до спрайта `вітальна табличка`. + +![знімок екрана](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/uk-UA/step_7.md b/uk-UA/step_7.md new file mode 100644 index 000000000..fd905fae8 --- /dev/null +++ b/uk-UA/step_7.md @@ -0,0 +1,7 @@ +## Завдання: скарб! + +Чи можеш ти заховати скарб, який би міг відшукати гравець? + +Зроби, щоб спрайт `скриня` з’являвся тільки в кімнаті 3, і зроби, щоб цей спрайт вигукував «Чудово!», коли спрайт `гравець` до нього дотикається. + +![знімок екрана](images/world-treasure.png) \ No newline at end of file diff --git a/uk-UA/step_8.md b/uk-UA/step_8.md new file mode 100644 index 000000000..0ddf9287f --- /dev/null +++ b/uk-UA/step_8.md @@ -0,0 +1,65 @@ +## Люди + +Додай інших людей до свого світу, з якими міг би взаємодіяти спрайт `гравець`. + +\--- task \--- + +Вибери спрайт `персонаж`. + +![Спрайт персонажа](images/person.png) + +\--- /task \--- + +\--- task \--- + +Додай код до спрайта `персонаж`, щоб він говорив до спрайта `гравець`. Цей код дуже схожий до коду, який ти додав(-ла) до свого спрайту `табличка`: + +![персонаж](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Дозволь своєму спрайту `персонаж` переміщуватися, додавши наступні два блоки в частину коду `інакше`{:class="block3control"}: + +![персонаж](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Твій спрайт `персонаж` тепер рухатиметься, але перестане говорити зі спрайтом `гравець`. + +![знімок екрана](images/world-person-test.png) + +\--- task \--- + +Додай код до нового спрайта `персонаж`, щоб він з’являвся тільки в кімнаті 1. Необхідний для цього код точно такий же, як і код для того, щоб спрайт `табличка` відображався тільки в кімнаті 1. + +Обовʼязково протестуй свій новий код. + +\--- /task \--- \ No newline at end of file diff --git a/uk-UA/step_9.md b/uk-UA/step_9.md new file mode 100644 index 000000000..1c30e418d --- /dev/null +++ b/uk-UA/step_9.md @@ -0,0 +1,39 @@ +## Завдання: противники + +Якщо хочеш, можеш також додати патрулюючих противників до своєї гри. Якщо спрайт `гравець` дотикається до противника, тоді гра закінчується. + ++ Твоя гра вже містить спрайт `противник`. Додай код до спрайта `противник` так, щоб він з’являвся лише в кімнаті 2. + ++ Додай код для пересування спрайта `противник` і завершення гри, коли той торкається спрайта `гравець`. Простіше зробити це в окремих блоках коду. Ось як може виглядати твій код спрайта `противник`: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Протестуй свій новий код і переконайся що: + + Спрайт `противник` з’являється тільки в кімнаті 2 + + Спрайт `противник` патрулює кімнату + + Гра завершується, коли спрайт `гравець` дотикається до спрайта `противник` + +Чи можеш ти створити ще один спрайт `противник` у кімнаті 3, що рухається при патрулюванні вгору і вниз крізь розрив у стіні? + +![знімок екрана](images/world-enemy2.png) \ No newline at end of file diff --git a/vi-VN/images/banner.png b/vi-VN/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/vi-VN/images/banner.png differ diff --git a/vi-VN/images/cats-finished.png b/vi-VN/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/vi-VN/images/cats-finished.png differ diff --git a/vi-VN/images/coin.png b/vi-VN/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/vi-VN/images/coin.png differ diff --git a/vi-VN/images/door.png b/vi-VN/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/vi-VN/images/door.png differ diff --git a/vi-VN/images/key.png b/vi-VN/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/vi-VN/images/key.png differ diff --git a/vi-VN/images/north-south-rooms.png b/vi-VN/images/north-south-rooms.png new file mode 100644 index 000000000..8cba0dfa6 Binary files /dev/null and b/vi-VN/images/north-south-rooms.png differ diff --git a/vi-VN/images/number-grid.png b/vi-VN/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/vi-VN/images/number-grid.png differ diff --git a/vi-VN/images/person.png b/vi-VN/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/vi-VN/images/person.png differ diff --git a/vi-VN/images/player.png b/vi-VN/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/vi-VN/images/player.png differ diff --git a/vi-VN/images/showcase.png b/vi-VN/images/showcase.png new file mode 100644 index 000000000..60e2af021 Binary files /dev/null and b/vi-VN/images/showcase.png differ diff --git a/vi-VN/images/sign.png b/vi-VN/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/vi-VN/images/sign.png differ diff --git a/vi-VN/images/stage.png b/vi-VN/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/vi-VN/images/stage.png differ diff --git a/vi-VN/images/world-backdrops.png b/vi-VN/images/world-backdrops.png new file mode 100644 index 000000000..41a9ec1c3 Binary files /dev/null and b/vi-VN/images/world-backdrops.png differ diff --git a/vi-VN/images/world-bribe.png b/vi-VN/images/world-bribe.png new file mode 100644 index 000000000..50d16f371 Binary files /dev/null and b/vi-VN/images/world-bribe.png differ diff --git a/vi-VN/images/world-door.png b/vi-VN/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/vi-VN/images/world-door.png differ diff --git a/vi-VN/images/world-enemy2.png b/vi-VN/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/vi-VN/images/world-enemy2.png differ diff --git a/vi-VN/images/world-key.png b/vi-VN/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/vi-VN/images/world-key.png differ diff --git a/vi-VN/images/world-person-test.png b/vi-VN/images/world-person-test.png new file mode 100644 index 000000000..26f0a276e Binary files /dev/null and b/vi-VN/images/world-person-test.png differ diff --git a/vi-VN/images/world-room-test.png b/vi-VN/images/world-room-test.png new file mode 100644 index 000000000..3f7844c34 Binary files /dev/null and b/vi-VN/images/world-room-test.png differ diff --git a/vi-VN/images/world-room.png b/vi-VN/images/world-room.png new file mode 100644 index 000000000..fff1d1538 Binary files /dev/null and b/vi-VN/images/world-room.png differ diff --git a/vi-VN/images/world-sign-test.png b/vi-VN/images/world-sign-test.png new file mode 100644 index 000000000..5547e67cc Binary files /dev/null and b/vi-VN/images/world-sign-test.png differ diff --git a/vi-VN/images/world-sign-test2.png b/vi-VN/images/world-sign-test2.png new file mode 100644 index 000000000..c0f543896 Binary files /dev/null and b/vi-VN/images/world-sign-test2.png differ diff --git a/vi-VN/images/world-sign.png b/vi-VN/images/world-sign.png new file mode 100644 index 000000000..894cf483a Binary files /dev/null and b/vi-VN/images/world-sign.png differ diff --git a/vi-VN/images/world-starter.png b/vi-VN/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/vi-VN/images/world-starter.png differ diff --git a/vi-VN/images/world-treasure.png b/vi-VN/images/world-treasure.png new file mode 100644 index 000000000..41397d0c4 Binary files /dev/null and b/vi-VN/images/world-treasure.png differ diff --git a/vi-VN/images/world-up.png b/vi-VN/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/vi-VN/images/world-up.png differ diff --git a/vi-VN/images/world-walls-test.png b/vi-VN/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/vi-VN/images/world-walls-test.png differ diff --git a/vi-VN/images/world-walls.png b/vi-VN/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/vi-VN/images/world-walls.png differ diff --git a/vi-VN/meta.yml b/vi-VN/meta.yml new file mode 100644 index 000000000..9fc6f3b9f --- /dev/null +++ b/vi-VN/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: Create your own world +description: Create your own open-world adventure game +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: Giới thiệu + - + title: Move the player sprite + - + title: Solid walls + completion: + - engaged + - + title: Move around your world + - + title: 'Challenge: move back to the previous room' + challenge: true + - + title: Signs + - + title: 'Challenge: treasure!' + challenge: true + - + title: People + - + title: 'Challenge: enemies' + challenge: true + - + title: Collect coins + - + title: Doors and keys + completion: + - internal + - + title: 'Challenge: extend your world' + challenge: true + completion: + - external diff --git a/vi-VN/resources/CreateYourOwnWorldResources.sb3 b/vi-VN/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/vi-VN/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/vi-VN/resources/chest.svg b/vi-VN/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/vi-VN/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vi-VN/resources/coin.svg b/vi-VN/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/vi-VN/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vi-VN/resources/door-blue.png b/vi-VN/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/vi-VN/resources/door-blue.png differ diff --git a/vi-VN/resources/enemy.png b/vi-VN/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/vi-VN/resources/enemy.png differ diff --git a/vi-VN/resources/key.svg b/vi-VN/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/vi-VN/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/vi-VN/resources/person.png b/vi-VN/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/vi-VN/resources/person.png differ diff --git a/vi-VN/resources/player.png b/vi-VN/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/vi-VN/resources/player.png differ diff --git a/vi-VN/resources/room1.png b/vi-VN/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/vi-VN/resources/room1.png differ diff --git a/vi-VN/resources/room2.png b/vi-VN/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/vi-VN/resources/room2.png differ diff --git a/vi-VN/resources/room3.png b/vi-VN/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/vi-VN/resources/room3.png differ diff --git a/vi-VN/resources/sign.svg b/vi-VN/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/vi-VN/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vi-VN/scratch-translatable.txt b/vi-VN/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/vi-VN/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/vi-VN/solutions/CreateYourOwnWorld.sb3 b/vi-VN/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..721df397c Binary files /dev/null and b/vi-VN/solutions/CreateYourOwnWorld.sb3 differ diff --git a/vi-VN/step_1.md b/vi-VN/step_1.md new file mode 100644 index 000000000..5b9369fe5 --- /dev/null +++ b/vi-VN/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +This is the **Scratch 3** version of the project. There is also a [Scratch 2 version of the project](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2). + +\--- /no-print \--- + +## Giới thiệu + +In this project, you'll learn how to create your own adventure game world with multiple levels to explore. + +### Những gì bạn sẽ làm + +\--- no-print \--- + +Click the green flag to start. Use the arrow keys to move your character around in the world. + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +You'll use the arrow keys to move your character around in the world. ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## tiêu đề: Những gì bạn sẽ cần + +### Phần cứng + +- Một máy tính có khả năng chạy Scratch 3 + +### Phần mềm + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### Downloads + +You can find everything you need to complete this project at [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go). + +\--- /collapse \--- + +## \--- collapse \--- + +## tiêu đề: bạn sẽ học được gì + +- Use conditional selection to react to key presses +- Use variables to store a game's state +- Use conditional selection based on the value of a variable +- Use lists to store data + +\--- /collapse \--- + +## \--- collapse \--- + +## title: Additional information for educators + +Nếu bạn cần in hướng dẫn, vui lòng sử dụng [phiên bản máy in phù hợp](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}. + +You can find the [completed project here](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}. + +\--- /collapse \--- \ No newline at end of file diff --git a/vi-VN/step_10.md b/vi-VN/step_10.md new file mode 100644 index 000000000..090fb8f15 --- /dev/null +++ b/vi-VN/step_10.md @@ -0,0 +1,71 @@ +## Collect coins + +Your `player` sprite should have be able to collect coins as it moves through the world. + +\--- task \--- + +Add a new variable valled `coins`{:class="block3variables"} to your project. + +\--- /task \--- + +\--- task \--- + +Select the `coin` sprite and click **show**. + +![ảnh chụp màn hình](images/coin.png) + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that it only appears in room 1. + +![ảnh chụp màn hình](images/coin.png) + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[1]> then +show +else +hide +``` + +\--- /task \--- + +\--- task \--- + +Add code to your `coin` sprite so that the sprite `hides`{:class="block3looks"} and `1`{:class="block3variables"} is added to the `coins`{:class="block3variables"} variable once the `player` sprite touches the `coin` sprite to 'pick it up'. + +![coin](images/coin.png) + +```blocks3 +when flag clicked +wait until +change [coins v] by (1) +hide +stop [other scripts in sprite v] +``` + +The code `stop other scripts in sprite`{:class="block3control"} is needed so that the `coin` sprite stops being displayed in room 1 once it's been collected. + +\--- /task \--- + +\--- task \--- + +Now add code to the Stage to set your `coins`{:class="block3variables"} variable to `0`{:class="block3variables"} at the start of the game. + +![stage](images/stage.png) + +```blocks3 +when flag clicked +set [coins v] to [0] +``` + +\--- /task \--- + +\--- task \--- + +Test your game. Collecting a coin should change your `coins` score to `1`{:class="block3variables"}. + +\--- /task \--- \ No newline at end of file diff --git a/vi-VN/step_11.md b/vi-VN/step_11.md new file mode 100644 index 000000000..5ef2f84ea --- /dev/null +++ b/vi-VN/step_11.md @@ -0,0 +1,104 @@ +## Doors and keys + +Now you are going to add code so that some of the doors in your game world are locked, and the player must find the key to open them and get to the next room. + +\--- task \--- + +Switch to the `key` sprite. Click on `show`{:class="blocklooks"} in the Scripts menu so that the sprite appears on the Stage. + +\--- /task \--- + +\--- task \--- + +Edit the `key` sprite's costume so that it is blue. + +\--- /task \--- + +\--- task \--- + +Switch your Stage backdrop to room 3, and place the `key` sprite somewhere difficult to reach! + +![ảnh chụp màn hình](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `key` sprite to make it only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Create a new list called `inventory`{:class="block3variables"} to store the items your `player` sprite collects. + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +The code you need to add for collecting the key is very similar to the code for collecting coins. The difference is that you add the key to the `inventory`{:class="block3variables"}. + +![key](images/key.png) + +```blocks3 +when flag clicked +wait until +add [blue key] to [inventory v] +hide +stop [other scripts in sprite v] +``` + +\--- /task \--- + +\--- task \--- + +Add code to your Stage to empty your inventory at the start of the game. + +```blocks3 +delete all of [inventory v] +``` + +\--- /task \--- + +\--- task \--- + +Test out your game to check whether you can collect the `key` sprite and add it to your inventory. + +\--- /task \--- + +\--- task \--- + +Now add the locked door. Select the `door-blue` sprite and click on `show`{:class="blocklooks} in the Scripts menu, and then position the sprite across the gap between the two walls. + +![ảnh chụp màn hình](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that it is only visible in room 3. + +\--- /task \--- + +\--- task \--- + +Add code to the `door-blue` sprite so that, when the key is in the `inventory`{:class="block3variables"}, the sprite `hides`{:class="block3looks"} to allow your `player` sprite to pass. + +![door](images/door.png) + +```blocks3 +when flag clicked +wait until <[inventory v] contains [blue key]?> +stop [other scripts in sprite v] +hide +``` + +\--- /task \--- + +\--- task \--- + +Test out your game and see if you can collect the blue key to open the door! + +\--- /task \--- \ No newline at end of file diff --git a/vi-VN/step_12.md b/vi-VN/step_12.md new file mode 100644 index 000000000..344bb508a --- /dev/null +++ b/vi-VN/step_12.md @@ -0,0 +1,28 @@ +## Challenge: extend your world + +You can now continue creating your own world! Here are some ideas: + ++ Add more coins to your game in different rooms. Can you let some coins be guarded by patrolling enemies? ++ Change your game's backdrops ++ Add sound and music to your game ++ Add more people, enemies, and signs ++ Add red and yellow doors, and special keys to open them ++ Add more rooms to your world ++ Add other useful items to your game + + + Use coins to get information from other people: + +![ảnh chụp màn hình](images/world-bribe.png) + ++ You could even add doors in the north and south walls of room 1, so that the player can move between rooms in all four directions. For example, your game can have nine rooms in a 3×3 grid. You can then add `3` to the room number to move down one level. + +![ảnh chụp màn hình](images/north-south-rooms.png) + +![ảnh chụp màn hình](images/number-grid.png) + +```blocks3 +if then +switch backdrop to ((costume [number v]) + (3)) +go to x:(0) y:(200) +change [room v] by (3) +``` \ No newline at end of file diff --git a/vi-VN/step_13.md b/vi-VN/step_13.md new file mode 100644 index 000000000..bb2ea885a --- /dev/null +++ b/vi-VN/step_13.md @@ -0,0 +1,21 @@ +## Bước tiếp theo? + +Have a go at creating another game by working through the [CATS!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. + +\--- no-print \--- + +Click and drag with the mouse to draw a line with the pencil. Your goal is to stop the cats from falling into holes by creating a safe path to the exit. + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![Cats finished](images/cats-finished.png) + +\--- /print-only \--- + +If you want to make a game using Python instead of Scratch, try out the [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) project. \ No newline at end of file diff --git a/vi-VN/step_2.md b/vi-VN/step_2.md new file mode 100644 index 000000000..718080228 --- /dev/null +++ b/vi-VN/step_2.md @@ -0,0 +1,132 @@ +## Move the player sprite + +Start by creating a `player` sprite that can move around your world. + +\--- task \--- + +Open the 'Create your own world' Scratch starter project. + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +If you have a Scratch account you can make a copy by clicking **Remix**. + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. If you need to download and install the Scratch offline editor, you can find it at [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}. + +![ảnh chụp màn hình](images/world-starter.png) + +\--- /task \--- + +Pressing the arrow keys should move the `player` sprite around. When the up arrow is pressed, the `player` sprite should move upwards on the Stage in response. + +\--- task \--- + +Add this code to the `player` sprite: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Click the flag and then hold down the up arrow. Does the `player` sprite move up? + +![ảnh chụp màn hình](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +To move the `player` sprite to the left, you need to add another `if`{:class="block3control"} block with similar code: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end ++ if then + point in direction (-90) + move (4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Add more code to your `player` sprite so it can move down and to the right as well. Use the code you already have to help you. + +\--- hints \--- + +\--- hint \--- + +To move up, you point the `player` sprite in the direction `0` degrees. What do you have to do to move the sprite down? + +To move left, you point the sprite in the direction `-90` degrees. What do you have to do to move the sprite right? + +\--- /hint \--- + +\--- hint \--- + +You need to change these two blocks: + +![player](images/player.png) + +```blocks3 + + +point in direction () +``` + +Duplicate the code that makes the `player` sprite move upwards, and change these two blocks to make the sprite move down. Duplicate the code again, and change it to make the sprite move to the right. + +\--- /hint \--- + +\--- hint \--- + +Here is how your code should look: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + ++ if then + point in direction (180) + move (4) steps + end ++ if then + point in direction (90) + move (4) steps + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/vi-VN/step_3.md b/vi-VN/step_3.md new file mode 100644 index 000000000..c5d45c1c5 --- /dev/null +++ b/vi-VN/step_3.md @@ -0,0 +1,50 @@ +## Solid walls + +\--- task \--- + +Test your `player` sprite again. Do you see that it can walk through the light grey walls? + +![ảnh chụp màn hình](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +To fix this, you need to make the `player` sprite move back if it touches a light grey wall. Here's the code you need to add inside your `forever`{:class="block3control"} block below the direction blocks: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end ++ if < touching color [#BABABA]? > then + move (-4) steps + end +end +``` + +\--- /task \--- + +\--- task \--- + +Try to make the `player` sprite move through a wall. If your new code works, this shouldn't be possible. + +![ảnh chụp màn hình](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/vi-VN/step_4.md b/vi-VN/step_4.md new file mode 100644 index 000000000..acbc42e0d --- /dev/null +++ b/vi-VN/step_4.md @@ -0,0 +1,142 @@ +## Move around your world + +The `player` sprite should be able to walk through doors into other rooms. + +Your project contains backdrops for additional rooms: + +![ảnh chụp màn hình](images/world-backdrops.png) + +\--- task \--- + +Create a new 'for all sprites' variable called `room`{:class="block3variables"} to keep track of which room the `player` sprite is in. + +[[[generic-scratch3-add-variable]]] + +![ảnh chụp màn hình](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +When the `player` sprite touches the orange door in the first room, the game should display the next backdrop, and the `player` sprite should move back to the left side of the Stage. Add this code inside the `player` sprite's `forever`{:class="block3control"} loop: + +![player](images/player.png) + +```blocks3 +when flag clicked +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end ++ if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +Every time the game starts, the room, character position, and backdrop need to be reset. + +Add code to the **start** of your `player` sprite code above the `forever`{:class="block3control"} loop, to reset everything when the flag is clicked: + +\--- hints \--- + +\--- hint \--- + +When the game starts: + ++ The value of `room`{:class="block3variables"} should be set to `1`{:class="block3variables"} ++ The `backdrop`{:class="block3looks"} should be set to `room1`{:class="block3looks"} ++ The position of the `player` sprite should be set to `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +Here are the extra blocks you need: + +![player](images/player.png) + +```blocks3 +go to x: (-200) y: (0) + +set [room v] to (1) + +switch backdrop to (room1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +Here's what your finished script should look like: + +![player](images/player.png) + +```blocks3 +when flag clicked ++set [room v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (room1 v) +forever + if then + point in direction (0) + move (4) steps + end + if then + point in direction (-90) + move (4) steps + end + if then + point in direction (180) + move (4) steps + end + if then + point in direction (90) + move (4) steps + end + if < touching color [#BABABA]? > then + move (-4) steps + end + if < touching color [#F2A24A] > then + switch backdrop to (next backdrop v) + go to x: (-200) y: (0) + change [room v] by (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Click the flag, and then move your `player` sprite until it touches the orange door. Does the sprite move to the next screen? Does the `room`{:class="block3variables"} variable change to `2`? + +![ảnh chụp màn hình](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/vi-VN/step_5.md b/vi-VN/step_5.md new file mode 100644 index 000000000..64fd461c8 --- /dev/null +++ b/vi-VN/step_5.md @@ -0,0 +1,3 @@ +## Challenge: move back to the previous room + +Can you make your `player` sprite move back to the previous room when it touches a yellow door? The code you need for this is very similar to the code you've already added for make the sprite move to the next room. \ No newline at end of file diff --git a/vi-VN/step_6.md b/vi-VN/step_6.md new file mode 100644 index 000000000..c2135bbfc --- /dev/null +++ b/vi-VN/step_6.md @@ -0,0 +1,108 @@ +## Signs + +Now add signs to your world to guide players on their journey. + +Your project includes a `welcome sign` sprite: + +![ảnh chụp màn hình](images/world-sign.png) + +\--- task \--- + +The `welcome sign` sprite should only be visible in room 1, so add some code to the sprite to make sure that this happens: + +\--- hints \--- + +\--- hint \--- + +`When the flag is clicked`{:class="block3events"}, in a `forever`{:class="block3control"} loop, check `if`{:class="block3control"} the `room is 1`{:class="block3variables"} and in that case `show`{:class="block3looks"} `welcome sign` sprite, `else`{:class="block3control"} `hide`{:class="block3looks"} the sprite. + +\--- /hint \--- + +\--- hint \--- + +Here are the blocks you need: + +![sign](images/sign.png) + +```blocks3 +
if < > then +else +end + +< (room :: variables) = [1] > + +hide + +show + +forever +end + +when flag clicked + +``` + +\--- /hint \--- + +\--- hint \--- + +Here is the complete code: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever + if < (room :: variables) = [1] > then + show + else + hide + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +Test the code for your `welcome sign` sprite by moving between rooms. The sign should only be visible in room 1. + +![ảnh chụp màn hình](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +A sign isn't much good if it doesn't say anything! Add some more code to display a message if the `welcome sign` sprite is touching the `player` sprite: + +![sign](images/sign.png) + +```blocks3 +when flag clicked +forever +if < (room :: variables) = [1] > then +show +else +hide +end ++if < touching (player v)? > then +say [Welcome! Can you get to the treasure?] +else +say [] +end +end +``` + +\--- /task \--- + +\--- task \--- + +Test your `welcome sign` sprite again. You should now see a message when the `player` sprite touches the `welcome sign` sprite. + +![ảnh chụp màn hình](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/vi-VN/step_7.md b/vi-VN/step_7.md new file mode 100644 index 000000000..fbb95723c --- /dev/null +++ b/vi-VN/step_7.md @@ -0,0 +1,7 @@ +## Challenge: treasure! + +Can you add some treasure for the player to find? + +Make the `treasure chest` sprite appear only in room 3, and have this sprite say 'Well done!' when the `player` sprite touches it. + +![ảnh chụp màn hình](images/world-treasure.png) \ No newline at end of file diff --git a/vi-VN/step_8.md b/vi-VN/step_8.md new file mode 100644 index 000000000..030ca50de --- /dev/null +++ b/vi-VN/step_8.md @@ -0,0 +1,65 @@ +## People + +Add other people to your world who your `player` sprite can interact with. + +\--- task \--- + +Switch to the `person` sprite. + +![Person sprite](images/person.png) + +\--- /task \--- + +\--- task \--- + +Add some code to the `person` sprite so that the person talks to the `player` sprite. This code is very similar to the code you added to your `sign` sprite: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] + end +end +``` + +\--- /task \--- + +\--- task \--- + +Allow your `person` sprite to move by adding these two blocks in the `else`{:class="block3control"} section of your code: + +![person](images/person.png) + +```blocks3 +when flag clicked +go to x: (0) y: (-150) +forever + if < touching (player v)? > then + say [Did you know that you can go through orange and yellow doors?] + else + say [] ++ move (1) steps ++ if on edge, bounce + end +end +``` + +\--- /task \--- + +Your `person` sprite will now move, but will stop to talk to the `player` sprite. + +![ảnh chụp màn hình](images/world-person-test.png) + +\--- task \--- + +Add code to your new `person` sprite so that the sprite only appears in room 1. The code you need is exactly the same as the code that makes the `sign` sprite only visible in room 1. + +Make sure you test out your new code. + +\--- /task \--- \ No newline at end of file diff --git a/vi-VN/step_9.md b/vi-VN/step_9.md new file mode 100644 index 000000000..9e3d810b1 --- /dev/null +++ b/vi-VN/step_9.md @@ -0,0 +1,39 @@ +## Challenge: add an enemy + +If you want, you can also add patrolling enemies to your game. If the `player` sprite touches an enemy, the game ends. + ++ Your game already contains an `enemy` sprite. Add code to the `enemy` sprite so that it only appears in room 2. + ++ Add code to move the `enemy` sprite and to end the game if the `enemy` sprite touches the `player` sprite. It's easier to do this in separate code blocks. Here's how your `enemy` sprite code might look: + +```blocks3 +when flag clicked +forever +if <(room :: variables)=[2]> then +show +else +hide + +when flag clicked +forever +if then +stop [all v] + +when flag clicked +go to x: (170) y:(0) +forever +repeat (130) +change x by (-1) +end +repeat (130) +change x by (1) +``` + ++ Test out your new code to make sure that: + + The `enemy` sprite only visible in room 2 + + The `enemy` sprite patrols the room + + The game ends if the `player` sprite touches the `enemy` sprite + +Can you create another `enemy` sprite in room 3 that patrols up and down through the gap in the wall? + +![ảnh chụp màn hình](images/world-enemy2.png) \ No newline at end of file diff --git a/zh-CN/images/banner.png b/zh-CN/images/banner.png new file mode 100644 index 000000000..6e3ed1c46 Binary files /dev/null and b/zh-CN/images/banner.png differ diff --git a/zh-CN/images/cats-finished.png b/zh-CN/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/zh-CN/images/cats-finished.png differ diff --git a/zh-CN/images/coin.png b/zh-CN/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/zh-CN/images/coin.png differ diff --git a/zh-CN/images/door.png b/zh-CN/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/zh-CN/images/door.png differ diff --git a/zh-CN/images/key.png b/zh-CN/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/zh-CN/images/key.png differ diff --git a/zh-CN/images/north-south-rooms.png b/zh-CN/images/north-south-rooms.png new file mode 100644 index 000000000..f8a72a3ec Binary files /dev/null and b/zh-CN/images/north-south-rooms.png differ diff --git a/zh-CN/images/number-grid.png b/zh-CN/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/zh-CN/images/number-grid.png differ diff --git a/zh-CN/images/person.png b/zh-CN/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/zh-CN/images/person.png differ diff --git a/zh-CN/images/player.png b/zh-CN/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/zh-CN/images/player.png differ diff --git a/zh-CN/images/showcase.png b/zh-CN/images/showcase.png new file mode 100644 index 000000000..28f37e662 Binary files /dev/null and b/zh-CN/images/showcase.png differ diff --git a/zh-CN/images/sign.png b/zh-CN/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/zh-CN/images/sign.png differ diff --git a/zh-CN/images/stage.png b/zh-CN/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/zh-CN/images/stage.png differ diff --git a/zh-CN/images/world-backdrops.png b/zh-CN/images/world-backdrops.png new file mode 100644 index 000000000..6bbd01bfa Binary files /dev/null and b/zh-CN/images/world-backdrops.png differ diff --git a/zh-CN/images/world-bribe.png b/zh-CN/images/world-bribe.png new file mode 100644 index 000000000..2771dc526 Binary files /dev/null and b/zh-CN/images/world-bribe.png differ diff --git a/zh-CN/images/world-door.png b/zh-CN/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/zh-CN/images/world-door.png differ diff --git a/zh-CN/images/world-enemy2.png b/zh-CN/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/zh-CN/images/world-enemy2.png differ diff --git a/zh-CN/images/world-key.png b/zh-CN/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/zh-CN/images/world-key.png differ diff --git a/zh-CN/images/world-person-test.png b/zh-CN/images/world-person-test.png new file mode 100644 index 000000000..bea6d947a Binary files /dev/null and b/zh-CN/images/world-person-test.png differ diff --git a/zh-CN/images/world-room-test.png b/zh-CN/images/world-room-test.png new file mode 100644 index 000000000..2eedbdb0b Binary files /dev/null and b/zh-CN/images/world-room-test.png differ diff --git a/zh-CN/images/world-room.png b/zh-CN/images/world-room.png new file mode 100644 index 000000000..d7aac269c Binary files /dev/null and b/zh-CN/images/world-room.png differ diff --git a/zh-CN/images/world-sign-test.png b/zh-CN/images/world-sign-test.png new file mode 100644 index 000000000..dca1ed09e Binary files /dev/null and b/zh-CN/images/world-sign-test.png differ diff --git a/zh-CN/images/world-sign-test2.png b/zh-CN/images/world-sign-test2.png new file mode 100644 index 000000000..e7a2b2b9c Binary files /dev/null and b/zh-CN/images/world-sign-test2.png differ diff --git a/zh-CN/images/world-sign.png b/zh-CN/images/world-sign.png new file mode 100644 index 000000000..0188e497f Binary files /dev/null and b/zh-CN/images/world-sign.png differ diff --git a/zh-CN/images/world-starter.png b/zh-CN/images/world-starter.png new file mode 100644 index 000000000..32b323863 Binary files /dev/null and b/zh-CN/images/world-starter.png differ diff --git a/zh-CN/images/world-treasure.png b/zh-CN/images/world-treasure.png new file mode 100644 index 000000000..2dfc4886f Binary files /dev/null and b/zh-CN/images/world-treasure.png differ diff --git a/zh-CN/images/world-up.png b/zh-CN/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/zh-CN/images/world-up.png differ diff --git a/zh-CN/images/world-walls-test.png b/zh-CN/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/zh-CN/images/world-walls-test.png differ diff --git a/zh-CN/images/world-walls.png b/zh-CN/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/zh-CN/images/world-walls.png differ diff --git a/zh-CN/meta.yml b/zh-CN/meta.yml new file mode 100644 index 000000000..a5a4ed250 --- /dev/null +++ b/zh-CN/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/create-your-own-world.png +title: 建你自己的世界 +description: 建自己的冒险游戏 +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: 介绍 + - + title: 移动玩家 + - + title: 坚固的墙壁 + completion: + - engaged + - + title: 走动你的世界 + - + title: '挑战:回到上一个房间' + challenge: true + - + title: 标志 + - + title: '挑战:宝藏!' + challenge: true + - + title: 人物 + - + title: '挑战:敌人' + challenge: true + - + title: 收集硬币 + - + title: 门和钥匙 + completion: + - internal + - + title: '挑战:扩展你的世界' + challenge: true + completion: + - external diff --git a/zh-CN/resources/CreateYourOwnWorldResources.sb3 b/zh-CN/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..f3c79dab7 Binary files /dev/null and b/zh-CN/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/zh-CN/resources/chest.svg b/zh-CN/resources/chest.svg new file mode 100644 index 000000000..d2cae59e9 --- /dev/null +++ b/zh-CN/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zh-CN/resources/coin.svg b/zh-CN/resources/coin.svg new file mode 100644 index 000000000..374e1bb47 --- /dev/null +++ b/zh-CN/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zh-CN/resources/door-blue.png b/zh-CN/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/zh-CN/resources/door-blue.png differ diff --git a/zh-CN/resources/enemy.png b/zh-CN/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/zh-CN/resources/enemy.png differ diff --git a/zh-CN/resources/key.svg b/zh-CN/resources/key.svg new file mode 100644 index 000000000..340aae254 --- /dev/null +++ b/zh-CN/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/zh-CN/resources/person.png b/zh-CN/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/zh-CN/resources/person.png differ diff --git a/zh-CN/resources/player.png b/zh-CN/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/zh-CN/resources/player.png differ diff --git a/zh-CN/resources/room1.png b/zh-CN/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/zh-CN/resources/room1.png differ diff --git a/zh-CN/resources/room2.png b/zh-CN/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/zh-CN/resources/room2.png differ diff --git a/zh-CN/resources/room3.png b/zh-CN/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/zh-CN/resources/room3.png differ diff --git a/zh-CN/resources/sign.svg b/zh-CN/resources/sign.svg new file mode 100644 index 000000000..9ffb3b2de --- /dev/null +++ b/zh-CN/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zh-CN/scratch-translatable.txt b/zh-CN/scratch-translatable.txt new file mode 100644 index 000000000..c25dd90b2 --- /dev/null +++ b/zh-CN/scratch-translatable.txt @@ -0,0 +1,13 @@ +room + +player + +Welcome! Can you get to the treasure? + +Did you know that you can go through orange and yellow doors? + +coins + +blue key + +inventory diff --git a/zh-CN/solutions/CreateYourOwnWorld.sb3 b/zh-CN/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..6f785af3d Binary files /dev/null and b/zh-CN/solutions/CreateYourOwnWorld.sb3 differ diff --git a/zh-CN/step_1.md b/zh-CN/step_1.md new file mode 100644 index 000000000..4346a8761 --- /dev/null +++ b/zh-CN/step_1.md @@ -0,0 +1,67 @@ +--无打印-- + +这是该项目的 **Scratch 3** 版本。 项目还有一个 Scratch 2版本。

+ +\--- /no-print \--- + +## 介绍 + +你将在本项目中学习如何创建你自己的冒险游戏,游戏中有多个房间供玩家探索。 + +### 你将做出什么 + +--无打印-- + +单击绿色旗帜标志开始。 使用箭头键在世界中移动角色。 + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +点击绿色旗帜以开始。使用箭头键使你的角色在世界里到处移动。![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: 你需要准备什么 + +### 你将学习什么 + +- [结合编程结构解决问题。](https://www.raspberrypi.org/curriculum/programming/builder){:target="_blank"} + +### 更多教师参考信息 + +- Scratch 3 (either [online](https://rpf.io/scratchon){:target="_blank"} or [offline](https://rpf.io/scratchoff){:target="_blank"}) + +### 下载 + +您可以在 [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go)找到完成此项目所需的一切。 + +\--- /collapse \--- + +## \--- collapse \--- + +## 你将学习什么 + +- 使用条件选择来对按键做出反应 +- 使用变量来存储游戏的状态 +- 根据变量的值使用条件选择 +- 使用列表存储数据 + +\--- /collapse \--- + +## \--- collapse \--- + +## title: 教师附加信息 + +如果你需要打印本项目,请使用 [适合打印机的版本](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}。 + +你可以在这里找到 [完成的项目](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}。 + +\--- /collapse \--- \ No newline at end of file diff --git a/zh-CN/step_10.md b/zh-CN/step_10.md new file mode 100644 index 000000000..d3fa5b315 --- /dev/null +++ b/zh-CN/step_10.md @@ -0,0 +1,71 @@ +## 收集硬币 + +你的 `玩家` 子图在探索世界的同时,还可以收集硬币。 + +\--- task \--- + +向你的项目添加一个名为 `硬币`{:class="blockdata"}的新变量。 + +\--- /task \--- + +\--- task \--- + +右键点击 `硬币` 子图并选择 **显示**。 + +![截屏](images/coin.png) + +\--- /task \--- + +\--- task \--- + +向你的 `硬币` 子图添加代码使其仅出现在房间 1 内。 + +![截屏](images/coin.png) + +```blocks3 +当绿旗被点击 +重复执行 +如果 <(room :: variables)=[1]> 那么 +显示 +否则 +隐藏 +``` + +\--- /task \--- + +\--- task \--- + +向你的 `硬币` 子图添加代码,从而在 `玩家` 子图触碰到 `硬币` 子图将其“拾取”时,`硬币`{:class="blockdata"}变量便会增加 `1`。 + +![images/world-coins.png](images/coin.png) + +```blocks3 +当旗帜被点击 +等待直到 +将[coins v]增加 (1) +隐藏 +停止[该角色的其他脚本] +``` + +需要 `停止子图中的其他脚本`{:class="blockcontrol"} 代码,这样在收集硬币后,`硬币` 子图将停止在房间 1 中显示。 + +\--- /task \--- + +\--- task \--- + +你还将需要添加代码。以在游戏开始时将你的 `硬币`{:class="blockdata"}变量设为 `0`。 + +![舞台](images/stage.png) + +```blocks3 +当绿旗被点击 +将 [硬币] 设为 [0] +``` + +\--- /task \--- + +\--- task \--- + +测试你的游戏。 向你的项目添加一个名为 `硬币`{:class="blockdata"}的新变量。 + +\--- /task \--- \ No newline at end of file diff --git a/zh-CN/step_11.md b/zh-CN/step_11.md new file mode 100644 index 000000000..d25ce71cd --- /dev/null +++ b/zh-CN/step_11.md @@ -0,0 +1,104 @@ +## 门和钥匙 + +如果你的世界中有一些房门被锁上,玩家必须找到钥匙才能继续游戏,这时该怎么办? + +\--- task \--- + +切换到`钥匙`角色。 点击`显示`{:class="blocklooks"} 使门这个角色能在舞台中显示。 + +\--- /task \--- + +\--- task \--- + +编辑 `钥匙` 子图的造型使其呈蓝色。 + +\--- /task \--- + +\--- task \--- + +切换你的工作区背景至房间 3,并将 `钥匙` 子图放在难以到达的位置! + +![screenshot](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +向 `钥匙` 子图添加代码以确保其仅在房间 3 中可见。 + +\--- /task \--- + +\--- task \--- + +创建一个被称作 `库存`{:class="blockdata"}的新列表变量。此处将是你储存你的 `玩家` 子图收集到的所有物品的地方。 + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +收集钥匙的代码与收集硬币的代码十分相似。不同之处在于你将钥匙添加为库存。 区别是你需要将钥匙添加到 `背包`{:class="block3variables"}。 + +![钥匙](images/key.png) + +```blocks3 +当绿旗被点击 +等待 +添加[inventory v到 [inventory v] +隐藏 +停止 [该角色的其他脚本] +``` + +\--- /task \--- + +\--- task \--- + +测试你的 `钥匙` 子图,看看你是否能收集钥匙并将其添加到你的库存中。请记得向你的工作区添加代码以在游戏开始时清空你的库存。 + +```blocks3 +删除第 (全部 v) 项 \( [inventory v] \) +``` + +\--- /task \--- + +\--- task \--- + +测试你的 `钥匙` 子图,看看你是否能收集钥匙并将其添加到你的库存中。请记得向你的工作区添加代码以在游戏开始时清空你的库存。 + +\--- /task \--- + +\--- task \--- + +现在,添加上锁的门。 选择`门` 的角色,然后点击`显示`{:class="blocklooks},然后将角色放置在两个墙壁之间的空白处。 + +![截屏](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +向 `蓝色房门` 子图添加代码,使其仅在房间 3 内可见。 + +\--- /task \--- + +\--- task \--- + +一旦你的库存中有了蓝色钥匙,`蓝色房门` 子图就会隐藏,以使你的 `玩家` 子图通过。 + +![门](images/door.png) + +```blocks3 +当绿旗被点击 +等待 <[背包]包含[钥匙]?> +停止 [该角色的其他脚本] +隐藏 +``` + +\--- /task \--- + +\--- task \--- + +测试你的项目,看看你是否能收集蓝色钥匙来打开房门! + +\--- /task \--- \ No newline at end of file diff --git a/zh-CN/step_12.md b/zh-CN/step_12.md new file mode 100644 index 000000000..1884a9da5 --- /dev/null +++ b/zh-CN/step_12.md @@ -0,0 +1,28 @@ +## 挑战:扩展你的世界 + +你现在可以继续创建你自己的世界!以下是一些想法: 以下是一些想法: + ++ 在不同的房间为您的游戏添加更多硬币。 你可以让一些硬币被巡逻的敌人守卫吗? ++ 更改你的游戏设置,并更改你的游戏图像 ++ 向你的游戏添加声音和音乐 ++ 添加更多人物、敌人、标志和硬币 ++ 添加红色和黄色房门,以及开启这些门的特殊钥匙 ++ 向你的世界添加更多房间 ++ 向你的游戏添加其他有用的物品 + + + 使用硬币从其他人物那里获取信息: + +![截图](images/world-bribe.png) + ++ 你甚至可以在房间 1 的北墙和南墙上添加房门,这样玩家便可在四个方向上的房间之间移动。例如,如果你有九个房间,你可以考虑将它们以 3×3 的网格状排列。然后,你可以将房间数量增加 `3` 来下移一级。 例如,您的游戏可以在3×3网格中拥有9个房间。 然后,您可以将 `3` 添加到房间号码以向下移动一个级别。 + +![screenshot](images/north-south-rooms.png) + +![截屏](images/number-grid.png) + +```blocks3 +如果 那么 +换成((costume [number v]) + (3)) 造型 +移到x:(0) y:(200) +将 [room v] 设为 (3) +``` \ No newline at end of file diff --git a/zh-CN/step_13.md b/zh-CN/step_13.md new file mode 100644 index 000000000..b0035330e --- /dev/null +++ b/zh-CN/step_13.md @@ -0,0 +1,21 @@ +## 接下来还有什么? + +通过 [CATS开始创建另一个游戏!](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) 项目。 + +\--- no-print \--- + +点击并用鼠标拖动以用铅笔绘制一条线。 您的目标是通过创建通往出口的安全路径来阻止猫掉入洞中。 + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![项目完成](images/cats-finished.png) + +\--- /print-only \--- + +如果要使用Python而不是Scratch制作游戏,请尝试[ RPG ](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects)项目。 \ No newline at end of file diff --git a/zh-CN/step_2.md b/zh-CN/step_2.md new file mode 100644 index 000000000..7837920e2 --- /dev/null +++ b/zh-CN/step_2.md @@ -0,0 +1,131 @@ +## 你将需要什么 + +首先创建一个可以在你的世界中移动的 `玩家` 角色。 + +\--- task \--- + +打开“创建自己的世界”的Scratch初始项目。 + +**Online**: open the online starter project at [rpf.io/create-your-own-world-on](https://rpf.io/create-your-own-world-on){:target="_blank"}. + +如果您有Scratch帐户,可以单击 **Remix** 制作副本。 + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. Scratch 2.0([在线](https://scratch.mit.edu/projects/editor/){:target="_blank"} 或 [离线](https://scratch.mit.edu/scratch2download/){:target="_blank"}) + +![截屏](images/world-starter.png) + +\--- /task \--- + +按箭头键应该移动 `玩家` 角色。 当按下向上箭头时,`玩家` 角色应该在舞台上向上移动以作出响应。 + +\--- task \--- + +将此代码添加到 `玩家` 角色: + +![玩家](images/player.png) + +```blocks3 +当绿旗被点击 +重复执行 + 如果 < 按下 (向上箭头) 键? > 那么 + 面向 (0) 方向 + 移动 (4) 步 + 结束 +结束 +``` + +\--- /task \--- + +\--- task \--- + +单击绿旗标志,然后按住向上箭头。 `玩家` 角色会向上移动吗? + +![截屏](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +若要将 `玩家` 角色移至左边,您需要添加另一个 `如果`{:class="block3control"} 代码块,类似于这样: + +![玩家](images/player.png) + +```blocks3 +当绿旗被点击 +重复执行 + 如果 <按下 (向上箭头) 键? > 那么 + 面向 (0) 方向 + 移动 (4) 步 + 结束 ++ 如果 <按下 (向左箭头) 键? > 那么 + 面向 (-90) 方向 + 移动 (4) 步 + 结束 +结束 +``` + +\--- /task \--- + +\--- task \--- + +为你的 `玩家` 角色添加更多代码,这样它也可以向下和向右移动。 使用您已有的代码来帮助您。 + +\--- hint \--- + +\--- hint \--- + +要向上移动,你将 `玩家` 角色面向 `0` 度方向。 你需要怎么做使角色向下移动? + +要向左移动,你将角色面向 `-90` 度的方向。 你需要怎么做使角色向右移动? + +\--- /hint \--- + +\--- hint \--- + +您需要更改这两个块: + +![玩家](images/player.png) + +```blocks3 + + +面向 () 方向 +``` + +复制让`玩家`角色向上移动的代码,然后更改这两个模块使角色向下移动。 再次复制代码,并更改它以使角色向右移动。 + +\--- /hint \--- + +\--- hint \--- + +现在你的代码应如图所示: + +![玩家](images/player.png) + +```blocks3 +当绿旗被点击 +重复执行 + 如果 < 按下 (向上箭头) 键? > 那么 + 面向 (0) 方向 + 移动 (4) 步 + 结束 ++ 如果 <按下 (向左箭头) 键? > 那么 + 面向 (-90度) 方向 + 移动 (4) 步 + 结束 ++ 如果 <按下 (向下箭头) 键? > 那么 + 面向 (180) 方向 + 移动 (4) 步 + 结束 ++ 如果 <按下 (向右箭头) 键? > 那么 + 面向 (90) 方向 + 移动 (4) 步骤 + 结束 +结束 +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/zh-CN/step_3.md b/zh-CN/step_3.md new file mode 100644 index 000000000..026223593 --- /dev/null +++ b/zh-CN/step_3.md @@ -0,0 +1,50 @@ +## 移动 `玩家` 子图 + +\--- task \--- + +再次测试您的 `玩家` 角色。 Do you see that it can walk through the light grey walls? + +![截图](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +要解决这个问题,你需要让 `玩家` 角色判断,如果碰到浅灰色的墙,则将它移回。 为使 `玩家` 子图向左移动,你需要添加另一个 `如果`{:class="blockcontrol"}代码块,代码类似于: + +![玩家](images/player.png) + +```blocks3 +当绿旗被点击 +重复执行 + 如果 < 按下 (向上箭头) 键? > 那么 + 面向 (0) 方向 + 移动 (4) 步 + 结束 + 如果 <按下 (向左箭头) 键? > 那么 + 面向 (-90) 方向 + 移动 (4) 步 + 结束 + 如果 <按下 (向下箭头) 键? > then + point in direction (180) + move (4) steps + end + if 那么 + 面向 (90) 方向 + 移动 (4) 步 + 结束 ++ 如果 < 碰到颜色 [#BABABA]? > 那么 + 移动 (-4) 步 + 结束 +结束 +``` + +\--- /task \--- + +\--- task \--- + +向你的 `玩家` 子图添加更多代码,使其能向下和向右移动。运用你已有的代码来帮你。 如果您的新代码有效,那应该玩家应该不会穿过墙壁。 + +![截图](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/zh-CN/step_4.md b/zh-CN/step_4.md new file mode 100644 index 000000000..8f5c49b20 --- /dev/null +++ b/zh-CN/step_4.md @@ -0,0 +1,142 @@ +## 坚固的墙壁 + +`玩家` 角色应该能够通过门进入其他房间。 + +您的项目包含其他房间的背景: + +![screenshot](images/world-backdrops.png) + +\--- task \--- + +创建一个名为 `房间`{:class =“block3variables”}的“适用于所有角色”的变量,以跟踪 `玩家` 角色所在的房间。 + +[[[generic-scratch3-add-variable]]] + +![截屏](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +当`玩家`角色碰到第一个房间中的橙色门时,游戏应该显示下一个背景, `玩家`角色应该移到舞台的左侧。 在 `玩家` 角色的`重复执行`{:class="block3control"} 循环中添加此代码: + +![玩家](images/player.png) + +```blocks3 +当绿旗被点击 +重复执行 + 如果 < 按下(up arrow v)键? > 那么 + 面向(0)方向 + 移动 (4) 步 + 结束 + 如果 <按下(left arrow v)键? > 那么 + 面向(-90)方向 + 移动(4)步 + 结束 + 如果 <按下 (down arrow v) 键? > then + point in direction (180) + move (4) steps + end + if 那么 + 面向 (90) 方向 + 移动(4)步 + 结束 + 如果 < 碰到颜色[#BABABA]? > 那么 + 移动(-4)步 + 结束 ++ 如果 < 碰到颜色[#F2A24A] > 那么 + 换成(下一个背景)背景 + 移到 x: (-200) y: (0) + 将 [房间] 设为(1) + 结束 +结束 +``` + +\--- /task \--- + +\--- task \--- + +每次游戏开始时,都需要重置房间,角色位置和背景。 + +为修复这个问题,你应该在 `玩家` 子图碰到浅灰色墙壁时使其往回移动。以下是你将需要在方向代码块下方的 `永远`{:class="blockcontrol"}代码块内部添加的代码: + +\--- hints \--- + +\--- hint \--- + +当游戏启动时: + ++ 再次测试你的 `玩家` 子图,你可能会注意到他们能够穿过浅灰色的墙壁。 ++ `背景`{:class =“block3looks”}应该设置为 `room1`{:class =“block3looks”} ++ `玩家` 角色的位置应该设置为 `x: 200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +以下是你需要的代码块: + +![玩家](images/player.png) + +```blocks3 +移到 x: (-200) y: (0) + +将 [房间] 设为 (1) + +换成 (room1) 背景 +``` + +\--- /hint \--- + +\--- hint \--- + +你的代码完成以后应该像这样: + +![玩家](images/player.png) + +```blocks3 +当绿旗被点击 ++将 [房间] 设为(1) ++移到 x: (-200) y: (0) ++换成 (room1) 背景 +重复执行 + 如果 < 按下 (up arrow v) 键 ? > 那么 + 面向(0)方向 + 移动 (4) 步 + 结束 ++ 如果 <按下(left arrow v)键? > 那么 + 面向(-90)方向 + 移动(4)步 + 结束 + 如果 <按下 (down arrow v) 键? > then + point in direction (180) + move (4) steps + end + if 那么 + 面向(90)方向 + 移动(4)步 + 结束 + 如果 < 碰到颜色[#BABABA]? > 那么 + 移动(-4)步 + 结束 + 如果 < 碰到颜色[#F2A24A] > 那么 + 换成(下一个背景)背景 + 移到 x: (-200) y: (0) + 将 [房间] 设为(1) + 结束 +结束 +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +点击绿旗,然后移动你的`玩家` 角色直到碰到橙色的门。 角色会移动到下一个屏幕吗? `房间` {:class =“ block3variables”}变量是否更改为` 2 ` ? + +![截屏](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/zh-CN/step_5.md b/zh-CN/step_5.md new file mode 100644 index 000000000..d823e5571 --- /dev/null +++ b/zh-CN/step_5.md @@ -0,0 +1,3 @@ +## 挑战:移向先前的房间 + +你能否使你的 `玩家` 子图在碰到黄色房门时移向先前的房间?为此你需要的代码与你之前为移向下一个房间而添加的代码十分相似。 您需要的代码与您已经添加的代码非常相似,以便将角色移动到下一个房间。 \ No newline at end of file diff --git a/zh-CN/step_6.md b/zh-CN/step_6.md new file mode 100644 index 000000000..6cb20be3f --- /dev/null +++ b/zh-CN/step_6.md @@ -0,0 +1,108 @@ +## 标志 + +现在为您的世界添加标志,以指导玩家的旅程。 + +你的项目包括一个 `欢迎标志` 子图: + +![screenshot](images/world-sign.png) + +\--- task \--- + +`欢迎标志` 子图只应在房间 1 中可见,因此向 `欢迎标志` 子图添加一些代码以确保实现这一点: + +\--- hints \--- + +\--- hint \--- + +`当绿旗被点击`{:class="block3events"},在`重复执行`{:class="block3control"}的循环中判断,`如果`{:class="block3control"} `房间是1`{:class="block3variables"} 则`显示`{:class="block3looks"}`欢迎标志`角色,`否则`{:class="block3control"} `隐藏`{:class="block3looks"}该角色。 + +\--- /hint \--- + +\--- hint \--- + +以下是你需要的代码块: + +![标志](images/sign.png) + +```blocks3 +
如果 <> 那么 +否则 +结束 + +< (room:: variables) = [1] > + +隐藏 + +显示 + +重复执行 +结束 + +当绿旗被点击 + +``` + +\--- /hint \--- + +\--- hint \--- + +这是完整的代码: + +![标志](images/sign.png) + +```blocks3 +当绿旗被点击 +重复执行 + 如果 < (room :: variables)= [1] > 那么 + 显示 + 否则 + 隐藏 + 结束 +结束 +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +通过在房间之间移动来测试你的 `欢迎标志` 子图。你的标志只应在房间 1 中可见。 这个标志只会在房间1显示。 + +![截屏](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +一个欢迎标志如果不说点什么是不是不太好? 一个标志如果不能表示点什么,则没有多大用处!添加更多代码,使 `欢迎标志` 子图触碰到 `玩家` 子图时显示一条信息: + +![标志](images/sign.png) + +```blocks3 +当绿旗被点击 +重复执行 +如果 < (room :: variables)= [1] > 那么 +显示 +否则 +隐藏 +结束 ++如果 < 碰到(player v)? > 那么 +说[欢迎! 你能得到宝藏吗?] +否则 +说 [] +结束 +结束 +``` + +\--- /task \--- + +\--- task \--- + +再次测试你的`欢迎标志`角色。 现在,当`玩家`碰到`欢迎标志`时,你会看到一条提示信息。 + +![截屏](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/zh-CN/step_7.md b/zh-CN/step_7.md new file mode 100644 index 000000000..09b1afc70 --- /dev/null +++ b/zh-CN/step_7.md @@ -0,0 +1,7 @@ +## 挑战:宝藏! + +你能添加一些宝藏供玩家寻找吗? + +使 `宝箱` 子图仅出现在房间 3,并使它在 `玩家` 子图触碰它时说“做得好!”。 + +![screenshot](images/world-treasure.png) \ No newline at end of file diff --git a/zh-CN/step_8.md b/zh-CN/step_8.md new file mode 100644 index 000000000..7140ecc73 --- /dev/null +++ b/zh-CN/step_8.md @@ -0,0 +1,65 @@ +## 人物 + +让我们来向你的世界添加一些其他人物,你的 `玩家` 子图可与之进行互动。 + +\--- task \--- + +切换至 `人物` 子图。 + +![人精灵](images/person.png) + +\--- /task \--- + +\--- task \--- + +在`人物`角色中添加一些代码,使它可以与`玩家`对话。 这个代码和之前在`欢迎标志`角色中的代码非常相似。 + +![images/person-sprite.png](images/person.png) + +```blocks3 +当绿旗被点击 +移到x: (0) y: (-150) +重复执行 + 如果 < 碰到 (player v)? > 那么 + 说[你知道你可以通过橙色和黄色的门吗?] + 否则 + 说[] + 结束 +结束 +``` + +\--- /task \--- + +\--- task \--- + +你还可以通过在你代码的 `否则`{:class="blockcontrol"}部分添加这两个代码块,让你的 `人物` 子图移动: + +![人物](images/person.png) + +```blocks3 +当绿旗被点击 +移到x: (0) y: (-150) +重复执行 + 如果 < 碰到 (player v)? > 那么 + 说[你知道你可以通过橙色和黄色的门吗?] + 否则 + 说[] ++ 移动 (1) 步 ++ 碰到边缘就反弹 + 结束 +结束 +``` + +\--- /task \--- + +你的 `人物` 子图现在将会移动,但会停下来和 `玩家` 子图交谈。 + +![截屏](images/world-person-test.png) + +\--- task \--- + +添加新的代码到`人物`角色中使角色只出现在房间1中。 其中所需要的代码和`欢迎标志`角色中的仅房间1显示相同。 + +完成以后,确保测试一下你的新代码。 + +\--- /task \--- \ No newline at end of file diff --git a/zh-CN/step_9.md b/zh-CN/step_9.md new file mode 100644 index 000000000..b1ea224b5 --- /dev/null +++ b/zh-CN/step_9.md @@ -0,0 +1,39 @@ +## 挑战:加入一个敌人 + +如果你愿意,你也可以在你的游戏中加入巡逻敌人。 如果 `玩家` 角色碰到敌人,游戏结束。 + ++ 你的游戏已包含 `敌人` 角色。 向 `敌人` 子图添加代码,使其仅出现在房间 2 内。 + ++ 在`敌人`角色中添加一些代码,如果`敌人`碰到了`玩家`时就结束游戏。 在单独的代码块中执行此操作更容易。 这是你的`敌人`角色代码,看起来像这样: + +```blocks3 +当绿旗被点击 +重复执行 +如果 <(room :: variables)=[2]> 那么 +显示 +否则 +隐藏 + +当绿旗被点击 +重复执行 +如果 那么 +停止 [all v] + +当绿旗点击 +移到x: (170) y:(0) +重复执行 +重复执行 (130) 次 +将x坐标增加 (-1) +结束 +重复执行 (130) 次 +将x坐标增加 (1) +``` + ++ 测试你的 `敌人` 子图以确保: + + 向 `敌人` 子图添加代码,使其仅出现在房间 2 内。 + + 其巡视该房间 + + 如果 `玩家` 子图触碰到它,则游戏终止 + +你能否在房间 3 内创建另一个穿过墙壁中的缺口上下巡逻的 `敌人` 子图? + +![screenshot](images/world-enemy2.png) \ No newline at end of file diff --git a/zh-TW/images/banner.png b/zh-TW/images/banner.png new file mode 100644 index 000000000..ae17d953d Binary files /dev/null and b/zh-TW/images/banner.png differ diff --git a/zh-TW/images/cats-finished.png b/zh-TW/images/cats-finished.png new file mode 100644 index 000000000..b0dbad572 Binary files /dev/null and b/zh-TW/images/cats-finished.png differ diff --git a/zh-TW/images/coin.png b/zh-TW/images/coin.png new file mode 100644 index 000000000..40f381f04 Binary files /dev/null and b/zh-TW/images/coin.png differ diff --git a/zh-TW/images/door.png b/zh-TW/images/door.png new file mode 100644 index 000000000..0e3f92a70 Binary files /dev/null and b/zh-TW/images/door.png differ diff --git a/zh-TW/images/key.png b/zh-TW/images/key.png new file mode 100644 index 000000000..9c7412bff Binary files /dev/null and b/zh-TW/images/key.png differ diff --git a/zh-TW/images/north-south-rooms.png b/zh-TW/images/north-south-rooms.png new file mode 100644 index 000000000..1f92fc4a0 Binary files /dev/null and b/zh-TW/images/north-south-rooms.png differ diff --git a/zh-TW/images/number-grid.png b/zh-TW/images/number-grid.png new file mode 100644 index 000000000..a40f8a194 Binary files /dev/null and b/zh-TW/images/number-grid.png differ diff --git a/zh-TW/images/person.png b/zh-TW/images/person.png new file mode 100644 index 000000000..2ca8c61bd Binary files /dev/null and b/zh-TW/images/person.png differ diff --git a/zh-TW/images/player.png b/zh-TW/images/player.png new file mode 100644 index 000000000..41232df27 Binary files /dev/null and b/zh-TW/images/player.png differ diff --git a/zh-TW/images/showcase.png b/zh-TW/images/showcase.png new file mode 100644 index 000000000..28832518a Binary files /dev/null and b/zh-TW/images/showcase.png differ diff --git a/zh-TW/images/sign.png b/zh-TW/images/sign.png new file mode 100644 index 000000000..0846bc18c Binary files /dev/null and b/zh-TW/images/sign.png differ diff --git a/zh-TW/images/stage.png b/zh-TW/images/stage.png new file mode 100644 index 000000000..1ea82c7ea Binary files /dev/null and b/zh-TW/images/stage.png differ diff --git a/zh-TW/images/world-backdrops.png b/zh-TW/images/world-backdrops.png new file mode 100644 index 000000000..175e426fd Binary files /dev/null and b/zh-TW/images/world-backdrops.png differ diff --git a/zh-TW/images/world-bribe.png b/zh-TW/images/world-bribe.png new file mode 100644 index 000000000..56e6e9398 Binary files /dev/null and b/zh-TW/images/world-bribe.png differ diff --git a/zh-TW/images/world-door.png b/zh-TW/images/world-door.png new file mode 100644 index 000000000..51355ab4f Binary files /dev/null and b/zh-TW/images/world-door.png differ diff --git a/zh-TW/images/world-enemy2.png b/zh-TW/images/world-enemy2.png new file mode 100644 index 000000000..e961d118e Binary files /dev/null and b/zh-TW/images/world-enemy2.png differ diff --git a/zh-TW/images/world-key.png b/zh-TW/images/world-key.png new file mode 100644 index 000000000..5a902237c Binary files /dev/null and b/zh-TW/images/world-key.png differ diff --git a/zh-TW/images/world-person-test.png b/zh-TW/images/world-person-test.png new file mode 100644 index 000000000..ac1efb49f Binary files /dev/null and b/zh-TW/images/world-person-test.png differ diff --git a/zh-TW/images/world-room-test.png b/zh-TW/images/world-room-test.png new file mode 100644 index 000000000..1c1ac17d9 Binary files /dev/null and b/zh-TW/images/world-room-test.png differ diff --git a/zh-TW/images/world-room.png b/zh-TW/images/world-room.png new file mode 100644 index 000000000..1af7c855a Binary files /dev/null and b/zh-TW/images/world-room.png differ diff --git a/zh-TW/images/world-sign-test.png b/zh-TW/images/world-sign-test.png new file mode 100644 index 000000000..97f27e635 Binary files /dev/null and b/zh-TW/images/world-sign-test.png differ diff --git a/zh-TW/images/world-sign-test2.png b/zh-TW/images/world-sign-test2.png new file mode 100644 index 000000000..f2c074af7 Binary files /dev/null and b/zh-TW/images/world-sign-test2.png differ diff --git a/zh-TW/images/world-sign.png b/zh-TW/images/world-sign.png new file mode 100644 index 000000000..420540003 Binary files /dev/null and b/zh-TW/images/world-sign.png differ diff --git a/zh-TW/images/world-starter.png b/zh-TW/images/world-starter.png new file mode 100644 index 000000000..7269c2331 Binary files /dev/null and b/zh-TW/images/world-starter.png differ diff --git a/zh-TW/images/world-treasure.png b/zh-TW/images/world-treasure.png new file mode 100644 index 000000000..fa76f4fff Binary files /dev/null and b/zh-TW/images/world-treasure.png differ diff --git a/zh-TW/images/world-up.png b/zh-TW/images/world-up.png new file mode 100644 index 000000000..ae0cfbd5b Binary files /dev/null and b/zh-TW/images/world-up.png differ diff --git a/zh-TW/images/world-walls-test.png b/zh-TW/images/world-walls-test.png new file mode 100644 index 000000000..1e9697139 Binary files /dev/null and b/zh-TW/images/world-walls-test.png differ diff --git a/zh-TW/images/world-walls.png b/zh-TW/images/world-walls.png new file mode 100644 index 000000000..cba566814 Binary files /dev/null and b/zh-TW/images/world-walls.png differ diff --git a/zh-TW/meta.yml b/zh-TW/meta.yml new file mode 100644 index 000000000..a9903b5c5 --- /dev/null +++ b/zh-TW/meta.yml @@ -0,0 +1,43 @@ +--- +hero_image: images/banner.png +title: 創造你的世界 +description: 創建一個屬於自己的開放世界冒險遊戲 +listed: true +copyedit: false +version: 4.1.0 +last_tested: 2018-10-23 +steps: + - + title: 介紹 + - + title: 移動玩家角色 + - + title: 堅固的牆壁 + completion: + - engaged + - + title: 在你的世界逛逛 + - + title: '挑戰:回到上個空間' + challenge: true + - + title: 告示牌 + - + title: '挑戰:寶藏!' + challenge: true + - + title: 路人 + - + title: '挑戰:加個敵人' + challenge: true + - + title: 收集金幣 + - + title: 門和鑰匙 + completion: + - internal + - + title: '挑戰:拓展你的世界' + challenge: true + completion: + - external diff --git a/zh-TW/resources/CreateYourOwnWorldResources.sb3 b/zh-TW/resources/CreateYourOwnWorldResources.sb3 new file mode 100644 index 000000000..6b8e8368f Binary files /dev/null and b/zh-TW/resources/CreateYourOwnWorldResources.sb3 differ diff --git a/zh-TW/resources/chest.svg b/zh-TW/resources/chest.svg new file mode 100644 index 000000000..3543fa35e --- /dev/null +++ b/zh-TW/resources/chest.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zh-TW/resources/coin.svg b/zh-TW/resources/coin.svg new file mode 100644 index 000000000..a0ddde5af --- /dev/null +++ b/zh-TW/resources/coin.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zh-TW/resources/door-blue.png b/zh-TW/resources/door-blue.png new file mode 100644 index 000000000..8b6277173 Binary files /dev/null and b/zh-TW/resources/door-blue.png differ diff --git a/zh-TW/resources/enemy.png b/zh-TW/resources/enemy.png new file mode 100644 index 000000000..34663a65e Binary files /dev/null and b/zh-TW/resources/enemy.png differ diff --git a/zh-TW/resources/key.svg b/zh-TW/resources/key.svg new file mode 100644 index 000000000..f0b3d2057 --- /dev/null +++ b/zh-TW/resources/key.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + diff --git a/zh-TW/resources/person.png b/zh-TW/resources/person.png new file mode 100644 index 000000000..3eb22a48f Binary files /dev/null and b/zh-TW/resources/person.png differ diff --git a/zh-TW/resources/player.png b/zh-TW/resources/player.png new file mode 100644 index 000000000..ea7f090d0 Binary files /dev/null and b/zh-TW/resources/player.png differ diff --git a/zh-TW/resources/room1.png b/zh-TW/resources/room1.png new file mode 100644 index 000000000..5248ccb0c Binary files /dev/null and b/zh-TW/resources/room1.png differ diff --git a/zh-TW/resources/room2.png b/zh-TW/resources/room2.png new file mode 100644 index 000000000..9c9b6f189 Binary files /dev/null and b/zh-TW/resources/room2.png differ diff --git a/zh-TW/resources/room3.png b/zh-TW/resources/room3.png new file mode 100644 index 000000000..22aec7dd9 Binary files /dev/null and b/zh-TW/resources/room3.png differ diff --git a/zh-TW/resources/sign.svg b/zh-TW/resources/sign.svg new file mode 100644 index 000000000..44add97d4 --- /dev/null +++ b/zh-TW/resources/sign.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zh-TW/scratch-translatable.txt b/zh-TW/scratch-translatable.txt new file mode 100644 index 000000000..1e1e6834b --- /dev/null +++ b/zh-TW/scratch-translatable.txt @@ -0,0 +1,13 @@ +空間 + +玩家 + +歡迎! 你能找到寶藏嗎? + +你知道嗎? 你能穿過橘色和黃色的門 + +金幣 + +藍鑰 + +物品欄 diff --git a/zh-TW/solutions/CreateYourOwnWorld.sb3 b/zh-TW/solutions/CreateYourOwnWorld.sb3 new file mode 100644 index 000000000..ed0479c11 Binary files /dev/null and b/zh-TW/solutions/CreateYourOwnWorld.sb3 differ diff --git a/zh-TW/step_1.md b/zh-TW/step_1.md new file mode 100644 index 000000000..c9afa7db1 --- /dev/null +++ b/zh-TW/step_1.md @@ -0,0 +1,67 @@ +\--- no-print \--- + +這個專案是 **Scratch 3** 版本。 另外還有 [Scratch 2](https://projects.raspberrypi.org/en/projects/create-your-own-world-scratch2) 版本。 + +\--- /no-print \--- + +## 介紹 + +藉由本專案,您將學習創建自己的冒險遊戲世界,並探索多個不同級別。 + +### 你會做出什麼呢? + +\--- no-print \--- + +點擊綠旗開始, 用鍵盤的方向鍵在世界移動,到處探險吧! + +
+ + +
+ +\--- /no-print \--- + +\--- print-only \--- + +使用你的方向鍵到處走走看看。 ![showcase.png](images/showcase.png) + +\--- /print-only \--- + +## \--- collapse \--- + +## title: 你將會用到 + +### 硬體 + +- 可運行 Scratch 3 的電腦 + +### 軟體 + +- Scratch 3([線上版](https://rpf.io/scratchon){:target="_blank"} 或 [離線版](https://rpf.io/scratchoff){:target="_blank"}) + +### 下載 + +您可以在 [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go) 找到完成本專案所需要的資源。 + +\--- /collapse \--- + +## \--- collapse \--- + +## title: 你會學到 + +- 使用條件判斷來對按鍵做出反應 +- 使用變數暫時儲存遊戲的狀態 +- 依據變數的值來做條件選擇 +- 使用清單來儲存多個變數 + +\--- /collapse \--- + +## \--- collapse \--- + +## title: 給教師的其它資訊 + +如果你需要列印這個專案,可以先切換成[列印友好模式](https://projects.raspberrypi.org/en/projects/create-your-own-world/print){:target="_blank"}。 + +你可以在這裡找到[已經完成的專案](https://rpf.io/p/en/create-your-own-world-get){:target="_blank"}。 + +\--- /collapse \--- \ No newline at end of file diff --git a/zh-TW/step_10.md b/zh-TW/step_10.md new file mode 100644 index 000000000..037d35b19 --- /dev/null +++ b/zh-TW/step_10.md @@ -0,0 +1,72 @@ +## 收集金幣 + +讓`玩家`角色能夠在你的世界四處找尋並收集金幣。 + +\--- task \--- + +添加一個新的變數到專案,名為`金幣`{:class="block3variables"}。 + +\--- /task \--- + +\--- task \--- + +選擇`金幣`角色,然後在角色面版選擇**顯示**。 + +![截圖](images/coin.png) + +\--- /task \--- + +\--- task \--- + +為`金幣`角色寫個程式,讓它只出現在空間1裡頭。 + +![截圖](images/coin.png) + +```blocks3 +當 @greenflag 被點擊 +重複無限次 +如果 <(空間 :: variables) = (1)> 那麼 +顯示 +否則 +隱藏 +end +``` + +\--- /task \--- + +\--- task \--- + +再添加一些程式到`金幣`角色,`玩家`只要碰到`金幣`角色就可以把它收集起來,金幣就會`消失不見`{:class="block3looks"},然後`金幣`{:class="block3variables"}的收集數就會加 `1`{:class="block3variables"}。 + +![金幣](images/coin.png) + +```blocks3 +當 @greenflag 被點擊 +等待直到 <碰到 (玩家 v)?> +變數 [金幣 v] 改變 (1) +隱藏 +停止 [這個物件的其它程式 v] +``` + +`停止這個物件的其它程式`{:class="block3control"}這個積木是很重要的,它可以讓`金幣`在被收集後不再出現在空間1裡。 + +\--- /task \--- + +\--- task \--- + +接著要添加的程式,是要讓初始化遊戲的金幣數,也就是讓`金幣`{:class="block3variables"}這個變數在每次遊戲開始重新設定回 `0`{:class="block3variables"}。 + +![舞台](images/stage.png) + +```blocks3 +當 @greenflag 被點擊 +變數 [金幣 v] 設為 (0) +``` + +\--- /task \--- + +\--- task \--- + +測試你的遊戲。 收集金幣時,`金幣`數應該會變成 `1`{:class="block3variables"}。 + +\--- /task \--- \ No newline at end of file diff --git a/zh-TW/step_11.md b/zh-TW/step_11.md new file mode 100644 index 000000000..beea07643 --- /dev/null +++ b/zh-TW/step_11.md @@ -0,0 +1,104 @@ +## 門和鑰匙 + +現在,你將編寫程式,讓遊戲世界中的某些門被鎖住,玩家必須找到進入下一個空間的房門鑰匙。 + +\--- task \--- + +切換到`鑰匙`角色。 點擊角色面板上的`顯示`{:class="blocklooks"}圖示,讓角色出現在舞台上。 + +\--- /task \--- + +\--- task \--- + +修改`鑰匙`角色的造型,讓它變成藍色,然後再把角色名稱改為「鑰匙-藍色」。 + +\--- /task \--- + +\--- task \--- + +將你的舞台背景切換成空間3,把`鑰匙`角色放在一個不容易拿取的位置! + +![截圖](images/world-key.png) + +\--- /task \--- + +\--- task \--- + +為`鑰匙`角色寫個程式,讓它只出現在空間3裡頭。 + +\--- /task \--- + +\--- task \--- + +創建一個新的清單,名為`倉庫`{:class="block3variables"},這個清單是用來儲存`玩家`角色收集到的物品的。 + +[[[generic-scratch3-make-list]]] + +\--- /task \--- + +\--- task \--- + +你要添加的程式,和收集金幣時所寫的程式很類似。 不同的地方在於,你要將收集到的鑰匙儲存在`倉庫`{:class="block3variables"}裡。 + +![鑰匙](images/key.png) + +```blocks3 +當 @greenflag 被點擊 +等待直到 <碰到 (玩家 v)?> +添加 (藍錀匙) 到 [倉庫 v] +隱藏 +停止 [這個物件的其它程式 v] +``` + +\--- /task \--- + +\--- task \--- + +在舞台上編寫一個程式,讓遊戲在開始時能清空倉庫中的物品。 + +```blocks3 +刪除 [倉庫 v] 的所有項目 +``` + +\--- /task \--- + +\--- task \--- + +測試你的遊戲,檢查是否可以收集`鑰匙`角色,並把它加入到倉庫裡。 + +\--- /task \--- + +\--- task \--- + +現在加入一個上鎖的門。 選取`房門-藍色`角色,點擊角色面板的`顯示`{:class="blocklooks}圖示,你會看到它出現在牆壁中間。 + +![截圖](images/world-door.png) + +\--- /task \--- + +\--- task \--- + +為`房門-藍色`角色寫個程式,讓它只出現在空間3裡頭。 + +\--- /task \--- + +\--- task \--- + +再添加一些程式到`房門-藍色`角色上,讓在只有在玩家收集到鑰匙時才能打開,也就是說,只有`倉庫`{:class="block3variables"}裡有藍鑰匙時,門才會`隱藏`{:class="block3looks"}以便`玩家`通過。 + +![房門](images/door.png) + +```blocks3 +當 @greenflag 被點擊 +等待直到 <清單 [倉庫 v] 包含 (藍鑰匙) ?> +停止 [這個物件的其它程式 v] +隱藏 +``` + +\--- /task \--- + +\--- task \--- + +測試你的遊戲,看看是否可以收集藍色鑰匙來打開門! + +\--- /task \--- \ No newline at end of file diff --git a/zh-TW/step_12.md b/zh-TW/step_12.md new file mode 100644 index 000000000..a031ee726 --- /dev/null +++ b/zh-TW/step_12.md @@ -0,0 +1,28 @@ +## 挑戰:拓展你的世界 + +你現在可以繼續創建屬於你的世界! 給你一些靈感: + ++ 在不同的空間加入更多的金幣。 在這些金幣旁佈下重兵守衛! ++ 修改遊戲的背景 ++ 為遊戲添加音樂和音效 ++ 加入更多的路人、敵人、告示牌 ++ 增加紅色、黃色的門,還有能打開它們的鑰匙 ++ 添加更多的空間(也就是關卡) ++ 在遊戲中放置些有功能的物品 + + + 你必須給路人硬幣才能獲得情報: + +![截圖](images/world-bribe.png) + ++ 你還可以打通北牆和南牆,在上面添加門,這樣玩家就可以在四個方向的空間移動。 舉例來說,你的遊戲像是放在 3x3 的格子中,這樣就有 9 個空間。 然後,往下的空間就是把空間數字加 `3`。 + +![截圖](images/north-south-rooms.png) + +![截圖](images/number-grid.png) + +```blocks3 +如果 <碰到顏色 ()?> 那麼 +背景換成 ((造型 [編號 v]::looks) + (3)) +定位到 x:(0) y:(200) +變數 [空間 v] 改變 (3) +``` \ No newline at end of file diff --git a/zh-TW/step_13.md b/zh-TW/step_13.md new file mode 100644 index 000000000..73d872899 --- /dev/null +++ b/zh-TW/step_13.md @@ -0,0 +1,21 @@ +## 然後呢? + +試試[搶救貓咪大作戰](https://projects.raspberrypi.org/en/projects/cats?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects)專案。 + +\--- no-print \--- + +單擊並拖曳滑鼠游標,用鉛筆畫出線條, 你的任務是繪製安全的路徑,避免貓咪掉入坑洞,最後安全抵達庇護所。 + +
+ +
+ +\--- /no-print \--- + +\--- print-only \--- + +![搶救貓咪大作戰](images/cats-finished.png) + +\--- /print-only \--- + +想試試其它的程式語言嗎?試試 [RPG](https://projects.raspberrypi.org/en/projects/rpg?utm_source=pathway&utm_medium=whatnext&utm_campaign=projects) 這個用 Pyhton 寫成的專案吧! \ No newline at end of file diff --git a/zh-TW/step_2.md b/zh-TW/step_2.md new file mode 100644 index 000000000..f19b63910 --- /dev/null +++ b/zh-TW/step_2.md @@ -0,0 +1,131 @@ +## 移動玩家角色 + +先從創建一個能在你的世界中移動的 `玩家` 角色開始。 + +\--- task \--- + +開啟 Create your own world 這個範例專案。 + +**離線版**:你可以點擊 [rpf.io/p/zh-TW/create-your-own-world-go](https://rpf.io/p/zh-TW/create-your-own-world-go){:target="_blank"} 以下載專案。 如果你需要 Scratch 離線版編輯器,可以連結到 [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}。 + +如果你有 Scratch 帳戶,你就可以直接**改編**專案。 + +**Offline**: download the starter project [rpf.io/p/en/create-your-own-world-go](https://rpf.io/p/en/create-your-own-world-go){:target="_blank"}, and then open it using the offline editor. 如果你需要 Scratch 離線版編輯器,可以連結到 [rpf.io/scratchoff](https://rpf.io/scratchoff){:target="_blank"}。 + +![截圖](images/world-starter.png) + +\--- /task \--- + +方向鍵應該要能控制`角色`的移動。 比方說,向上鍵要能讓`玩家`角色往舞台的上方移動。 + +\--- task \--- + +在`玩家`角色上添加這個程式: + +![玩家](images/player.png) + +```blocks3 +當 @greenflag 被點擊 +重複無限次 + 如果 <(向上 v) 鍵被按下? > 那麼 + 面朝 (0) 度 + 移動 (4) 點 + end +end +``` + +\--- /task \--- + +\--- task \--- + +點擊綠旗,然後按住向上鍵。 `玩家`角色往上移動了嗎? + +![截圖](images/world-up.png) + +\--- /task \--- + +\--- task \--- + +要讓`玩家`角色向左移動的話,你必須添加另一個`如果`{:class="block3control"}積木,然後撰寫類似的程式: + +![玩家](images/player.png) + +```blocks3 +當 @greenflag 被點擊 +重複無限次 + 如果 <(向上 v) 鍵被按下? > 那麼 + 面朝 (0) 度 + 移動 (4) 點 + end ++ 如果 <(向左 v) 鍵被按下? > 那麼 + 面朝 (-90) 度 + 移動 (4) 點 + end +end +``` + +\--- /task \--- + +\--- task \--- + +編寫更多的程式,讓`玩家`角色也能向下、向右移動。 你可以複製現有的程式然後加以修改,幫助你快一點完成。 + +\--- hints \--- + +\--- hint \--- + +在向上移動時,`玩家`角色要面對的方位角度是 `0` 度。 那麼往下移動呢? + +在向左移動時,玩家角色要面對的方位角度是 `90` 度。 那麼往右移動呢? + +\--- /hint \--- + +\--- hint \--- + +你必須要修改這兩種積木: + +![玩家](images/player.png) + +```blocks3 +<( v) 鍵被按下?> + +面朝 () 度 +``` + +複製讓`玩家`能往上移動的程式,修改這兩種積木,讓角色能向下移動。 再複製一次,然後把它改成能讓角色向右移動。 + +\--- /hint \--- + +\--- hint \--- + +你的程式看起來應該像這樣: + +![玩家](images/player.png) + +```blocks3 +當 @greenflag 被點擊 +重複無限次 + 如果 <(向上 v) 鍵被按下? > 那麼 + 面朝 (0) 度 + 移動 (4) 點 + end + 如果 <(向左 v) 鍵被按下? > 那麼 + 面朝 (-90) 度 + 移動 (4) 點 + end ++ 如果 <(向下 v) 鍵被按下? > 那麼 + 面朝 (180) 度 + 移動 (4) 點 + end ++ 如果 <(向右 v) 鍵被按下? > 那麼 + 面朝 (90) 度 + 移動 (4) 點 + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- \ No newline at end of file diff --git a/zh-TW/step_3.md b/zh-TW/step_3.md new file mode 100644 index 000000000..d355aaeb9 --- /dev/null +++ b/zh-TW/step_3.md @@ -0,0 +1,48 @@ +## 堅固的牆壁 + +\--- task \--- + +再測試你的`玩家`角色。 你觀察到了嗎?它可以穿過淺灰色的牆壁…這一點也不科學! + +![截圖](images/world-walls.png) + +\--- /task \--- + +\--- task \--- + +要解決這個問題,你必須讓`玩家`角色在碰到淺灰色牆壁時,讓它彈回來。 請把這個程式添加到`重複無限次`{:class="block3control"}區段中面朝方向積木的下面: + +![玩家](images/player.png) + +```blocks3 +當 @greenflag 被點擊 +重複無限次 + 如果 <(向上 v) 鍵被按下? > 那麼 + 面朝 (0) 度 + 移動 (4) 點 + end + 如果 <(向左 v) 鍵被按下? > 那麼 + 面朝 (-90) 度 + 移動 (4) 點 + end + 如果 <(向下 v) 鍵被按下? when flag clicked +forever + if 那麼 + 面朝 (90) 度 + 移動 (4) 點 + end ++ 如果 <碰到顏色 (#BABABA)? > 那麼 + 移動 (-4) 點 + end +end +``` + +\--- /task \--- + +\--- task \--- + +試著讓`玩家`角色經過牆壁。 如果新的程式有用的話,它應該不能再穿牆而過了。 + +![截圖](images/world-walls-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/zh-TW/step_4.md b/zh-TW/step_4.md new file mode 100644 index 000000000..0452a0669 --- /dev/null +++ b/zh-TW/step_4.md @@ -0,0 +1,141 @@ +## 在你的世界逛逛 + +`玩家`角色應該要能通過門進入其它的空間。 + +你的專案包含了其它空間的背景: + +![截圖](images/world-backdrops.png) + +\--- task \--- + +創建一個「適用於所有角色」的變數,名稱叫做`空間`{:class="block3variables"},用這個變數來紀錄`玩家`走到了哪個空間。 + +[[[generic-scratch3-add-variable]]] + +![截圖](images/world-room.png) + +\--- /task \--- + +\--- task \--- + +當`玩家`角色碰到了第一個空間裡的橙色門,遊戲應該要顯示下一個背景,`玩家`應該被定位到舞台的最左邊。 為`玩家`角色添加程式到`重複無限次`{:class="block3control"}迴圈裡: + +![玩家](images/player.png) + +```blocks3 +當 @greenflag 被點擊 +重複無限次 + 如果 <(向上 v) 鍵被按下? > 那麼 + 面朝 (0) 度 + 移動 (4) 點 + end + 如果 <(向左 v) 鍵被按下? > 那麼 + 面朝 (-90) 度 + 移動 (4) 點 + end + 如果 <(向下 v) 鍵被按下? when flag clicked +forever + if 那麼 + 面朝 (90) 度 + 移動 (4) 點 + end + 如果 <碰到顏色 (#BABABA)? > 那麼 + 移動 (-4) 點 + end ++ 如果 <碰到顏色 (#F2A24A)?> 那麼 + 背景換成 (下一個背景 v) + 定位到 x:(0) y:(0) + 變數 [空間 v] 改變 (1) + end +end +``` + +\--- /task \--- + +\--- task \--- + +每次遊戲的一開始,角色所處空間、角色的位置、背景都要重新設置。 + +把**初始**的程式添加到`玩家`角色的`重複無限次`{:class="block3control"}積木上面,這樣一來,當點擊綠旗時,所有東西都會被重置。 + +\--- hints \--- + +\--- hint \--- + +當遊戲開始運行時: + ++ `空間`{:class="block3variables"}的值應該設定為 `1`{:class="block3variables"} ++ `背景`{:class="block3looks"}應該被設定成 `空間1`{:class="block3looks"} ++ `玩家`角色的位置應該設定為 `x: -200 y: 0`{:class="block3motion"} + +\--- /hint \--- + +\--- hint \--- + +這裡是你需要的程式積木: + +![玩家](images/player.png) + +```blocks3 +定位到 x:(-200) y:(0) + +變數 [空間 v] 設為 (1) + +背景換成 (空間1 v) +``` + +\--- /hint \--- + +\--- hint \--- + +你的程式看起來應該像這樣: + +![玩家](images/player.png) + +```blocks3 +當 @greenflag 被點擊 ++變數 [空間 v] 設為 (1) ++定位到 x:(-200) y:(0) ++背景換成 (空間1 v) +重複無限次 + 如果 <(向上 v) 鍵被按下? > 那麼 + 面朝 (0) 度 + 移動 (4) 點 + end + 如果 <(向左 v) 鍵被按下? > 那麼 + 面朝 (-90) 度 + 移動 (4) 點 + end + 如果 <(向下 v) 鍵被按下? when flag clicked ++set [空間 v] to (1) ++go to x: (-200) y: (0) ++switch backdrop to (空間1 v) +forever + if 那麼 + 面朝 (90) 度 + 移動 (4) 點 + end + 如果 <碰到顏色 (#BABABA)? > 那麼 + 移動 (-4) 點 + end + 如果 <碰到顏色 (#F2A24A)?> 那麼 + 背景換成 (下一個背景 v) + 定位到 x:(-200) y:(0) + 變數 [空間 v] 改變 (1) +end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +點擊綠旗,移動`玩家`到橙色門那邊,碰一下門。 如何,角色進入下一個畫面了嗎? 變數`空間`{:class="block3variables"}的值變成 `2` 了嗎? + +![截圖](images/world-room-test.png) + +\--- /task \--- \ No newline at end of file diff --git a/zh-TW/step_5.md b/zh-TW/step_5.md new file mode 100644 index 000000000..6cc9744d4 --- /dev/null +++ b/zh-TW/step_5.md @@ -0,0 +1,3 @@ +## 挑戰:回到上個空間 + +你可以讓`玩家`角色在到黃色門時,返回到上一個空間嗎? 你需要的程式與碰到橙色門的程式非常相似。 \ No newline at end of file diff --git a/zh-TW/step_6.md b/zh-TW/step_6.md new file mode 100644 index 000000000..c8ca0aba0 --- /dev/null +++ b/zh-TW/step_6.md @@ -0,0 +1,108 @@ +## 告示牌 + +現在為你的世界添加一些告示牌,引導玩家探索這個世界。 + +材料包裡已經有個`告示牌`角色了: + +![截圖](images/world-sign.png) + +\--- task \--- + +這個`歡迎告示牌`角色應該只會在空間 1 出現,所以我們要添加一些程式: + +\--- hints \--- + +\--- hint \--- + +`在點擊綠旗時`{:class="block3events"},`重複不斷`{:class="block3control"}的檢查`所在的空間`{:class="block3variables"}`是不是`{:class="block3control"}空間1,如果是就`顯示`{:class="block3looks"}`歡迎告示牌`,`否則`{:class="block3control"}就`隱藏`{:class="block3looks"}。 + +\--- /hint \--- + +\--- hint \--- + +這裡是你需要的程式積木: + +![告示牌](images/sign.png) + +```blocks3 +
如果 <> 那麼 +否則 +end + +<(空間 :: variables) = (1)> + +隱藏 + +顯示 + +重複無限次 +end + +當 @greenflag 被點擊 + +``` + +\--- /hint \--- + +\--- hint \--- + +以下是完整的程式: + +![告示牌](images/sign.png) + +```blocks3 +當 @greenflag 被點擊 +重複無限次 + 如果 <(空間 :: variables) = (1)> 那麼 + 顯示 + 否則 + 隱藏 + end +end +``` + +\--- /hint \--- + +\--- /hints \--- + +\--- /task \--- + +\--- task \--- + +測試在`歡迎告示牌`角色的程式是否正確,你要在兩個空間走動。 告示牌只會出現在空間1這個背景。 + +![截圖](images/world-sign-test.png) + +\--- /task \--- + +\--- task \--- + +告示牌啥事都不告訴你,也太遜了對吧?! 添加一些程式,如果`歡迎告示牌`被`玩家`碰到了,就顯示一些訊息: + +![告示牌](images/sign.png) + +```blocks3 +當 @greenflag 被點擊 +重複無限次 +如果 <(空間 :: variables) = (1)> 那麼 +顯示 +否則 +隱藏 +end ++ 如果 <碰到 (玩家 v)? > 然後 +說出 (歡迎! 你能得到寶藏嗎?) +否則 +說出 () +end +end +``` + +\--- /task \--- + +\--- task \--- + +再次測試你的`歡迎告示牌`, 當`玩家`碰觸`歡迎告示牌`角色時,你應該會看到一段訊息。 + +![截圖](images/world-sign-test2.png) + +\--- /task \--- \ No newline at end of file diff --git a/zh-TW/step_7.md b/zh-TW/step_7.md new file mode 100644 index 000000000..c5d98ce00 --- /dev/null +++ b/zh-TW/step_7.md @@ -0,0 +1,7 @@ +## 挑戰:寶藏! + +你能增加一些讓玩家尋找的寶藏嗎? + +讓`藏寶箱`角色只會在空間3出現,當`玩家`角色碰到它時,會說出「好棒棒!」。 + +![截圖](images/world-treasure.png) \ No newline at end of file diff --git a/zh-TW/step_8.md b/zh-TW/step_8.md new file mode 100644 index 000000000..53e2debdc --- /dev/null +++ b/zh-TW/step_8.md @@ -0,0 +1,65 @@ +## 路人 + +創造一些可以與`玩家`角色互動的路人。 + +\--- task \--- + +切換到`路人`角色。 + +![路人角色](images/person.png) + +\--- /task \--- + +\--- task \--- + +在`路人`角色上寫個程式,讓他能夠和`玩家`角色說話。 這個程式和你在編寫`告示牌`角色的程式很類似: + +![路人](images/person.png) + +```blocks3 +當 @greenflag 被點擊 +定位到 x:(0) y:(-150) +重複無限次 + 如果 <碰到 (玩家 v)? > 那麼 + 說出 (你知道嗎?穿過橙色或其它顏色的門就會到不同的空間。) + 否則 + 說出 () + end +end +``` + +\--- /task \--- + +\--- task \--- + +添加以下程式到`否則`{:class="block3control"}區段,讓`路人`角色在某個區域來回走動: + +![路人](images/person.png) + +```blocks3 +當 @greenflag 被點擊 +定位到 x:(0) y:(-150) +重複無限次 + 如果 <碰到 (玩家 v)? > 那麼 + 說出 (你知道嗎?穿過橙色或其它顏色的門就會到不同的空間。) + 否則 + 說出 () ++ 移動 (1) 點 ++ 碰到邊緣就反彈 + end +end +``` + +\--- /task \--- + +`路人`角色現在應該會走來走去了,而且會在碰到`玩家`角色時停下腳步,然後和玩家說一些話。 + +![截圖](images/world-person-test.png) + +\--- task \--- + +再添加一些程式到`路人`角色,讓他只會出現在空間1。 這個程式和`告示牌`只能在空間1顯示的程式一模一樣。 + +記得要測試一下你新寫的程式。 + +\--- /task \--- \ No newline at end of file diff --git a/zh-TW/step_9.md b/zh-TW/step_9.md new file mode 100644 index 000000000..899d575d7 --- /dev/null +++ b/zh-TW/step_9.md @@ -0,0 +1,43 @@ +## 挑戰:加個敵人 + +如果你有辦法的話,可以在遊戲中加入一個四處巡邏的敵人。 只要`玩家`被敵人抓到,遊戲就以失敗結束。 + ++ 材料包裡已經有`敵人`角色。 為`敵人`角色寫個程式,讓他只出現在空間2裡頭。 + ++ 再添加一些程式,讓`敵人`在碰到`玩家`角色時,結束所有的程式。 把這些程式分開編寫會比較容易。 `敵人`角色的程式看起來會像這樣: + +```blocks3 +當 @greenflag 被點擊 +重複無限次 +如果 <(空間 :: variables) = (2)> 那麼 +顯示 +否則 +隱藏 +end + +當 @greenflag 被點擊 +重複無限次 +如果 <碰到 (玩家 v)?> 那麼 +停止 [全部 v] +end + +當 @greenflag 被點擊 +定位到 x:(170) y:(0) +重複無限次 +重複 (130) 次 +x 改變 (-1) +end +重複 (130) 次 +x 改變 (1) +end +end +``` + ++ 測試你新寫的程式,檢查以下: + + `敵人`只會在空間2顯示 + + `敵人`在某個定點巡邏 + + `敵人`碰到`玩家`就結束 + +你能在空間 3 再創造出一個在牆另一側巡邏的`敵人`嗎? + +![截圖](images/world-enemy2.png) \ No newline at end of file