/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
// Club class
var Club = Container.expand(function () {
var self = Container.call(this);
var clubArt = self.attachAsset('club', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {};
return self;
});
// Player class
var Player = Container.expand(function () {
var self = Container.call(this);
var playerArt = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x0a1a2f
});
/****
* Game Code
****/
// --- Data ---
// Shapes for player, club, and trophy
var positions = [{
key: 'GK',
name: 'Goalkeeper'
}, {
key: 'DEF',
name: 'Defender'
}, {
key: 'MID',
name: 'Midfielder'
}, {
key: 'FWD',
name: 'Forward'
}];
var clubs = ["Galatasaray", "Fenerbahçe", "Beşiktaş", "Trabzonspor", "Başakşehir", "Bursaspor", "Inter Miami", "Al Nassr", "Real Madrid", "Barcelona", "Manchester United", "Liverpool", "Chelsea", "Bayern Münih", "Juventus", "PSG", "Ajax", "Porto", "Celtic", "Inter", "Zenit", "Club Brugge", "Anderlecht", "Monaco", "Roma", "Milan"];
var trophies = ["Süper Lig", "Türkiye Kupası", "Şampiyonlar Ligi", "UEFA Avrupa Ligi", "La Liga", "Premier Lig", "Bundesliga", "Serie A", "Ligue 1", "Eredivisie"];
// --- State ---
var state = "choose_position"; // choose_position, season, transfer, summary
var playerPosition = null;
var playerPositionName = "";
var playerAge = 18;
var playerClub = "";
var playerStats = []; // [{age, club, goals, assists, trophies:[]}]
var playerTrophies = [];
var playerTotalGoals = 0;
var playerTotalAssists = 0;
var playerTotalTrophies = 0;
var currentSeasonStats = null;
var transferOffers = [];
var selectedTransfer = null;
// --- UI Elements ---
var mainContainer = new Container();
game.addChild(mainContainer);
var infoText = new Text2("", {
size: 90,
fill: "#fff"
});
infoText.anchor.set(0.5, 0);
infoText.y = 0;
LK.gui.top.addChild(infoText);
var seasonText = new Text2("", {
size: 70,
fill: "#fff"
});
seasonText.anchor.set(0.5, 0);
seasonText.y = infoText.height + 10;
LK.gui.top.addChild(seasonText);
var clubNode = null;
var playerNode = null;
var trophyNodes = [];
var statText = null;
var transferButtons = [];
var nextButton = null;
var summaryText = null;
// --- Helper Functions ---
function randomInt(min, max) {
return min + Math.floor(Math.random() * (max - min + 1));
}
function randomPick(arr) {
return arr[randomInt(0, arr.length - 1)];
}
function clearMainContainer() {
while (mainContainer.children.length) {
mainContainer.removeChild(mainContainer.children[0]);
}
}
function clearTransferButtons() {
for (var i = 0; i < transferButtons.length; i++) {
mainContainer.removeChild(transferButtons[i]);
}
transferButtons = [];
}
function clearTrophyNodes() {
for (var i = 0; i < trophyNodes.length; i++) {
mainContainer.removeChild(trophyNodes[i]);
}
trophyNodes = [];
}
function showInfo(msg) {
// If text is too wide, split into multiple lines
infoText.setText(msg);
var maxWidth = 2048 - 200;
if (infoText.width > maxWidth) {
// Try to split by space
var words = msg.split(" ");
var lines = [];
var current = "";
for (var i = 0; i < words.length; i++) {
var test = current.length > 0 ? current + " " + words[i] : words[i];
infoText.setText(test);
if (infoText.width > maxWidth && current.length > 0) {
lines.push(current);
current = words[i];
} else {
current = test;
}
}
if (current.length > 0) {
lines.push(current);
}
infoText.setText(lines.join("\n"));
}
}
function showSeasonText(msg) {
// If text is too wide, split into multiple lines
seasonText.setText(msg);
var maxWidth = 2048 - 200;
if (seasonText.width > maxWidth) {
var words = msg.split(" ");
var lines = [];
var current = "";
for (var i = 0; i < words.length; i++) {
var test = current.length > 0 ? current + " " + words[i] : words[i];
seasonText.setText(test);
if (seasonText.width > maxWidth && current.length > 0) {
lines.push(current);
current = words[i];
} else {
current = test;
}
}
if (current.length > 0) {
lines.push(current);
}
seasonText.setText(lines.join("\n"));
}
}
function showNextButton(label, cb) {
if (nextButton) {
mainContainer.removeChild(nextButton);
}
nextButton = new Text2(label, {
size: 80,
fill: 0x00FF99
});
nextButton.anchor.set(0.5, 0.5);
nextButton.x = 2048 / 2;
nextButton.y = 2732 - 300;
nextButton.interactive = true;
nextButton.buttonMode = true;
nextButton.down = function (x, y, obj) {
cb();
};
mainContainer.addChild(nextButton);
}
function hideNextButton() {
if (nextButton) {
mainContainer.removeChild(nextButton);
nextButton = null;
}
}
function showStatText(msg) {
if (statText) {
mainContainer.removeChild(statText);
}
statText = new Text2(msg, {
size: 70,
fill: "#fff"
});
statText.anchor.set(0.5, 0.5);
statText.x = 2048 / 2;
statText.y = 2732 / 2 + 320;
mainContainer.addChild(statText);
}
function hideStatText() {
if (statText) {
mainContainer.removeChild(statText);
statText = null;
}
}
function showSummaryText(msg) {
if (summaryText) {
mainContainer.removeChild(summaryText);
}
summaryText = new Text2(msg, {
size: 80,
fill: "#fff"
});
summaryText.anchor.set(0.5, 0.5);
summaryText.x = 2048 / 2;
summaryText.y = 2732 / 2 + 400;
mainContainer.addChild(summaryText);
}
function hideSummaryText() {
if (summaryText) {
mainContainer.removeChild(summaryText);
summaryText = null;
}
}
// --- Game Flow Functions ---
function startChoosePosition() {
state = "choose_position";
clearMainContainer();
clearTrophyNodes();
hideStatText();
hideSummaryText();
showInfo("Choose Your Position!");
showSeasonText("");
// Show position buttons
var btns = [];
for (var i = 0; i < positions.length; i++) {
var pos = positions[i];
var btn = new Text2(pos.name, {
size: 90,
fill: 0x1E90FF
});
btn.anchor.set(0.5, 0.5);
btn.x = 2048 / 2;
btn.y = 800 + i * 220;
btn.interactive = true;
btn.buttonMode = true;
btn.down = function (pos) {
return function (x, y, obj) {
playerPosition = pos.key;
playerPositionName = pos.name;
startNewCareer();
};
}(pos);
mainContainer.addChild(btn);
btns.push(btn);
}
}
function startNewCareer() {
state = "season";
playerAge = 18;
playerClub = randomPick(clubs);
playerStats = [];
playerTrophies = [];
playerTotalGoals = 0;
playerTotalAssists = 0;
playerTotalTrophies = 0;
clearMainContainer();
clearTrophyNodes();
hideStatText();
hideSummaryText();
showInfo("He begins his career as " + playerPositionName);
showSeasonText("Age: " + playerAge + " | " + playerClub);
// Show player and club
playerNode = new Player();
playerNode.x = 2048 / 2;
playerNode.y = 900;
mainContainer.addChild(playerNode);
clubNode = new Club();
clubNode.x = 2048 / 2;
clubNode.y = 1200;
mainContainer.addChild(clubNode);
var clubNameText = new Text2(playerClub, {
size: 90,
fill: 0x000000
});
clubNameText.anchor.set(0.5, 0.5);
clubNameText.x = clubNode.x;
clubNameText.y = clubNode.y;
mainContainer.addChild(clubNameText);
showNextButton("Start Season", function () {
mainContainer.removeChild(playerNode);
mainContainer.removeChild(clubNode);
mainContainer.removeChild(clubNameText);
startSeason();
});
}
function startSeason() {
state = "season";
clearMainContainer();
clearTrophyNodes();
hideStatText();
hideSummaryText();
showInfo("Age:" + playerAge + " | " + playerClub);
showSeasonText("Season: " + (playerAge - 17));
// Show player and club
playerNode = new Player();
playerNode.x = 2048 / 2;
playerNode.y = 900;
mainContainer.addChild(playerNode);
clubNode = new Club();
clubNode.x = 2048 / 2;
clubNode.y = 1200;
mainContainer.addChild(clubNode);
var clubNameText = new Text2(playerClub, {
size: 90,
fill: "#00000"
});
clubNameText.anchor.set(0.5, 0.5);
clubNameText.x = clubNode.x;
clubNameText.y = clubNode.y;
mainContainer.addChild(clubNameText);
// Random stats
var goals = 0,
assists = 0;
if (playerPosition == "GK") {
goals = randomInt(0, 1);
assists = randomInt(0, 2);
} else if (playerPosition == "DEF") {
goals = randomInt(0, 4);
assists = randomInt(0, 5);
} else if (playerPosition == "MID") {
goals = randomInt(2, 10);
assists = randomInt(3, 12);
} else if (playerPosition == "FWD") {
goals = randomInt(5, 30);
assists = randomInt(2, 10);
}
// Trophy chance
var wonTrophies = [];
if (randomInt(1, 100) <= 20) {
// 20% chance
var t = randomPick(trophies);
wonTrophies.push(t);
playerTrophies.push(t);
}
// Save season stats
currentSeasonStats = {
age: playerAge,
club: playerClub,
goals: goals,
assists: assists,
trophies: wonTrophies
};
playerStats.push(currentSeasonStats);
playerTotalGoals += goals;
playerTotalAssists += assists;
playerTotalTrophies += wonTrophies.length;
// Show stats
var statMsg = "Goals: " + goals + " | Assists: " + assists;
if (wonTrophies.length > 0) {
statMsg += "\n🏆 " + wonTrophies.join(", ");
}
showStatText(statMsg);
// Show trophies
clearTrophyNodes();
// No trophy icons, only text for trophies
// Next: transfer offers or retirement
showNextButton("End of Season", function () {
mainContainer.removeChild(playerNode);
mainContainer.removeChild(clubNode);
mainContainer.removeChild(clubNameText);
hideStatText();
clearTrophyNodes();
if (playerAge >= 35) {
startSummary();
} else {
startTransfer();
}
});
}
function startTransfer() {
state = "transfer";
clearMainContainer();
clearTrophyNodes();
hideStatText();
hideSummaryText();
showInfo("New Transfer Offers");
showSeasonText("Age: " + playerAge + " | " + playerClub);
// Generate 2-3 random offers (not current club)
transferOffers = [];
var offerCount = randomInt(2, 3);
var usedClubs = {};
usedClubs[playerClub] = true;
for (var i = 0; i < offerCount; i++) {
var c;
do {
c = randomPick(clubs);
} while (usedClubs[c]);
usedClubs[c] = true;
transferOffers.push(c);
}
// Add "Stay" option
transferOffers.push(playerClub);
// Show buttons
clearTransferButtons();
for (var i = 0; i < transferOffers.length; i++) {
var c = transferOffers[i];
var isStay = c == playerClub;
var btn = new Text2(isStay ? "Stay at Club (" + c + ")" : c, {
size: 80,
fill: isStay ? "#00ff99" : "#fff"
});
btn.anchor.set(0.5, 0.5);
btn.x = 2048 / 2;
btn.y = 900 + i * 180;
btn.interactive = true;
btn.buttonMode = true;
btn.down = function (c) {
return function (x, y, obj) {
playerClub = c;
playerAge += 1;
clearTransferButtons();
startSeason();
};
}(c);
mainContainer.addChild(btn);
transferButtons.push(btn);
}
}
function startSummary() {
state = "summary";
clearMainContainer();
clearTrophyNodes();
hideStatText();
showInfo("Career Completed! (Retired)");
showSeasonText("");
// Show player
playerNode = new Player();
playerNode.x = 2048 / 2;
playerNode.y = 900;
mainContainer.addChild(playerNode);
// Show summary stats
var summaryMsg = "⚽ Total Goals: " + playerTotalGoals + "\n🥅 Total Assists: " + playerTotalAssists + "\n" + "\n🏆 Total Trophies: " + playerTotalTrophies;
if (playerTrophies.length > 0) {
summaryMsg += "\n" + playerTrophies.join("\n ");
}
showSummaryText(summaryMsg);
// Show "Yeniden Oyna" button
showNextButton("Play Again", function () {
mainContainer.removeChild(playerNode);
hideSummaryText();
startChoosePosition();
});
}
// --- Start Game ---
startChoosePosition(); /****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
// Club class
var Club = Container.expand(function () {
var self = Container.call(this);
var clubArt = self.attachAsset('club', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {};
return self;
});
// Player class
var Player = Container.expand(function () {
var self = Container.call(this);
var playerArt = self.attachAsset('player', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x0a1a2f
});
/****
* Game Code
****/
// --- Data ---
// Shapes for player, club, and trophy
var positions = [{
key: 'GK',
name: 'Goalkeeper'
}, {
key: 'DEF',
name: 'Defender'
}, {
key: 'MID',
name: 'Midfielder'
}, {
key: 'FWD',
name: 'Forward'
}];
var clubs = ["Galatasaray", "Fenerbahçe", "Beşiktaş", "Trabzonspor", "Başakşehir", "Bursaspor", "Inter Miami", "Al Nassr", "Real Madrid", "Barcelona", "Manchester United", "Liverpool", "Chelsea", "Bayern Münih", "Juventus", "PSG", "Ajax", "Porto", "Celtic", "Inter", "Zenit", "Club Brugge", "Anderlecht", "Monaco", "Roma", "Milan"];
var trophies = ["Süper Lig", "Türkiye Kupası", "Şampiyonlar Ligi", "UEFA Avrupa Ligi", "La Liga", "Premier Lig", "Bundesliga", "Serie A", "Ligue 1", "Eredivisie"];
// --- State ---
var state = "choose_position"; // choose_position, season, transfer, summary
var playerPosition = null;
var playerPositionName = "";
var playerAge = 18;
var playerClub = "";
var playerStats = []; // [{age, club, goals, assists, trophies:[]}]
var playerTrophies = [];
var playerTotalGoals = 0;
var playerTotalAssists = 0;
var playerTotalTrophies = 0;
var currentSeasonStats = null;
var transferOffers = [];
var selectedTransfer = null;
// --- UI Elements ---
var mainContainer = new Container();
game.addChild(mainContainer);
var infoText = new Text2("", {
size: 90,
fill: "#fff"
});
infoText.anchor.set(0.5, 0);
infoText.y = 0;
LK.gui.top.addChild(infoText);
var seasonText = new Text2("", {
size: 70,
fill: "#fff"
});
seasonText.anchor.set(0.5, 0);
seasonText.y = infoText.height + 10;
LK.gui.top.addChild(seasonText);
var clubNode = null;
var playerNode = null;
var trophyNodes = [];
var statText = null;
var transferButtons = [];
var nextButton = null;
var summaryText = null;
// --- Helper Functions ---
function randomInt(min, max) {
return min + Math.floor(Math.random() * (max - min + 1));
}
function randomPick(arr) {
return arr[randomInt(0, arr.length - 1)];
}
function clearMainContainer() {
while (mainContainer.children.length) {
mainContainer.removeChild(mainContainer.children[0]);
}
}
function clearTransferButtons() {
for (var i = 0; i < transferButtons.length; i++) {
mainContainer.removeChild(transferButtons[i]);
}
transferButtons = [];
}
function clearTrophyNodes() {
for (var i = 0; i < trophyNodes.length; i++) {
mainContainer.removeChild(trophyNodes[i]);
}
trophyNodes = [];
}
function showInfo(msg) {
// If text is too wide, split into multiple lines
infoText.setText(msg);
var maxWidth = 2048 - 200;
if (infoText.width > maxWidth) {
// Try to split by space
var words = msg.split(" ");
var lines = [];
var current = "";
for (var i = 0; i < words.length; i++) {
var test = current.length > 0 ? current + " " + words[i] : words[i];
infoText.setText(test);
if (infoText.width > maxWidth && current.length > 0) {
lines.push(current);
current = words[i];
} else {
current = test;
}
}
if (current.length > 0) {
lines.push(current);
}
infoText.setText(lines.join("\n"));
}
}
function showSeasonText(msg) {
// If text is too wide, split into multiple lines
seasonText.setText(msg);
var maxWidth = 2048 - 200;
if (seasonText.width > maxWidth) {
var words = msg.split(" ");
var lines = [];
var current = "";
for (var i = 0; i < words.length; i++) {
var test = current.length > 0 ? current + " " + words[i] : words[i];
seasonText.setText(test);
if (seasonText.width > maxWidth && current.length > 0) {
lines.push(current);
current = words[i];
} else {
current = test;
}
}
if (current.length > 0) {
lines.push(current);
}
seasonText.setText(lines.join("\n"));
}
}
function showNextButton(label, cb) {
if (nextButton) {
mainContainer.removeChild(nextButton);
}
nextButton = new Text2(label, {
size: 80,
fill: 0x00FF99
});
nextButton.anchor.set(0.5, 0.5);
nextButton.x = 2048 / 2;
nextButton.y = 2732 - 300;
nextButton.interactive = true;
nextButton.buttonMode = true;
nextButton.down = function (x, y, obj) {
cb();
};
mainContainer.addChild(nextButton);
}
function hideNextButton() {
if (nextButton) {
mainContainer.removeChild(nextButton);
nextButton = null;
}
}
function showStatText(msg) {
if (statText) {
mainContainer.removeChild(statText);
}
statText = new Text2(msg, {
size: 70,
fill: "#fff"
});
statText.anchor.set(0.5, 0.5);
statText.x = 2048 / 2;
statText.y = 2732 / 2 + 320;
mainContainer.addChild(statText);
}
function hideStatText() {
if (statText) {
mainContainer.removeChild(statText);
statText = null;
}
}
function showSummaryText(msg) {
if (summaryText) {
mainContainer.removeChild(summaryText);
}
summaryText = new Text2(msg, {
size: 80,
fill: "#fff"
});
summaryText.anchor.set(0.5, 0.5);
summaryText.x = 2048 / 2;
summaryText.y = 2732 / 2 + 400;
mainContainer.addChild(summaryText);
}
function hideSummaryText() {
if (summaryText) {
mainContainer.removeChild(summaryText);
summaryText = null;
}
}
// --- Game Flow Functions ---
function startChoosePosition() {
state = "choose_position";
clearMainContainer();
clearTrophyNodes();
hideStatText();
hideSummaryText();
showInfo("Choose Your Position!");
showSeasonText("");
// Show position buttons
var btns = [];
for (var i = 0; i < positions.length; i++) {
var pos = positions[i];
var btn = new Text2(pos.name, {
size: 90,
fill: 0x1E90FF
});
btn.anchor.set(0.5, 0.5);
btn.x = 2048 / 2;
btn.y = 800 + i * 220;
btn.interactive = true;
btn.buttonMode = true;
btn.down = function (pos) {
return function (x, y, obj) {
playerPosition = pos.key;
playerPositionName = pos.name;
startNewCareer();
};
}(pos);
mainContainer.addChild(btn);
btns.push(btn);
}
}
function startNewCareer() {
state = "season";
playerAge = 18;
playerClub = randomPick(clubs);
playerStats = [];
playerTrophies = [];
playerTotalGoals = 0;
playerTotalAssists = 0;
playerTotalTrophies = 0;
clearMainContainer();
clearTrophyNodes();
hideStatText();
hideSummaryText();
showInfo("He begins his career as " + playerPositionName);
showSeasonText("Age: " + playerAge + " | " + playerClub);
// Show player and club
playerNode = new Player();
playerNode.x = 2048 / 2;
playerNode.y = 900;
mainContainer.addChild(playerNode);
clubNode = new Club();
clubNode.x = 2048 / 2;
clubNode.y = 1200;
mainContainer.addChild(clubNode);
var clubNameText = new Text2(playerClub, {
size: 90,
fill: 0x000000
});
clubNameText.anchor.set(0.5, 0.5);
clubNameText.x = clubNode.x;
clubNameText.y = clubNode.y;
mainContainer.addChild(clubNameText);
showNextButton("Start Season", function () {
mainContainer.removeChild(playerNode);
mainContainer.removeChild(clubNode);
mainContainer.removeChild(clubNameText);
startSeason();
});
}
function startSeason() {
state = "season";
clearMainContainer();
clearTrophyNodes();
hideStatText();
hideSummaryText();
showInfo("Age:" + playerAge + " | " + playerClub);
showSeasonText("Season: " + (playerAge - 17));
// Show player and club
playerNode = new Player();
playerNode.x = 2048 / 2;
playerNode.y = 900;
mainContainer.addChild(playerNode);
clubNode = new Club();
clubNode.x = 2048 / 2;
clubNode.y = 1200;
mainContainer.addChild(clubNode);
var clubNameText = new Text2(playerClub, {
size: 90,
fill: "#00000"
});
clubNameText.anchor.set(0.5, 0.5);
clubNameText.x = clubNode.x;
clubNameText.y = clubNode.y;
mainContainer.addChild(clubNameText);
// Random stats
var goals = 0,
assists = 0;
if (playerPosition == "GK") {
goals = randomInt(0, 1);
assists = randomInt(0, 2);
} else if (playerPosition == "DEF") {
goals = randomInt(0, 4);
assists = randomInt(0, 5);
} else if (playerPosition == "MID") {
goals = randomInt(2, 10);
assists = randomInt(3, 12);
} else if (playerPosition == "FWD") {
goals = randomInt(5, 30);
assists = randomInt(2, 10);
}
// Trophy chance
var wonTrophies = [];
if (randomInt(1, 100) <= 20) {
// 20% chance
var t = randomPick(trophies);
wonTrophies.push(t);
playerTrophies.push(t);
}
// Save season stats
currentSeasonStats = {
age: playerAge,
club: playerClub,
goals: goals,
assists: assists,
trophies: wonTrophies
};
playerStats.push(currentSeasonStats);
playerTotalGoals += goals;
playerTotalAssists += assists;
playerTotalTrophies += wonTrophies.length;
// Show stats
var statMsg = "Goals: " + goals + " | Assists: " + assists;
if (wonTrophies.length > 0) {
statMsg += "\n🏆 " + wonTrophies.join(", ");
}
showStatText(statMsg);
// Show trophies
clearTrophyNodes();
// No trophy icons, only text for trophies
// Next: transfer offers or retirement
showNextButton("End of Season", function () {
mainContainer.removeChild(playerNode);
mainContainer.removeChild(clubNode);
mainContainer.removeChild(clubNameText);
hideStatText();
clearTrophyNodes();
if (playerAge >= 35) {
startSummary();
} else {
startTransfer();
}
});
}
function startTransfer() {
state = "transfer";
clearMainContainer();
clearTrophyNodes();
hideStatText();
hideSummaryText();
showInfo("New Transfer Offers");
showSeasonText("Age: " + playerAge + " | " + playerClub);
// Generate 2-3 random offers (not current club)
transferOffers = [];
var offerCount = randomInt(2, 3);
var usedClubs = {};
usedClubs[playerClub] = true;
for (var i = 0; i < offerCount; i++) {
var c;
do {
c = randomPick(clubs);
} while (usedClubs[c]);
usedClubs[c] = true;
transferOffers.push(c);
}
// Add "Stay" option
transferOffers.push(playerClub);
// Show buttons
clearTransferButtons();
for (var i = 0; i < transferOffers.length; i++) {
var c = transferOffers[i];
var isStay = c == playerClub;
var btn = new Text2(isStay ? "Stay at Club (" + c + ")" : c, {
size: 80,
fill: isStay ? "#00ff99" : "#fff"
});
btn.anchor.set(0.5, 0.5);
btn.x = 2048 / 2;
btn.y = 900 + i * 180;
btn.interactive = true;
btn.buttonMode = true;
btn.down = function (c) {
return function (x, y, obj) {
playerClub = c;
playerAge += 1;
clearTransferButtons();
startSeason();
};
}(c);
mainContainer.addChild(btn);
transferButtons.push(btn);
}
}
function startSummary() {
state = "summary";
clearMainContainer();
clearTrophyNodes();
hideStatText();
showInfo("Career Completed! (Retired)");
showSeasonText("");
// Show player
playerNode = new Player();
playerNode.x = 2048 / 2;
playerNode.y = 900;
mainContainer.addChild(playerNode);
// Show summary stats
var summaryMsg = "⚽ Total Goals: " + playerTotalGoals + "\n🥅 Total Assists: " + playerTotalAssists + "\n" + "\n🏆 Total Trophies: " + playerTotalTrophies;
if (playerTrophies.length > 0) {
summaryMsg += "\n" + playerTrophies.join("\n ");
}
showSummaryText(summaryMsg);
// Show "Yeniden Oyna" button
showNextButton("Play Again", function () {
mainContainer.removeChild(playerNode);
hideSummaryText();
startChoosePosition();
});
}
// --- Start Game ---
startChoosePosition();