GameLab blocks in CSD unit 3

I have a student working in Unit 3, finalizing his game. His code isn’t doing exactly what he would like and I am unable to help him. Please see his code below and help if you can. Thank you!!

From a student:
in this code, I made a game where lakitu flies and drops spines on Mario, and Mario has to dodge them and get coins. however, the spines spawn when lakitu is right over Mario, and I put
var spiny = createSprite(300, 300);
spiny.setAnimation(“Spiny.jpg_1”);
spiny.scale = 0.3;
spiny.y = spiny.x + 3;
spiny.x = lakitu.x;
spiny.y = lakitu.y;
if (maro.isTouching(spiny)){
score = score - 5;
}
so it creates new variable named spiny, assigns it to the spiny sprite, and makes it fall from the lakitu every time Mario is under it. however, when it spawns from the lakitu, it is only active for a frame before not reacting to the name “spiny”, so spiny.y = spiny.y + 3 doesn’t work, only spiny.velocityY = 3 works. I suggest putting it in block mode, and you will have to put in your own sprites.
Here is the full code:
// Create your variables here
var score = 0;
|// Create your sprites here
var lakitu = createSprite(300, 50);
var maro = createSprite(200, 200);
var coin = createSprite(200, 0);
lakitu.setAnimation(“Lakitu.jpg_1”);
coin.setAnimation(“Coin”);
maro.setAnimation(“maro”);
lakitu.scale = 0.4;
coin.scale = 0.3;
maro.scale = 0.4;
var lakituspeed = 1;
coin.velocityY = 3;

noStroke();
fill(“black”);
function draw() {
// draw background
if (score > 100) {
background(rgb(randomNumber(0, 255), randomNumber(0, 255), randomNumber(0, 255)));
} else if ((score > 20)) {
background(“yellow”);
} else {
background(“white”);
}
if (keyDown(“up”)) {
maro.velocityY = -4;
} else if ((keyDown(“down”))) {
//stop if not pressing down
} else {
maro.velocityY = 0;
}
if (keyDown(“right”)) {
maro.velocityX = 4;
} else if ((keyDown(“left”))) {
//stop if not pressing left
} else {
maro.velocityX = 0;
}
if (keyDown(“left”)) {
maro.velocityX = -4;
}
if (keyDown(“down”)) {
maro.velocityY = 4;
}
text(score, 40, 20);
text(“score:”, 5, 20);
if (lakitu.x > maro.x) {
lakitu.velocityX = lakitu.velocityX - lakituspeed;
} else {
lakitu.velocityX = lakitu.velocityX + lakituspeed;
}
if (lakitu.x + 3 > maro.x && lakitu.x - 3 < maro.x) {
var spiny = createSprite(300, 300);
spiny.setAnimation(“Spiny.jpg_1”);
spiny.scale = 0.3;
spiny.y = spiny.x + 3;
spiny.x = lakitu.x;
spiny.y = lakitu.y;
if (maro.isTouching(spiny)){
score = score - 5;
}
}
if (lakitu.x < 1) {
lakitu.velocityX = 1;
} else if ((lakitu.x > 399)) {
lakitu.velocityX = -1;
} else {

}
if (coin.y > 400) {
coin.x = randomNumber(20, 380);
coin.y = -20;
}
if (maro.isTouching(coin)) {
score = score + 1;
coin.x = randomNumber(20, 380);
coin.y = -20;
}
drawSprites();
}