/**** 
* Classes
****/ 
// Car class representing each player's car
var Car = Container.expand(function () {
	var self = Container.call(this);
	var carGraphics = self.attachAsset('car', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 12;
	self.acceleration = 0.2;
	self.maxSpeed = 10;
	self.update = function () {
		if (self.speed < self.maxSpeed) {
			self.speed += self.acceleration;
		}
		self.y -= self.speed;
	};
});
//<Assets used in the game will automatically appear here>
// Define a basic OVAL class to fix the ReferenceError
var OVAL = Container.expand(function () {
	var self = Container.call(this);
});
// Track class representing the race track
var Track = Container.expand(function () {
	var self = Container.call(this);
	var trackGraphics = self.attachAsset('track', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.update = function () {
		// A TRCK 
		self.y += 5;
		if (self.y > 2732) {
			self.y = 0;
		}
	};
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0x000000 //Init game with black background 
});
/**** 
* Game Code
****/ 
// Initialize game variables
var playerCar = game.addChild(new Car());
playerCar.x = 2048 / 2;
playerCar.y = 2732 - 200;
var track = game.addChild(new Track());
track.x = 2048 / 2;
track.y = 0;
var score = 0;
var scoreTxt = new Text2('Score: 0', {
	size: 100,
	fill: "#ffffff"
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Update function called every frame
game.update = function () {
	playerCar.update();
	track.update();
	// Update score based on distance traveled
	score += playerCar.speed;
	scoreTxt.setText('Score: ' + Math.floor(score));
	// Check for game over condition
	if (playerCar.y < 0) {
		LK.effects.flashScreen(0xff0000, 1000);
		LK.showGameOver();
	}
};
// Event listeners for touch controls
game.down = function (x, y, obj) {
	if (x < 2048 / 2) {
		playerCar.x -= 50; // Move left
	} else {
		playerCar.x += 50; // Move right
	}
};
game.up = function (x, y, obj) {
	// Stop car acceleration on touch release
	playerCar.speed = 0;
}; /**** 
* Classes
****/ 
// Car class representing each player's car
var Car = Container.expand(function () {
	var self = Container.call(this);
	var carGraphics = self.attachAsset('car', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 12;
	self.acceleration = 0.2;
	self.maxSpeed = 10;
	self.update = function () {
		if (self.speed < self.maxSpeed) {
			self.speed += self.acceleration;
		}
		self.y -= self.speed;
	};
});
//<Assets used in the game will automatically appear here>
// Define a basic OVAL class to fix the ReferenceError
var OVAL = Container.expand(function () {
	var self = Container.call(this);
});
// Track class representing the race track
var Track = Container.expand(function () {
	var self = Container.call(this);
	var trackGraphics = self.attachAsset('track', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.update = function () {
		// A TRCK 
		self.y += 5;
		if (self.y > 2732) {
			self.y = 0;
		}
	};
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0x000000 //Init game with black background 
});
/**** 
* Game Code
****/ 
// Initialize game variables
var playerCar = game.addChild(new Car());
playerCar.x = 2048 / 2;
playerCar.y = 2732 - 200;
var track = game.addChild(new Track());
track.x = 2048 / 2;
track.y = 0;
var score = 0;
var scoreTxt = new Text2('Score: 0', {
	size: 100,
	fill: "#ffffff"
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Update function called every frame
game.update = function () {
	playerCar.update();
	track.update();
	// Update score based on distance traveled
	score += playerCar.speed;
	scoreTxt.setText('Score: ' + Math.floor(score));
	// Check for game over condition
	if (playerCar.y < 0) {
		LK.effects.flashScreen(0xff0000, 1000);
		LK.showGameOver();
	}
};
// Event listeners for touch controls
game.down = function (x, y, obj) {
	if (x < 2048 / 2) {
		playerCar.x -= 50; // Move left
	} else {
		playerCar.x += 50; // Move right
	}
};
game.up = function (x, y, obj) {
	// Stop car acceleration on touch release
	playerCar.speed = 0;
};