Untitled

 avatar
unknown
plain_text
9 months ago
3.0 kB
10
Indexable
import kaboom from "kaboom"
import "kaboom/global"

kaboom();

loadSprite("junge", "sprites/junge.png")
loadSprite("hintergrund", "sprites/stadt.jpg")
loadSprite("burger", "sprites/burger.png")
loadSprite("pilz", "sprites/pilz.png")
loadSprite("gameover", "sprites/game-over.jpg")
loadSprite("neustart", "sprites/neustart.png")

let punkte = 0;
let highscore = 0

let burgerGeschwindigkeit = 140
let pilzGeschwindigkeit = 100

scene("start", () => {
	add([
		sprite("hintergrund", { width: width(), height: height() })
	])

	add([
		text("Start", { size: 48 }),
		color(50, 50, 255),
		pos(center()),
		anchor("center")
	])

	onClick(() => {
		go("game")
	})
})

scene("game", () => {
	setGravity(1000)
	//Hintergrund
	add([
		sprite("hintergrund", { width: width(), height: height() })
	])

	const boden = add([
		rect(width(), 20),
		pos(0, height() - 20),
		color(255, 0, 0),
		area(),
		opacity(0),
		body({ isStatic: true })
	])

	boden.onCollide("burger", (burger) => {
		destroy(burger)
	})

	boden.onCollide("pilz", (pilz) => {
		destroy(pilz)
	})

	const punkteStand = add([
		text("Punkte: " + punkte)
	])

	// Hinzufügen des Spielers
	const player = add([
		sprite('junge'),
		pos(0, 600),
		scale(0.2),
		area(),
		body()
	]);

	onKeyPress("space", () => {
		if (player.isGrounded()) {
			player.jump()
		}
	})

	//Zeitgesteuerte Endlosschleife
	loop(1, () => {

		add([
			sprite("burger"),
			pos(rand(0, width()), 0),
			area(),
			scale(0.02),
			move(DOWN, burgerGeschwindigkeit),
			"burger"
		]);

		add([
			sprite("pilz"),
			pos(rand(0, width()), 0),
			area(),
			scale(0.03),
			move(DOWN, pilzGeschwindigkeit),
			"pilz"
		]);
	});

	onKeyDown("right", () => {
		player.move(300, 0)
		player.flipX = true
	})

	onKeyDown("left", () => {
		player.move(-300, 0)
		player.flipX = false
	})

	//Kollision Burger
	player.onCollide("burger", (burger) => {
		punkte = punkte + 1
		punkteStand.text = "Punkte: " + punkte


		burgerGeschwindigkeit += 5
		pilzGeschwindigkeit += 5
		destroy(burger)
	})

	//Kollision Spieler mit Pilz --> Game Over
	player.onCollide("pilz", () => {
		go("gameover")
	})

})

scene("gameover", () => {

	add([
		sprite("hintergrund", { width: width(), height: height() })
	]);

	add([
		text("Game Over: " + punkte),
		pos(width() / 2, height() / 2),
		anchor("center")
	])

	if (punkte > highscore) {
		highscore = punkte
	}

	add([
		text("Highscore: " + highscore),
		pos(width() / 2, height() / 2 + 50),
		anchor("center")
	])

	const restartButton = add([
		sprite("neustart"),
		pos(width() / 2, 150),
		anchor("center"),
		scale(0.5),
		area()
	]);

	restartButton.onUpdate(() => {
		if (restartButton.isClicked()) {
			punkte = 0
			pilzGeschwindigkeit = 100
			burgerGeschwindigkeit = 140
			go("game");
		}
	});
});

go("start")
Editor is loading...
Leave a Comment