User prompt
Write our statistics below (total goals, assists, yellow cards, etc.) and try to make the gameplay better, make it more entertaining.
User prompt
Let's add a nice football-related background to the game
User prompt
After playing 3 matches, let's go to another team. Barcelona, Chelsea, Liverpool, let's choose one of them and go and sometimes have an award ceremony, if we have a lot of goals in total, we will get the ballon d'or
User prompt
The game will be a text-based football career game. He will choose his first team, Galatasaray - Fenerbahçe - Beşiktaş, he will choose one of them and play his first match. There will be options in the match, such as hitting the goal, passing, dribbling, playing long, and if we choose the right option, we will score a goal, this will always change
User prompt
Text Quest: The Menu
Initial prompt
We will make a text-based game. First, make a menu
/**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // State variables // --- Text-based Football Career Game --- var currentScreen = "teamSelect"; // "teamSelect", "match", "goal", "miss", "end", "transfer", "award" var selectedTeam = null; var matchStep = 0; var score = 0; // Transfer to international team function showTransferScreen() { currentScreen = "transfer"; clearMenu(); var txt = new Text2("Congratulations! You are transferring to Europe.\nChoose your new team:", { size: 90, fill: "#fff" }); txt.anchor.set(0.5, 0); txt.x = 2048 / 2; txt.y = 400; game.addChild(txt); menuTextObjs.push(txt); var startY = 800; var spacing = 220; for (var i = 0; i < internationalTeams.length; i++) { (function (idx) { var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 4, scaleY: 1.1, x: 2048 / 2, y: startY + idx * spacing }); game.addChild(btn); menuOptions.push(btn); var teamTxt = new Text2(internationalTeams[idx], { size: 90, fill: "#222" }); teamTxt.anchor.set(0.5, 0.5); teamTxt.x = btn.x; teamTxt.y = btn.y; game.addChild(teamTxt); menuTextObjs.push(teamTxt); btn.down = function (x, y, obj) { selectedInternationalTeam = internationalTeams[idx]; currentStage = "international"; showInternationalMatchIntro(); }; })(i); } } // Step 6: End screen var matchesPlayed = 0; var totalGoals = 0; var currentStage = "domestic"; // "domestic" or "international" var internationalTeams = ["Barcelona", "Chelsea", "Liverpool"]; var selectedInternationalTeam = null; var ballonDorAwarded = false; // Menu option buttons var menuOptions = []; var menuTextObjs = []; // Helper: Clear all menu option objects function clearMenu() { for (var i = 0; i < menuOptions.length; i++) { if (menuOptions[i] && menuOptions[i].parent) { menuOptions[i].parent.removeChild(menuOptions[i]); } } menuOptions = []; for (var j = 0; j < menuTextObjs.length; j++) { if (menuTextObjs[j] && menuTextObjs[j].parent) { menuTextObjs[j].parent.removeChild(menuTextObjs[j]); } } menuTextObjs = []; } // Helper: Show a menu with options (array of {label, onSelect}) function showMenu(title, options) { clearMenu(); // Title var titleText = new Text2(title, { size: 120, fill: "#fff" }); titleText.anchor.set(0.5, 0); titleText.x = 2048 / 2; titleText.y = 300; game.addChild(titleText); menuTextObjs.push(titleText); // Options var startY = 600; var spacing = 220; for (var i = 0; i < options.length; i++) { (function (idx) { var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 5, scaleY: 1.2, x: 2048 / 2, y: startY + idx * spacing }); game.addChild(btn); menuOptions.push(btn); var txt = new Text2(options[idx].label, { size: 90, fill: "#222" }); txt.anchor.set(0.5, 0.5); txt.x = btn.x; txt.y = btn.y; game.addChild(txt); menuTextObjs.push(txt); btn.down = function (x, y, obj) { options[idx].onSelect(); }; })(i); } } // Step 1: Team selection function showTeamSelect() { currentScreen = "teamSelect"; selectedTeam = null; score = 0; matchStep = 0; showMenu("Choose Your First Team", [{ label: "Galatasaray", onSelect: function onSelect() { selectedTeam = "Galatasaray"; showMatchIntro(); } }, { label: "Fenerbahçe", onSelect: function onSelect() { selectedTeam = "Fenerbahçe"; showMatchIntro(); } }, { label: "Beşiktaş", onSelect: function onSelect() { selectedTeam = "Beşiktaş"; showMatchIntro(); } }]); } // Step 2: Match intro function showMatchIntro() { currentScreen = "match"; clearMenu(); var intro = "You joined " + selectedTeam + "!\nYour first match is about to begin."; var introText = new Text2(intro, { size: 90, fill: "#fff" }); introText.anchor.set(0.5, 0); introText.x = 2048 / 2; introText.y = 400; game.addChild(introText); menuTextObjs.push(introText); var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 4, scaleY: 1.1, x: 2048 / 2, y: 900 }); game.addChild(btn); menuOptions.push(btn); var txt = new Text2("Start Match", { size: 80, fill: "#222" }); txt.anchor.set(0.5, 0.5); txt.x = btn.x; txt.y = btn.y; game.addChild(txt); menuTextObjs.push(txt); btn.down = function (x, y, obj) { matchStep = 0; score = 0; showMatchStep(); }; } // Step 3: Match steps (randomize correct option) function showMatchStep() { currentScreen = "match"; clearMenu(); var matchPrompts = [{ text: "You get the ball near the penalty area. What will you do?", options: ["Shoot", "Pass", "Dribble", "Play Long"], correct: Math.floor(Math.random() * 4) }, { text: "You see a teammate running into space. What will you do?", options: ["Pass", "Shoot", "Dribble", "Play Long"], correct: Math.floor(Math.random() * 4) }, { text: "Defender is closing in. What will you do?", options: ["Dribble", "Pass", "Shoot", "Play Long"], correct: Math.floor(Math.random() * 4) }]; // Loop match steps, then end if (matchStep >= matchPrompts.length) { showEndScreen(); return; } var prompt = matchPrompts[matchStep]; var promptText = new Text2(prompt.text, { size: 90, fill: "#fff" }); promptText.anchor.set(0.5, 0); promptText.x = 2048 / 2; promptText.y = 350; game.addChild(promptText); menuTextObjs.push(promptText); var startY = 700; var spacing = 180; for (var i = 0; i < prompt.options.length; i++) { (function (idx) { var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 3.5, scaleY: 1, x: 2048 / 2, y: startY + idx * spacing }); game.addChild(btn); menuOptions.push(btn); var txt = new Text2(prompt.options[idx], { size: 80, fill: "#222" }); txt.anchor.set(0.5, 0.5); txt.x = btn.x; txt.y = btn.y; game.addChild(txt); menuTextObjs.push(txt); btn.down = function (x, y, obj) { if (idx === prompt.correct) { score++; showGoalScreen(); } else { showMissScreen(); } }; })(i); } } // Step 4: Goal screen function showGoalScreen() { currentScreen = "goal"; clearMenu(); var txt = new Text2("GOAL! You scored for " + selectedTeam + "!", { size: 110, fill: 0xFFE600 }); txt.anchor.set(0.5, 0); txt.x = 2048 / 2; txt.y = 600; game.addChild(txt); menuTextObjs.push(txt); var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 3.5, scaleY: 1, x: 2048 / 2, y: 1000 }); game.addChild(btn); menuOptions.push(btn); var nextTxt = new Text2("Next Play", { size: 80, fill: "#222" }); nextTxt.anchor.set(0.5, 0.5); nextTxt.x = btn.x; nextTxt.y = btn.y; game.addChild(nextTxt); menuTextObjs.push(nextTxt); btn.down = function (x, y, obj) { matchStep++; showMatchStep(); }; } // Step 5: Miss screen function showMissScreen() { currentScreen = "miss"; clearMenu(); var txt = new Text2("Missed! The play didn't work out.", { size: 100, fill: 0xFF4444 }); txt.anchor.set(0.5, 0); txt.x = 2048 / 2; txt.y = 600; game.addChild(txt); menuTextObjs.push(txt); var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 3.5, scaleY: 1, x: 2048 / 2, y: 1000 }); game.addChild(btn); menuOptions.push(btn); var nextTxt = new Text2("Next Play", { size: 80, fill: "#222" }); nextTxt.anchor.set(0.5, 0.5); nextTxt.x = btn.x; nextTxt.y = btn.y; game.addChild(nextTxt); menuTextObjs.push(nextTxt); btn.down = function (x, y, obj) { matchStep++; showMatchStep(); }; } // Step 6: End screen function showEndScreen() { currentScreen = "end"; clearMenu(); matchesPlayed++; totalGoals += score; var endMsg = "Match Over!\nGoals Scored: " + score + "\nTotal Goals: " + totalGoals + "\nMatches Played: " + matchesPlayed; var txt = new Text2(endMsg, { size: 100, fill: "#fff" }); txt.anchor.set(0.5, 0); txt.x = 2048 / 2; txt.y = 600; game.addChild(txt); menuTextObjs.push(txt); // After 3 matches, transfer to international team if (currentStage === "domestic" && matchesPlayed >= 3) { var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 3.5, scaleY: 1, x: 2048 / 2, y: 1000 }); game.addChild(btn); menuOptions.push(btn); var nextTxt = new Text2("Transfer to Europe", { size: 80, fill: "#222" }); nextTxt.anchor.set(0.5, 0.5); nextTxt.x = btn.x; nextTxt.y = btn.y; game.addChild(nextTxt); menuTextObjs.push(nextTxt); btn.down = function (x, y, obj) { showTransferScreen(); }; return; } // After 6 matches, check for Ballon d'Or if (currentStage === "international" && matchesPlayed >= 6 && !ballonDorAwarded) { var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 3.5, scaleY: 1, x: 2048 / 2, y: 1000 }); game.addChild(btn); menuOptions.push(btn); var nextTxt = new Text2("Award Ceremony", { size: 80, fill: "#222" }); nextTxt.anchor.set(0.5, 0.5); nextTxt.x = btn.x; nextTxt.y = btn.y; game.addChild(nextTxt); menuTextObjs.push(nextTxt); btn.down = function (x, y, obj) { showAwardCeremony(); }; return; } // Otherwise, play again or next match var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 3.5, scaleY: 1, x: 2048 / 2, y: 1000 }); game.addChild(btn); menuOptions.push(btn); var nextTxt = new Text2(currentStage === "domestic" ? "Play Again" : "Next Match", { size: 80, fill: "#222" }); nextTxt.anchor.set(0.5, 0.5); nextTxt.x = btn.x; nextTxt.y = btn.y; game.addChild(nextTxt); menuTextObjs.push(nextTxt); btn.down = function (x, y, obj) { if (currentStage === "domestic") { showTeamSelect(); } else { showInternationalMatchIntro(); } }; } // International match intro function showInternationalMatchIntro() { currentScreen = "match"; clearMenu(); var intro = "You joined " + selectedInternationalTeam + "!\nYour next match in Europe is about to begin."; var introText = new Text2(intro, { size: 90, fill: "#fff" }); introText.anchor.set(0.5, 0); introText.x = 2048 / 2; introText.y = 400; game.addChild(introText); menuTextObjs.push(introText); var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 4, scaleY: 1.1, x: 2048 / 2, y: 900 }); game.addChild(btn); menuOptions.push(btn); var txt = new Text2("Start Match", { size: 80, fill: "#222" }); txt.anchor.set(0.5, 0.5); txt.x = btn.x; txt.y = btn.y; game.addChild(txt); menuTextObjs.push(txt); btn.down = function (x, y, obj) { matchStep = 0; score = 0; showInternationalMatchStep(); }; } // International match steps (same as domestic, but with new team) function showInternationalMatchStep() { currentScreen = "match"; clearMenu(); var matchPrompts = [{ text: "You get the ball in a Champions League match. What will you do?", options: ["Shoot", "Pass", "Dribble", "Play Long"], correct: Math.floor(Math.random() * 4) }, { text: "You see a world-class teammate open. What will you do?", options: ["Pass", "Shoot", "Dribble", "Play Long"], correct: Math.floor(Math.random() * 4) }, { text: "Defender is closing in. What will you do?", options: ["Dribble", "Pass", "Shoot", "Play Long"], correct: Math.floor(Math.random() * 4) }]; if (matchStep >= matchPrompts.length) { showEndScreen(); return; } var prompt = matchPrompts[matchStep]; var promptText = new Text2(prompt.text, { size: 90, fill: "#fff" }); promptText.anchor.set(0.5, 0); promptText.x = 2048 / 2; promptText.y = 350; game.addChild(promptText); menuTextObjs.push(promptText); var startY = 700; var spacing = 180; for (var i = 0; i < prompt.options.length; i++) { (function (idx) { var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 3.5, scaleY: 1, x: 2048 / 2, y: startY + idx * spacing }); game.addChild(btn); menuOptions.push(btn); var txt = new Text2(prompt.options[idx], { size: 80, fill: "#222" }); txt.anchor.set(0.5, 0.5); txt.x = btn.x; txt.y = btn.y; game.addChild(txt); menuTextObjs.push(txt); btn.down = function (x, y, obj) { if (idx === prompt.correct) { score++; showGoalScreen(); } else { showMissScreen(); } }; })(i); } } // Award ceremony for Ballon d'Or function showAwardCeremony() { currentScreen = "award"; clearMenu(); ballonDorAwarded = true; var awardMsg = ""; if (totalGoals >= 5) { awardMsg = "Congratulations!\nYou scored " + totalGoals + " goals and won the Ballon d'Or!"; } else { awardMsg = "Award Ceremony\nYou scored " + totalGoals + " goals.\nKeep playing to win the Ballon d'Or!"; } var txt = new Text2(awardMsg, { size: 100, fill: 0xFFD700 }); txt.anchor.set(0.5, 0); txt.x = 2048 / 2; txt.y = 600; game.addChild(txt); menuTextObjs.push(txt); var btn = LK.getAsset('centerCircle', { anchorX: 0.5, anchorY: 0.5, scaleX: 3.5, scaleY: 1, x: 2048 / 2, y: 1000 }); game.addChild(btn); menuOptions.push(btn); var nextTxt = new Text2("Play Again", { size: 80, fill: "#222" }); nextTxt.anchor.set(0.5, 0.5); nextTxt.x = btn.x; nextTxt.y = btn.y; game.addChild(nextTxt); menuTextObjs.push(nextTxt); btn.down = function (x, y, obj) { // Reset all state for a new career matchesPlayed = 0; totalGoals = 0; currentStage = "domestic"; selectedInternationalTeam = null; ballonDorAwarded = false; showTeamSelect(); }; } // Start the game at team selection showTeamSelect();
===================================================================
--- original.js
+++ change.js
@@ -7,14 +7,65 @@
/****
* Game Code
****/
-// --- Text-based Football Career Game ---
// State variables
-var currentScreen = "teamSelect"; // "teamSelect", "match", "goal", "miss", "end"
+// --- Text-based Football Career Game ---
+var currentScreen = "teamSelect"; // "teamSelect", "match", "goal", "miss", "end", "transfer", "award"
var selectedTeam = null;
var matchStep = 0;
var score = 0;
+// Transfer to international team
+function showTransferScreen() {
+ currentScreen = "transfer";
+ clearMenu();
+ var txt = new Text2("Congratulations! You are transferring to Europe.\nChoose your new team:", {
+ size: 90,
+ fill: "#fff"
+ });
+ txt.anchor.set(0.5, 0);
+ txt.x = 2048 / 2;
+ txt.y = 400;
+ game.addChild(txt);
+ menuTextObjs.push(txt);
+ var startY = 800;
+ var spacing = 220;
+ for (var i = 0; i < internationalTeams.length; i++) {
+ (function (idx) {
+ var btn = LK.getAsset('centerCircle', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 4,
+ scaleY: 1.1,
+ x: 2048 / 2,
+ y: startY + idx * spacing
+ });
+ game.addChild(btn);
+ menuOptions.push(btn);
+ var teamTxt = new Text2(internationalTeams[idx], {
+ size: 90,
+ fill: "#222"
+ });
+ teamTxt.anchor.set(0.5, 0.5);
+ teamTxt.x = btn.x;
+ teamTxt.y = btn.y;
+ game.addChild(teamTxt);
+ menuTextObjs.push(teamTxt);
+ btn.down = function (x, y, obj) {
+ selectedInternationalTeam = internationalTeams[idx];
+ currentStage = "international";
+ showInternationalMatchIntro();
+ };
+ })(i);
+ }
+}
+// Step 6: End screen
+var matchesPlayed = 0;
+var totalGoals = 0;
+var currentStage = "domestic"; // "domestic" or "international"
+var internationalTeams = ["Barcelona", "Chelsea", "Liverpool"];
+var selectedInternationalTeam = null;
+var ballonDorAwarded = false;
// Menu option buttons
var menuOptions = [];
var menuTextObjs = [];
// Helper: Clear all menu option objects
@@ -283,9 +334,11 @@
// Step 6: End screen
function showEndScreen() {
currentScreen = "end";
clearMenu();
- var endMsg = "Match Over!\nGoals Scored: " + score;
+ matchesPlayed++;
+ totalGoals += score;
+ var endMsg = "Match Over!\nGoals Scored: " + score + "\nTotal Goals: " + totalGoals + "\nMatches Played: " + matchesPlayed;
var txt = new Text2(endMsg, {
size: 100,
fill: "#fff"
});
@@ -293,8 +346,61 @@
txt.x = 2048 / 2;
txt.y = 600;
game.addChild(txt);
menuTextObjs.push(txt);
+ // After 3 matches, transfer to international team
+ if (currentStage === "domestic" && matchesPlayed >= 3) {
+ var btn = LK.getAsset('centerCircle', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 3.5,
+ scaleY: 1,
+ x: 2048 / 2,
+ y: 1000
+ });
+ game.addChild(btn);
+ menuOptions.push(btn);
+ var nextTxt = new Text2("Transfer to Europe", {
+ size: 80,
+ fill: "#222"
+ });
+ nextTxt.anchor.set(0.5, 0.5);
+ nextTxt.x = btn.x;
+ nextTxt.y = btn.y;
+ game.addChild(nextTxt);
+ menuTextObjs.push(nextTxt);
+ btn.down = function (x, y, obj) {
+ showTransferScreen();
+ };
+ return;
+ }
+ // After 6 matches, check for Ballon d'Or
+ if (currentStage === "international" && matchesPlayed >= 6 && !ballonDorAwarded) {
+ var btn = LK.getAsset('centerCircle', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 3.5,
+ scaleY: 1,
+ x: 2048 / 2,
+ y: 1000
+ });
+ game.addChild(btn);
+ menuOptions.push(btn);
+ var nextTxt = new Text2("Award Ceremony", {
+ size: 80,
+ fill: "#222"
+ });
+ nextTxt.anchor.set(0.5, 0.5);
+ nextTxt.x = btn.x;
+ nextTxt.y = btn.y;
+ game.addChild(nextTxt);
+ menuTextObjs.push(nextTxt);
+ btn.down = function (x, y, obj) {
+ showAwardCeremony();
+ };
+ return;
+ }
+ // Otherwise, play again or next match
var btn = LK.getAsset('centerCircle', {
anchorX: 0.5,
anchorY: 0.5,
scaleX: 3.5,
@@ -303,8 +409,159 @@
y: 1000
});
game.addChild(btn);
menuOptions.push(btn);
+ var nextTxt = new Text2(currentStage === "domestic" ? "Play Again" : "Next Match", {
+ size: 80,
+ fill: "#222"
+ });
+ nextTxt.anchor.set(0.5, 0.5);
+ nextTxt.x = btn.x;
+ nextTxt.y = btn.y;
+ game.addChild(nextTxt);
+ menuTextObjs.push(nextTxt);
+ btn.down = function (x, y, obj) {
+ if (currentStage === "domestic") {
+ showTeamSelect();
+ } else {
+ showInternationalMatchIntro();
+ }
+ };
+}
+// International match intro
+function showInternationalMatchIntro() {
+ currentScreen = "match";
+ clearMenu();
+ var intro = "You joined " + selectedInternationalTeam + "!\nYour next match in Europe is about to begin.";
+ var introText = new Text2(intro, {
+ size: 90,
+ fill: "#fff"
+ });
+ introText.anchor.set(0.5, 0);
+ introText.x = 2048 / 2;
+ introText.y = 400;
+ game.addChild(introText);
+ menuTextObjs.push(introText);
+ var btn = LK.getAsset('centerCircle', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 4,
+ scaleY: 1.1,
+ x: 2048 / 2,
+ y: 900
+ });
+ game.addChild(btn);
+ menuOptions.push(btn);
+ var txt = new Text2("Start Match", {
+ size: 80,
+ fill: "#222"
+ });
+ txt.anchor.set(0.5, 0.5);
+ txt.x = btn.x;
+ txt.y = btn.y;
+ game.addChild(txt);
+ menuTextObjs.push(txt);
+ btn.down = function (x, y, obj) {
+ matchStep = 0;
+ score = 0;
+ showInternationalMatchStep();
+ };
+}
+// International match steps (same as domestic, but with new team)
+function showInternationalMatchStep() {
+ currentScreen = "match";
+ clearMenu();
+ var matchPrompts = [{
+ text: "You get the ball in a Champions League match. What will you do?",
+ options: ["Shoot", "Pass", "Dribble", "Play Long"],
+ correct: Math.floor(Math.random() * 4)
+ }, {
+ text: "You see a world-class teammate open. What will you do?",
+ options: ["Pass", "Shoot", "Dribble", "Play Long"],
+ correct: Math.floor(Math.random() * 4)
+ }, {
+ text: "Defender is closing in. What will you do?",
+ options: ["Dribble", "Pass", "Shoot", "Play Long"],
+ correct: Math.floor(Math.random() * 4)
+ }];
+ if (matchStep >= matchPrompts.length) {
+ showEndScreen();
+ return;
+ }
+ var prompt = matchPrompts[matchStep];
+ var promptText = new Text2(prompt.text, {
+ size: 90,
+ fill: "#fff"
+ });
+ promptText.anchor.set(0.5, 0);
+ promptText.x = 2048 / 2;
+ promptText.y = 350;
+ game.addChild(promptText);
+ menuTextObjs.push(promptText);
+ var startY = 700;
+ var spacing = 180;
+ for (var i = 0; i < prompt.options.length; i++) {
+ (function (idx) {
+ var btn = LK.getAsset('centerCircle', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 3.5,
+ scaleY: 1,
+ x: 2048 / 2,
+ y: startY + idx * spacing
+ });
+ game.addChild(btn);
+ menuOptions.push(btn);
+ var txt = new Text2(prompt.options[idx], {
+ size: 80,
+ fill: "#222"
+ });
+ txt.anchor.set(0.5, 0.5);
+ txt.x = btn.x;
+ txt.y = btn.y;
+ game.addChild(txt);
+ menuTextObjs.push(txt);
+ btn.down = function (x, y, obj) {
+ if (idx === prompt.correct) {
+ score++;
+ showGoalScreen();
+ } else {
+ showMissScreen();
+ }
+ };
+ })(i);
+ }
+}
+// Award ceremony for Ballon d'Or
+function showAwardCeremony() {
+ currentScreen = "award";
+ clearMenu();
+ ballonDorAwarded = true;
+ var awardMsg = "";
+ if (totalGoals >= 5) {
+ awardMsg = "Congratulations!\nYou scored " + totalGoals + " goals and won the Ballon d'Or!";
+ } else {
+ awardMsg = "Award Ceremony\nYou scored " + totalGoals + " goals.\nKeep playing to win the Ballon d'Or!";
+ }
+ var txt = new Text2(awardMsg, {
+ size: 100,
+ fill: 0xFFD700
+ });
+ txt.anchor.set(0.5, 0);
+ txt.x = 2048 / 2;
+ txt.y = 600;
+ game.addChild(txt);
+ menuTextObjs.push(txt);
+ var btn = LK.getAsset('centerCircle', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ scaleX: 3.5,
+ scaleY: 1,
+ x: 2048 / 2,
+ y: 1000
+ });
+ game.addChild(btn);
+ menuOptions.push(btn);
var nextTxt = new Text2("Play Again", {
size: 80,
fill: "#222"
});
@@ -313,8 +570,14 @@
nextTxt.y = btn.y;
game.addChild(nextTxt);
menuTextObjs.push(nextTxt);
btn.down = function (x, y, obj) {
+ // Reset all state for a new career
+ matchesPlayed = 0;
+ totalGoals = 0;
+ currentStage = "domestic";
+ selectedInternationalTeam = null;
+ ballonDorAwarded = false;
showTeamSelect();
};
}
// Start the game at team selection