/**** 
* Classes
****/ 
//<Assets used in the game will automatically appear here>
// Car class
var Car = Container.expand(function () {
	var self = Container.call(this);
	var carGraphics = self.attachAsset('car', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 0;
	self.angle = 0;
	self.driftAngle = 0;
	self.update = function () {
		self.x += Math.cos(self.angle) * self.speed;
		self.y += Math.sin(self.angle) * self.speed;
		self.rotation = self.angle + self.driftAngle;
	};
	self.drift = function (driftAmount) {
		self.driftAngle = driftAmount;
	};
});
// Track class
var Track = Container.expand(function () {
	var self = Container.call(this);
	var trackGraphics = self.attachAsset('track', {
		anchorX: 0.5,
		anchorY: 0.5
	});
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0x000000 //Init game with green background 
});
/**** 
* Game Code
****/ 
// Initialize variables
var car;
var track;
var scoreTxt;
var score = 0;
var isDrifting = false;
// Initialize game elements
function initGame() {
	// Create track
	track = game.addChild(new Track());
	track.x = 2048 / 2;
	track.y = 2732 / 2;
	// Create car
	car = game.addChild(new Car());
	car.x = 2048 / 2;
	car.y = 2732 / 2;
	// Create score text
	scoreTxt = new Text2('Score: 0', {
		size: 100,
		fill: "#ffffff"
	});
	scoreTxt.anchor.set(0.5, 0);
	LK.gui.top.addChild(scoreTxt);
}
// Update score
function updateScore() {
	score += 1;
	scoreTxt.setText('Score: ' + score);
}
// Handle touch events
game.down = function (x, y, obj) {
	isDrifting = true;
	car.drift(0.1);
};
game.up = function (x, y, obj) {
	isDrifting = false;
	car.drift(0);
};
// Game update loop
game.update = function () {
	car.update();
	if (isDrifting) {
		updateScore();
	}
};
// Initialize the game
initGame(); /**** 
* Classes
****/ 
//<Assets used in the game will automatically appear here>
// Car class
var Car = Container.expand(function () {
	var self = Container.call(this);
	var carGraphics = self.attachAsset('car', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 0;
	self.angle = 0;
	self.driftAngle = 0;
	self.update = function () {
		self.x += Math.cos(self.angle) * self.speed;
		self.y += Math.sin(self.angle) * self.speed;
		self.rotation = self.angle + self.driftAngle;
	};
	self.drift = function (driftAmount) {
		self.driftAngle = driftAmount;
	};
});
// Track class
var Track = Container.expand(function () {
	var self = Container.call(this);
	var trackGraphics = self.attachAsset('track', {
		anchorX: 0.5,
		anchorY: 0.5
	});
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0x000000 //Init game with green background 
});
/**** 
* Game Code
****/ 
// Initialize variables
var car;
var track;
var scoreTxt;
var score = 0;
var isDrifting = false;
// Initialize game elements
function initGame() {
	// Create track
	track = game.addChild(new Track());
	track.x = 2048 / 2;
	track.y = 2732 / 2;
	// Create car
	car = game.addChild(new Car());
	car.x = 2048 / 2;
	car.y = 2732 / 2;
	// Create score text
	scoreTxt = new Text2('Score: 0', {
		size: 100,
		fill: "#ffffff"
	});
	scoreTxt.anchor.set(0.5, 0);
	LK.gui.top.addChild(scoreTxt);
}
// Update score
function updateScore() {
	score += 1;
	scoreTxt.setText('Score: ' + score);
}
// Handle touch events
game.down = function (x, y, obj) {
	isDrifting = true;
	car.drift(0.1);
};
game.up = function (x, y, obj) {
	isDrifting = false;
	car.drift(0);
};
// Game update loop
game.update = function () {
	car.update();
	if (isDrifting) {
		updateScore();
	}
};
// Initialize the game
initGame();