Start by creating a new project in MakeCode Arcade. To do this, go to the MakeCode Arcade website and click on 'New Project'.
Create a new Arcade project using the makecode.com website.
In this step, we'll set up the game. We'll create a splash screen, initialize some variables, and create our player sprite. The splash screen is the first screen that appears when the game starts. It's a great place to display the game's title or any instructions for the player.
The variables we're creating will be used to keep track of the game's state:
Add the following code:
let mySprite: Sprite = null let collected = 0 let target = 0 let level = 0 game.splash("Collect the donuts!") level = 1 target = 0 collected = 0 mySprite = sprites.create(img` . . . . . . 5 . 5 . . . . . . . . . . . . f 5 5 5 f f . . . . . . . . . f 1 5 2 5 1 6 f . . . . . . . f 1 6 6 6 6 6 1 6 f . . . . . . f 6 6 f f f f 6 1 f . . . . . . f 6 f f d d f f 6 f . . . . . f 6 f d f d d f d f 6 f . . . . f 6 f d 3 d d 3 d f 6 f . . . . f 6 6 f d d d d f 6 6 f . . . f 6 6 f 3 f f f f 3 f 6 6 f . . . f f d 3 5 3 3 5 3 d f f . . . . f d d f 3 5 5 3 f d d f . . . . . f f 3 3 3 3 3 3 f f . . . . . . f 3 3 5 3 3 5 3 3 f . . . . . . f f f f f f f f f f . . . . . . . . f f . . f f . . . . . `, SpriteKind.Player) controller.moveSprite(mySprite, 70, 70)
A function in programming is a reusable piece of code. It allows you to group several commands together, which can then be called upon whenever you need them. This helps to make your code more organized and efficient.
In this step, we're creating a function called 'startLevel'. This function will set up each level of our game. Here's what it does:
Add the following code to create the 'startLevel' function:
let mySprite: Sprite = null function startLevel () { collected = 0 scene.setBackgroundColor(randint(3, 7)) mySprite.sayText("Level " + level, 1000, false) target = 10 + level info.startCountdown(10) }
Functions are useful if you have some code/instructions that you want to use again and again.
To create a function go to the Advanced > Functions toolbox and click 'Make a Function'.
Give your function a name that makes sense and choose whether to pass anything into the function. In this example we will pass in a sprite and some text for it to say.
In this step, we will create the donuts that the player has to collect. We will use a loop to create multiple donuts and place them randomly on the screen.
The loop starts at 0 and runs until it reaches the target number of donuts. For each iteration of the loop, we create a new donut sprite and set its position to a random location on the screen.Add the loop code to your function:
let mySprite: Sprite = null let donut: Sprite = null function startLevel () { collected = 0 scene.setBackgroundColor(randint(3, 7)) mySprite.sayText("Level " + level, 1000, false) target = 10 + level info.startCountdown(10) for (let index = 0; index <= (target - 1); index++) { donut = sprites.create(img` . . . . . . b b b b a a . . . . . . . . b b d d d 3 3 3 a a . . . . . b d d d 3 3 3 3 3 3 a a . . . b d d 3 3 3 3 3 3 3 3 3 a . . b 3 d 3 3 3 3 3 b 3 3 3 3 a b . b 3 3 3 3 3 a a 3 3 3 3 3 a b b 3 3 3 3 3 a a 3 3 3 3 d a 4 b b 3 3 3 3 b a 3 3 3 3 3 d a 4 b b 3 3 3 3 3 3 3 3 3 3 d a 4 4 e a 3 3 3 3 3 3 3 3 3 d a 4 4 4 e a 3 3 3 3 3 3 3 d d a 4 4 4 e . a a 3 3 3 d d d a a 4 4 4 e e . . e a a a a a a 4 4 4 4 e e . . . . e e b b 4 4 4 4 b e e . . . . . . e e e e e e e e . . . . . . . . . . . . . . . . . . . . . `, SpriteKind.Food) donut.setPosition(randint(20, 140), randint(20, 100)) } }
Now, we need to call our 'startLevel' function to start the game. Add the following code to the end of 'on start':
let mySprite: Sprite = null let collected = 0 let target = 0 let level = 0 game.splash("Collect the donuts!") level = 1 target = 0 collected = 0 mySprite = sprites.create(img` . . . . . . 5 . 5 . . . . . . . . . . . . f 5 5 5 f f . . . . . . . . . f 1 5 2 5 1 6 f . . . . . . . f 1 6 6 6 6 6 1 6 f . . . . . . f 6 6 f f f f 6 1 f . . . . . . f 6 f f d d f f 6 f . . . . . f 6 f d f d d f d f 6 f . . . . f 6 f d 3 d d 3 d f 6 f . . . . f 6 6 f d d d d f 6 6 f . . . f 6 6 f 3 f f f f 3 f 6 6 f . . . f f d 3 5 3 3 5 3 d f f . . . . f d d f 3 5 5 3 f d d f . . . . . f f 3 3 3 3 3 3 f f . . . . . . f 3 3 5 3 3 5 3 3 f . . . . . . f f f f f f f f f f . . . . . . . . f f . . f f . . . . . `, SpriteKind.Player) controller.moveSprite(mySprite, 70, 70) startLevel() function startLevel () {}
To play the game, click the green 'Play' button in the simulator.