Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

// checken voor botsingen met de rand/snake

function checkCollisions () {
head2 = snake[0]
if (head2.x() < 0 || head2.x() > 4 || head2.y() < 0 || head2.y() > 4) {
game.gameOver()
}
for (let i = 1; i < snake.length; i++) {
if (head2.x() == snake[i].x() && head2.y() == snake[i].y()) {
game.gameOver()
}
}
}
// richting van snake veranderen
input.onButtonPressed(Button.A, function () {
snakeDirection = (snakeDirection + 3) % 4
})
// functie voor het bewegen van de snake
function moveSnake () {
head = snake[0]
newHeadX = head.x() + (snakeDirection == 0 ? 1 : snakeDirection == 2 ? -1 : 0)
newHeadY = head.y() + (snakeDirection == 1 ? 1 : snakeDirection == 3 ? -1 : 0)
newHead = game.createSprite(newHeadX, newHeadY)
snake.unshift(newHead)
if (newHeadX == food.x() && newHeadY == food.y()) {
food.delete()
generateFood()
game.setScore(game.score() + 1)
} else {
tail = snake.pop()
if (tail) {
tail.delete()
}
}
}
input.onButtonPressed(Button.B, function () {
snakeDirection = (snakeDirection + 1) % 4
})
// willekeurig verspreiden van voedsel
function generateFood () {
foodX = Math.randomRange(0, 4)
foodY = Math.randomRange(0, 4)
food = game.createSprite(foodX, foodY)
}
let pin1Active = false
let pin0Active = false
let pin1State = 0
let pin0State = 0
let foodY = 0
let foodX = 0
let tail: game.LedSprite = null
let newHead: game.LedSprite = null
let newHeadY = 0
let newHeadX = 0
let snake: game.LedSprite[] = []
let food: game.LedSprite = null
let snakeDirection: number = 0
let head2: game.LedSprite = null
let head: game.LedSprite = null
generateFood()
let snakeHead = game.createSprite(2, 2)
snake.push(snakeHead)
let speed = 500
// snake sneller/slomer maken
basic.forever(function () {
pin0State = pins.digitalReadPin(DigitalPin.P0)
pin1State = pins.digitalReadPin(DigitalPin.P1)
if (pin0State == 1 && pin1State == 0) {
speed = 250
pin0Active = true
pin1Active = false
}
if (pin1State == 1 && pin0State == 0) {
speed = 1000
pin0Active = false
pin1Active = true
}
moveSnake()
checkCollisions()
basic.pause(speed)
})

You might also like