From b9feebf87e4129c806b06a54226669ccb9d13864 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Fri, 23 Mar 2018 15:24:47 -0400 Subject: [PATCH 01/14] Testing --- app.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 app.ts diff --git a/app.ts b/app.ts new file mode 100644 index 00000000..0b2963a7 --- /dev/null +++ b/app.ts @@ -0,0 +1 @@ +console.log("Hello") \ No newline at end of file From 8ba045ba63bb092db8bf002b093a8c913f3786b5 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sat, 24 Mar 2018 15:07:09 -0400 Subject: [PATCH 02/14] Testing visual studio and moving things around --- js/app.js | 1 + app.ts => js/app.ts | 0 2 files changed, 1 insertion(+) create mode 100644 js/app.js rename app.ts => js/app.ts (100%) diff --git a/js/app.js b/js/app.js new file mode 100644 index 00000000..bf6b8179 --- /dev/null +++ b/js/app.js @@ -0,0 +1 @@ +console.log("Hello"); diff --git a/app.ts b/js/app.ts similarity index 100% rename from app.ts rename to js/app.ts From c977f38110888690af5ad1837222bc2fad7eeac3 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sat, 24 Mar 2018 16:16:56 -0400 Subject: [PATCH 03/14] Testing --- index.html | 2 +- js/app.js | 9 ++++++++- js/app.ts | 9 ++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index d2c3c254..8ddb8692 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@

TypeScript Casino

- +
diff --git a/js/app.js b/js/app.js index bf6b8179..47f3f079 100644 --- a/js/app.js +++ b/js/app.js @@ -1 +1,8 @@ -console.log("Hello"); +document.getElementById("submit_button").addEventListener("click", testFunction); +document.getElementById("display").addEventListener("mouseover", testFunction2); +function testFunction() { + document.getElementById("display").innerHTML = "Hello"; +} +function testFunction2() { + document.getElementById("display").innerHTML = "Press the button to start"; +} diff --git a/js/app.ts b/js/app.ts index 0b2963a7..d1c89628 100644 --- a/js/app.ts +++ b/js/app.ts @@ -1 +1,8 @@ -console.log("Hello") \ No newline at end of file +document.getElementById("submit_button").addEventListener("click", testFunction); +document.getElementById("display").addEventListener("mouseover", testFunction2); +function testFunction(){ + document.getElementById("display").innerHTML = "Hello"; +} + function testFunction2(){ + document.getElementById("display").innerHTML = "Press the button to start"; + } \ No newline at end of file From c04587eb8ac4ca2f2db9372e08b724f7ffdcce2e Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sat, 24 Mar 2018 17:02:46 -0400 Subject: [PATCH 04/14] Started adding basic classes --- js/MainMenu.ts | 0 js/Player.ts | 18 ++++++++++++++++++ js/PlayerInterface.ts | 6 ++++++ js/Profile.ts | 25 +++++++++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 100644 js/MainMenu.ts create mode 100644 js/Player.ts create mode 100644 js/PlayerInterface.ts create mode 100644 js/Profile.ts diff --git a/js/MainMenu.ts b/js/MainMenu.ts new file mode 100644 index 00000000..e69de29b diff --git a/js/Player.ts b/js/Player.ts new file mode 100644 index 00000000..86719e0a --- /dev/null +++ b/js/Player.ts @@ -0,0 +1,18 @@ +class Player implements PlayerInterface { + + private playerProfile: Profile; + + constructorI(name: string){ + this.playerProfile = new Profile(Math.random() *1000, name, 500); + } + + getProfile(): Profile { + return this.playerProfile; + } + getName(): string { + return this.playerProfile.getuserName(); + } + getId(): number { + return this.playerProfile.getUserId(); + } +} \ No newline at end of file diff --git a/js/PlayerInterface.ts b/js/PlayerInterface.ts new file mode 100644 index 00000000..ff5a3177 --- /dev/null +++ b/js/PlayerInterface.ts @@ -0,0 +1,6 @@ +interface PlayerInterface { + + getProfile(): Profile + getName(): string + getId(): number +} \ No newline at end of file diff --git a/js/Profile.ts b/js/Profile.ts new file mode 100644 index 00000000..c23d7eb0 --- /dev/null +++ b/js/Profile.ts @@ -0,0 +1,25 @@ +class Profile{ + + private userId: number; + private userName: string; + private balance: number; + + constructor(userId: number, userName:string,balance:number){ + this.userId = userId; + this.userName = userName; + this.balance = balance; + } + + public getUserId(): number{ + return this.userId; + } + + public getuserName(): string{ + return this.userName; + } + + public getBalance(): number{ + return this.balance; + } + +} \ No newline at end of file From 5df9f5928a17578a055df2c3d7865c3acbaa6850 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sat, 24 Mar 2018 18:31:44 -0400 Subject: [PATCH 05/14] Interface creation --- js/GameEngineInterface.ts | 3 +++ js/GameInterface.ts | 8 ++++++++ js/Player.ts | 4 ++-- js/Profile.ts | 6 +++--- 4 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 js/GameEngineInterface.ts create mode 100644 js/GameInterface.ts diff --git a/js/GameEngineInterface.ts b/js/GameEngineInterface.ts new file mode 100644 index 00000000..8b6912fe --- /dev/null +++ b/js/GameEngineInterface.ts @@ -0,0 +1,3 @@ +interface GameEngineInterfae{ + +} \ No newline at end of file diff --git a/js/GameInterface.ts b/js/GameInterface.ts new file mode 100644 index 00000000..cec4b358 --- /dev/null +++ b/js/GameInterface.ts @@ -0,0 +1,8 @@ +interface GameInterface{ + + getPlayers(): T[]; + getPlayer(playerId: number): T; + addPlayer(player: T): void; + removePlayer(player: T): void; + contains(played: T): boolean; +} \ No newline at end of file diff --git a/js/Player.ts b/js/Player.ts index 86719e0a..61a2198d 100644 --- a/js/Player.ts +++ b/js/Player.ts @@ -2,8 +2,8 @@ class Player implements PlayerInterface { private playerProfile: Profile; - constructorI(name: string){ - this.playerProfile = new Profile(Math.random() *1000, name, 500); + constructorI(playerProfile: Profile){ + this.playerProfile = playerProfile; } getProfile(): Profile { diff --git a/js/Profile.ts b/js/Profile.ts index c23d7eb0..da8ac4eb 100644 --- a/js/Profile.ts +++ b/js/Profile.ts @@ -4,10 +4,10 @@ class Profile{ private userName: string; private balance: number; - constructor(userId: number, userName:string,balance:number){ - this.userId = userId; + constructor(userName:string){ + this.userId = Math.random() * 1000; this.userName = userName; - this.balance = balance; + this.balance = 500; } public getUserId(): number{ From e0ebca95fc74488e4acea7cc06337bb28e84ae84 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sat, 24 Mar 2018 18:42:00 -0400 Subject: [PATCH 06/14] Test commit --- js/GameEngine.ts | 3 +++ js/GameEngineInterface.ts | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 js/GameEngine.ts diff --git a/js/GameEngine.ts b/js/GameEngine.ts new file mode 100644 index 00000000..a0d93454 --- /dev/null +++ b/js/GameEngine.ts @@ -0,0 +1,3 @@ +abstract class GameEngine extends GameEngineInterface{ + +} \ No newline at end of file diff --git a/js/GameEngineInterface.ts b/js/GameEngineInterface.ts index 8b6912fe..7c090313 100644 --- a/js/GameEngineInterface.ts +++ b/js/GameEngineInterface.ts @@ -1,3 +1,6 @@ -interface GameEngineInterfae{ +interface GameEngineInterfae>{ + getGame(): GameType; + evaluateTurn(player: GameTypePlayer): void; + run(): void; } \ No newline at end of file From 3c2d8c48bc0de3502d91087f89e4bd62f42b5cc6 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sat, 24 Mar 2018 20:01:22 -0400 Subject: [PATCH 07/14] Figured out how to get text from input box --- js/GameEngine.ts | 8 ++++++-- js/app.js | 5 ++++- js/app.ts | 5 ++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/js/GameEngine.ts b/js/GameEngine.ts index a0d93454..43ebe64b 100644 --- a/js/GameEngine.ts +++ b/js/GameEngine.ts @@ -1,3 +1,7 @@ -abstract class GameEngine extends GameEngineInterface{ - +abstract class GameEngine> +implements GameEngineInterfae { + + abstract getGame(): GameType + abstract evaluateTurn(player: GameTypePlayer): void + abstract run(): void } \ No newline at end of file diff --git a/js/app.js b/js/app.js index 47f3f079..cac34f57 100644 --- a/js/app.js +++ b/js/app.js @@ -1,7 +1,10 @@ document.getElementById("submit_button").addEventListener("click", testFunction); document.getElementById("display").addEventListener("mouseover", testFunction2); function testFunction() { - document.getElementById("display").innerHTML = "Hello"; + var element = document.getElementById("user_input"); + var test = element.value; + document.getElementById("display").textContent = test; + element.value = ""; } function testFunction2() { document.getElementById("display").innerHTML = "Press the button to start"; diff --git a/js/app.ts b/js/app.ts index d1c89628..e4123787 100644 --- a/js/app.ts +++ b/js/app.ts @@ -1,7 +1,10 @@ document.getElementById("submit_button").addEventListener("click", testFunction); document.getElementById("display").addEventListener("mouseover", testFunction2); function testFunction(){ - document.getElementById("display").innerHTML = "Hello"; + var element: HTMLInputElement = document.getElementById("user_input"); + var test: string = element.value; + document.getElementById("display").textContent = test; + element.value = ""; } function testFunction2(){ document.getElementById("display").innerHTML = "Press the button to start"; From b32e3c630bcb23fb9f8dfd9a75860e10aaffab10 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sun, 25 Mar 2018 09:23:13 -0400 Subject: [PATCH 08/14] Testing --- js/MainMenu.js | 19 +++++++++++++++++++ js/MainMenu.ts | 19 +++++++++++++++++++ js/app.js | 13 +++++++------ js/app.ts | 13 +++++++------ 4 files changed, 52 insertions(+), 12 deletions(-) create mode 100644 js/MainMenu.js diff --git a/js/MainMenu.js b/js/MainMenu.js new file mode 100644 index 00000000..d6f456d5 --- /dev/null +++ b/js/MainMenu.js @@ -0,0 +1,19 @@ +var MainMenu = /** @class */ (function () { + function MainMenu() { + this.displayElement = document.getElementById("display"); + } + MainMenu.prototype.menuStart = function () { + var test = getInput(); + var playingGame = true; + while (playingGame) { + this.displayElement.textContent = "Please enter your name or exit to quit"; + var userInput = getInput(); + if (userInput == "exit") { + playingGame = false; + break; + } + var userProfile = new Profile(userInput); + } + }; + return MainMenu; +}()); diff --git a/js/MainMenu.ts b/js/MainMenu.ts index e69de29b..d6dd1c11 100644 --- a/js/MainMenu.ts +++ b/js/MainMenu.ts @@ -0,0 +1,19 @@ + +class MainMenu{ + displayElement = document.getElementById("display"); + public menuStart(){ + var test: string = getInput(); + var playingGame: boolean = true; + while(playingGame){ + this.displayElement.textContent = "Please enter your name or exit to quit"; + var userInput = getInput(); + if(userInput == "exit"){ + playingGame = false; + break; + } + var userProfile: Profile = new Profile(userInput); + + + } + } +} \ No newline at end of file diff --git a/js/app.js b/js/app.js index cac34f57..99cd449d 100644 --- a/js/app.js +++ b/js/app.js @@ -1,11 +1,12 @@ -document.getElementById("submit_button").addEventListener("click", testFunction); -document.getElementById("display").addEventListener("mouseover", testFunction2); -function testFunction() { +document.getElementById("submit_button").addEventListener("click", getInput); +window.addEventListener("DOMContentLoaded", testFunction2); +function getInput() { var element = document.getElementById("user_input"); - var test = element.value; - document.getElementById("display").textContent = test; + var userInput = element.value; element.value = ""; + return userInput; } function testFunction2() { - document.getElementById("display").innerHTML = "Press the button to start"; + var menu = new MainMenu; + menu.menuStart(); } diff --git a/js/app.ts b/js/app.ts index e4123787..d7749b3d 100644 --- a/js/app.ts +++ b/js/app.ts @@ -1,11 +1,12 @@ -document.getElementById("submit_button").addEventListener("click", testFunction); -document.getElementById("display").addEventListener("mouseover", testFunction2); -function testFunction(){ +document.getElementById("submit_button").addEventListener("click", getInput); +window.addEventListener("DOMContentLoaded", testFunction2); +function getInput(): string{ var element: HTMLInputElement = document.getElementById("user_input"); - var test: string = element.value; - document.getElementById("display").textContent = test; + var userInput: string = element.value; element.value = ""; + return userInput; } function testFunction2(){ - document.getElementById("display").innerHTML = "Press the button to start"; + var menu: MainMenu = new MainMenu; + menu.menuStart(); } \ No newline at end of file From 229182510f199b83392c073b9883ee20cbbd5020 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sun, 25 Mar 2018 12:04:53 -0400 Subject: [PATCH 09/14] Still trying to get input properly. --- js/MainMenu.js | 19 ------------- js/MainMenu.ts | 30 ++++++++++---------- js/Profile.ts | 40 +++++++++++++------------- js/app.js | 77 ++++++++++++++++++++++++++++++++++++++++++-------- js/app.ts | 34 ++++++++++++++-------- 5 files changed, 123 insertions(+), 77 deletions(-) delete mode 100644 js/MainMenu.js diff --git a/js/MainMenu.js b/js/MainMenu.js deleted file mode 100644 index d6f456d5..00000000 --- a/js/MainMenu.js +++ /dev/null @@ -1,19 +0,0 @@ -var MainMenu = /** @class */ (function () { - function MainMenu() { - this.displayElement = document.getElementById("display"); - } - MainMenu.prototype.menuStart = function () { - var test = getInput(); - var playingGame = true; - while (playingGame) { - this.displayElement.textContent = "Please enter your name or exit to quit"; - var userInput = getInput(); - if (userInput == "exit") { - playingGame = false; - break; - } - var userProfile = new Profile(userInput); - } - }; - return MainMenu; -}()); diff --git a/js/MainMenu.ts b/js/MainMenu.ts index d6dd1c11..8183c148 100644 --- a/js/MainMenu.ts +++ b/js/MainMenu.ts @@ -1,19 +1,19 @@ +namespace Casino { + export class MainMenu { + displayElement: HTMLElement = document.getElementById("display"); + submitButton: HTMLElement = document.getElementById("submit_button"); + private userPrfoile: Profile; + + public menuStart() { + this.displayElement.textContent = "Please enter your name"; + this.submitButton.addEventListener("click", this.createProfile); + } -class MainMenu{ - displayElement = document.getElementById("display"); - public menuStart(){ - var test: string = getInput(); - var playingGame: boolean = true; - while(playingGame){ - this.displayElement.textContent = "Please enter your name or exit to quit"; - var userInput = getInput(); - if(userInput == "exit"){ - playingGame = false; - break; - } - var userProfile: Profile = new Profile(userInput); - - + public createProfile(){ + this.displayElement.textContent = "Your name is "; + this.submitButton.removeEventListener("click", this.createProfile); + this.userPrfoile = new Profile(Input.getInput()); + this.displayElement.textContent = "Your name is " + this.userPrfoile.getuserName(); } } } \ No newline at end of file diff --git a/js/Profile.ts b/js/Profile.ts index da8ac4eb..cc801b2f 100644 --- a/js/Profile.ts +++ b/js/Profile.ts @@ -1,25 +1,27 @@ -class Profile{ +namespace Casino { + export class Profile { - private userId: number; - private userName: string; - private balance: number; - - constructor(userName:string){ - this.userId = Math.random() * 1000; - this.userName = userName; - this.balance = 500; - } + private userId: number; + private userName: string; + private balance: number; - public getUserId(): number{ - return this.userId; - } + constructor(userName: string) { + this.userId = Math.random() * 1000; + this.userName = userName; + this.balance = 500; + } - public getuserName(): string{ - return this.userName; - } + public getUserId(): number { + return this.userId; + } - public getBalance(): number{ - return this.balance; - } + public getuserName(): string { + return this.userName; + } + + public getBalance(): number { + return this.balance; + } + } } \ No newline at end of file diff --git a/js/app.js b/js/app.js index 99cd449d..c8b3197d 100644 --- a/js/app.js +++ b/js/app.js @@ -1,12 +1,65 @@ -document.getElementById("submit_button").addEventListener("click", getInput); -window.addEventListener("DOMContentLoaded", testFunction2); -function getInput() { - var element = document.getElementById("user_input"); - var userInput = element.value; - element.value = ""; - return userInput; -} -function testFunction2() { - var menu = new MainMenu; - menu.menuStart(); -} +var Casino; +(function (Casino) { + var Profile = /** @class */ (function () { + function Profile(userName) { + this.userId = Math.random() * 1000; + this.userName = userName; + this.balance = 500; + } + Profile.prototype.getUserId = function () { + return this.userId; + }; + Profile.prototype.getuserName = function () { + return this.userName; + }; + Profile.prototype.getBalance = function () { + return this.balance; + }; + return Profile; + }()); + Casino.Profile = Profile; +})(Casino || (Casino = {})); +var Casino; +(function (Casino) { + var MainMenu = /** @class */ (function () { + function MainMenu() { + this.displayElement = document.getElementById("display"); + this.submitButton = document.getElementById("submit_button"); + } + MainMenu.prototype.menuStart = function () { + this.displayElement.textContent = "Please enter your name"; + Casino.Input.event.addEventListener("click", this.createProfile); + }; + MainMenu.prototype.createProfile = function () { + this.displayElement.textContent = "Your name is "; + this.submitButton.removeEventListener("click", this.createProfile); + this.userPrfoile = new Casino.Profile(Casino.Input.getInput()); + this.displayElement.textContent = "Your name is " + this.userPrfoile.getuserName(); + }; + return MainMenu; + }()); + Casino.MainMenu = MainMenu; +})(Casino || (Casino = {})); +var Casino; +(function (Casino) { + window.addEventListener("DOMContentLoaded", testFunction2); + var Input = /** @class */ (function () { + function Input() { + } + Input.getInputFromBox = function () { + var element = document.getElementById("user_input"); + this.userinput = element.value; + element.value = ""; + }; + Input.getInput = function () { + return this.userinput; + }; + Input.event = document.getElementById("submit_button"); + return Input; + }()); + Casino.Input = Input; + function testFunction2() { + var menu = new Casino.MainMenu; + menu.menuStart(); + } +})(Casino || (Casino = {})); diff --git a/js/app.ts b/js/app.ts index d7749b3d..0e07fad0 100644 --- a/js/app.ts +++ b/js/app.ts @@ -1,12 +1,22 @@ -document.getElementById("submit_button").addEventListener("click", getInput); -window.addEventListener("DOMContentLoaded", testFunction2); -function getInput(): string{ - var element: HTMLInputElement = document.getElementById("user_input"); - var userInput: string = element.value; - element.value = ""; - return userInput; -} - function testFunction2(){ - var menu: MainMenu = new MainMenu; - menu.menuStart(); - } \ No newline at end of file +namespace Casino { + window.addEventListener("DOMContentLoaded", testFunction2); + export class Input { + private static userinput: string; + public static getInputFromBox() { + var element: HTMLInputElement = document.getElementById("user_input"); + this.userinput = element.value; + element.value = ""; + } + + public static getInput():string { + return this.userinput; + } + } + + document.getElementById("submit_button").addEventListener("click", Input.getInputFromBox); + + function testFunction2() { + var menu: MainMenu = new MainMenu; + menu.menuStart(); + } +} \ No newline at end of file From d7ef955351ba95c30152c69c1a9145e0b00832ea Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sun, 25 Mar 2018 13:51:16 -0400 Subject: [PATCH 10/14] User input finally working --- js/MainMenu.ts | 10 ++++------ js/app.js | 14 +++++++------- js/app.ts | 6 +++--- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/js/MainMenu.ts b/js/MainMenu.ts index 8183c148..4b752d71 100644 --- a/js/MainMenu.ts +++ b/js/MainMenu.ts @@ -2,18 +2,16 @@ namespace Casino { export class MainMenu { displayElement: HTMLElement = document.getElementById("display"); submitButton: HTMLElement = document.getElementById("submit_button"); - private userPrfoile: Profile; - + private userProfile: Profile; + public menuStart() { this.displayElement.textContent = "Please enter your name"; - this.submitButton.addEventListener("click", this.createProfile); + this.submitButton.addEventListener("click",(e: Event) => this.createProfile()); } public createProfile(){ - this.displayElement.textContent = "Your name is "; this.submitButton.removeEventListener("click", this.createProfile); - this.userPrfoile = new Profile(Input.getInput()); - this.displayElement.textContent = "Your name is " + this.userPrfoile.getuserName(); + this.userProfile = new Profile(Input.getInput()); } } } \ No newline at end of file diff --git a/js/app.js b/js/app.js index c8b3197d..8b84d985 100644 --- a/js/app.js +++ b/js/app.js @@ -27,14 +27,14 @@ var Casino; this.submitButton = document.getElementById("submit_button"); } MainMenu.prototype.menuStart = function () { + var _this = this; this.displayElement.textContent = "Please enter your name"; - Casino.Input.event.addEventListener("click", this.createProfile); + this.submitButton.addEventListener("click", function (e) { return _this.createProfile(); }); }; MainMenu.prototype.createProfile = function () { - this.displayElement.textContent = "Your name is "; this.submitButton.removeEventListener("click", this.createProfile); - this.userPrfoile = new Casino.Profile(Casino.Input.getInput()); - this.displayElement.textContent = "Your name is " + this.userPrfoile.getuserName(); + this.userProfile = new Casino.Profile(Casino.Input.getInput()); + this.displayElement.textContent = "Your name is " + this.userProfile.getuserName(); }; return MainMenu; }()); @@ -42,7 +42,7 @@ var Casino; })(Casino || (Casino = {})); var Casino; (function (Casino) { - window.addEventListener("DOMContentLoaded", testFunction2); + window.addEventListener("DOMContentLoaded", function (e) { return loadMainMenu(); }); var Input = /** @class */ (function () { function Input() { } @@ -54,11 +54,11 @@ var Casino; Input.getInput = function () { return this.userinput; }; - Input.event = document.getElementById("submit_button"); return Input; }()); Casino.Input = Input; - function testFunction2() { + document.getElementById("submit_button").addEventListener("click", function (e) { return Input.getInputFromBox(); }); + function loadMainMenu() { var menu = new Casino.MainMenu; menu.menuStart(); } diff --git a/js/app.ts b/js/app.ts index 0e07fad0..842adf9d 100644 --- a/js/app.ts +++ b/js/app.ts @@ -1,5 +1,5 @@ namespace Casino { - window.addEventListener("DOMContentLoaded", testFunction2); + window.addEventListener("DOMContentLoaded",(e: Event) => loadMainMenu()); export class Input { private static userinput: string; public static getInputFromBox() { @@ -13,9 +13,9 @@ namespace Casino { } } - document.getElementById("submit_button").addEventListener("click", Input.getInputFromBox); + document.getElementById("submit_button").addEventListener("click",(e: Event) => Input.getInputFromBox()); - function testFunction2() { + function loadMainMenu() { var menu: MainMenu = new MainMenu; menu.menuStart(); } From ef9b2b1730206dec3fbf03b49f5747bd19b35c54 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sun, 25 Mar 2018 15:09:14 -0400 Subject: [PATCH 11/14] Stuff has been done I donno --- js/GameEngine.ts | 12 ++-- js/GameEngineInterface.ts | 10 +-- js/GameInterface.ts | 16 ++--- js/MainMenu.ts | 5 +- js/Player.ts | 32 +++++----- js/PlayerInterface.ts | 10 +-- js/SlotsGame.ts | 11 ++++ js/app.js | 126 +++++++++++++++++++++++--------------- js/app.js.map | 1 + tsconfig.json | 10 +++ 10 files changed, 148 insertions(+), 85 deletions(-) create mode 100644 js/SlotsGame.ts create mode 100644 js/app.js.map create mode 100644 tsconfig.json diff --git a/js/GameEngine.ts b/js/GameEngine.ts index 43ebe64b..97b2beb5 100644 --- a/js/GameEngine.ts +++ b/js/GameEngine.ts @@ -1,7 +1,9 @@ -abstract class GameEngine> -implements GameEngineInterfae { +namespace Casino { + export abstract class GameEngine> + implements GameEngineInterface { - abstract getGame(): GameType - abstract evaluateTurn(player: GameTypePlayer): void - abstract run(): void + abstract getGame(): GameType + abstract evaluateTurn(player: GameTypePlayer): void + abstract run(): void + } } \ No newline at end of file diff --git a/js/GameEngineInterface.ts b/js/GameEngineInterface.ts index 7c090313..fc57516a 100644 --- a/js/GameEngineInterface.ts +++ b/js/GameEngineInterface.ts @@ -1,6 +1,8 @@ -interface GameEngineInterfae>{ +namespace Casino { + export interface GameEngineInterface> { - getGame(): GameType; - evaluateTurn(player: GameTypePlayer): void; - run(): void; + getGame(): GameType; + evaluateTurn(player: GameTypePlayer): void; + run(): void; + } } \ No newline at end of file diff --git a/js/GameInterface.ts b/js/GameInterface.ts index cec4b358..637ec120 100644 --- a/js/GameInterface.ts +++ b/js/GameInterface.ts @@ -1,8 +1,10 @@ -interface GameInterface{ +namespace Casino { + export interface GameInterface { - getPlayers(): T[]; - getPlayer(playerId: number): T; - addPlayer(player: T): void; - removePlayer(player: T): void; - contains(played: T): boolean; -} \ No newline at end of file + getPlayers(): T[]; + getPlayer(playerId: number): T; + addPlayer(player: T): void; + removePlayer(player: T): void; + contains(played: T): boolean; + } +} diff --git a/js/MainMenu.ts b/js/MainMenu.ts index 4b752d71..772323a1 100644 --- a/js/MainMenu.ts +++ b/js/MainMenu.ts @@ -5,13 +5,14 @@ namespace Casino { private userProfile: Profile; public menuStart() { - this.displayElement.textContent = "Please enter your name"; + this.displayElement.innerHTML = "Please enter your name"; this.submitButton.addEventListener("click",(e: Event) => this.createProfile()); } public createProfile(){ - this.submitButton.removeEventListener("click", this.createProfile); + this.submitButton.removeEventListener("click", (e: Event) => this.createProfile()); this.userProfile = new Profile(Input.getInput()); + console.log("hello"); } } } \ No newline at end of file diff --git a/js/Player.ts b/js/Player.ts index 61a2198d..63d2b6c7 100644 --- a/js/Player.ts +++ b/js/Player.ts @@ -1,18 +1,20 @@ -class Player implements PlayerInterface { - - private playerProfile: Profile; - - constructorI(playerProfile: Profile){ - this.playerProfile = playerProfile; - } +namespace Casino { + export class Player implements PlayerInterface { - getProfile(): Profile { - return this.playerProfile; - } - getName(): string { - return this.playerProfile.getuserName(); - } - getId(): number { - return this.playerProfile.getUserId(); + private playerProfile: Profile; + + constructorI(playerProfile: Profile) { + this.playerProfile = playerProfile; + } + + getProfile(): Profile { + return this.playerProfile; + } + getName(): string { + return this.playerProfile.getuserName(); + } + getId(): number { + return this.playerProfile.getUserId(); + } } } \ No newline at end of file diff --git a/js/PlayerInterface.ts b/js/PlayerInterface.ts index ff5a3177..ebf4bf53 100644 --- a/js/PlayerInterface.ts +++ b/js/PlayerInterface.ts @@ -1,6 +1,8 @@ -interface PlayerInterface { +namespace Casino { + export interface PlayerInterface { - getProfile(): Profile - getName(): string - getId(): number + getProfile(): Profile + getName(): string + getId(): number + } } \ No newline at end of file diff --git a/js/SlotsGame.ts b/js/SlotsGame.ts new file mode 100644 index 00000000..ff84d328 --- /dev/null +++ b/js/SlotsGame.ts @@ -0,0 +1,11 @@ +namespace Casino{ + export class SlotsGame{ + private slotWheel1: number[] = [3,2,5,4,6,1]; + private slotwheel2: number[] = [6,3,1,2,5,4]; + private slotwheel3: number[] = [2,5,4,1,6,3]; + + + + + } +} \ No newline at end of file diff --git a/js/app.js b/js/app.js index 8b84d985..f6294701 100644 --- a/js/app.js +++ b/js/app.js @@ -1,65 +1,95 @@ var Casino; (function (Casino) { - var Profile = /** @class */ (function () { - function Profile(userName) { - this.userId = Math.random() * 1000; - this.userName = userName; - this.balance = 500; + window.addEventListener("DOMContentLoaded", (e) => loadMainMenu()); + class Input { + static getInputFromBox() { + var element = document.getElementById("user_input"); + this.userinput = element.value; + element.value = ""; } - Profile.prototype.getUserId = function () { - return this.userId; - }; - Profile.prototype.getuserName = function () { - return this.userName; - }; - Profile.prototype.getBalance = function () { - return this.balance; - }; - return Profile; - }()); - Casino.Profile = Profile; + static getInput() { + return this.userinput; + } + } + Casino.Input = Input; + document.getElementById("submit_button").addEventListener("click", (e) => Input.getInputFromBox()); + function loadMainMenu() { + var menu = new Casino.MainMenu; + menu.menuStart(); + } +})(Casino || (Casino = {})); +var Casino; +(function (Casino) { + class GameEngine { + } + Casino.GameEngine = GameEngine; })(Casino || (Casino = {})); var Casino; (function (Casino) { - var MainMenu = /** @class */ (function () { - function MainMenu() { + class MainMenu { + constructor() { this.displayElement = document.getElementById("display"); this.submitButton = document.getElementById("submit_button"); } - MainMenu.prototype.menuStart = function () { - var _this = this; - this.displayElement.textContent = "Please enter your name"; - this.submitButton.addEventListener("click", function (e) { return _this.createProfile(); }); - }; - MainMenu.prototype.createProfile = function () { - this.submitButton.removeEventListener("click", this.createProfile); + menuStart() { + this.displayElement.innerHTML = "Please enter your name"; + this.submitButton.addEventListener("click", (e) => this.createProfile()); + } + createProfile() { + this.submitButton.removeEventListener("click", (e) => this.createProfile()); this.userProfile = new Casino.Profile(Casino.Input.getInput()); - this.displayElement.textContent = "Your name is " + this.userProfile.getuserName(); - }; - return MainMenu; - }()); + console.log("hello"); + } + } Casino.MainMenu = MainMenu; })(Casino || (Casino = {})); var Casino; (function (Casino) { - window.addEventListener("DOMContentLoaded", function (e) { return loadMainMenu(); }); - var Input = /** @class */ (function () { - function Input() { + class Player { + constructorI(playerProfile) { + this.playerProfile = playerProfile; + } + getProfile() { + return this.playerProfile; + } + getName() { + return this.playerProfile.getuserName(); + } + getId() { + return this.playerProfile.getUserId(); + } + } + Casino.Player = Player; +})(Casino || (Casino = {})); +var Casino; +(function (Casino) { + class Profile { + constructor(userName) { + this.userId = Math.random() * 1000; + this.userName = userName; + this.balance = 500; + } + getUserId() { + return this.userId; + } + getuserName() { + return this.userName; + } + getBalance() { + return this.balance; + } + } + Casino.Profile = Profile; +})(Casino || (Casino = {})); +var Casino; +(function (Casino) { + class SlotsGame { + constructor() { + this.slotWheel1 = [3, 2, 5, 4, 6, 1]; + this.slotwheel2 = [6, 3, 1, 2, 5, 4]; + this.slotwheel3 = [2, 5, 4, 1, 6, 3]; } - Input.getInputFromBox = function () { - var element = document.getElementById("user_input"); - this.userinput = element.value; - element.value = ""; - }; - Input.getInput = function () { - return this.userinput; - }; - return Input; - }()); - Casino.Input = Input; - document.getElementById("submit_button").addEventListener("click", function (e) { return Input.getInputFromBox(); }); - function loadMainMenu() { - var menu = new Casino.MainMenu; - menu.menuStart(); } + Casino.SlotsGame = SlotsGame; })(Casino || (Casino = {})); +//# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/js/app.js.map b/js/app.js.map new file mode 100644 index 00000000..2a45d7a4 --- /dev/null +++ b/js/app.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts","GameEngine.ts","GameEngineInterface.ts","GameInterface.ts","MainMenu.ts","Player.ts","PlayerInterface.ts","Profile.ts","SlotsGame.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..8a6385fb --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compileOnSave": true, + "compilerOptions": { + "target": "es2015", + "noImplicitAny": false, + "sourceMap": true, + "watch": true, + "outFile": "js/app.js", + } +} \ No newline at end of file From ca64eb8e838046a5a69b8272dd16946e931c0548 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sun, 25 Mar 2018 17:35:34 -0400 Subject: [PATCH 12/14] slots mostly working --- js/MainMenu.ts | 21 ++++++++++-- js/SlotsGame.ts | 78 +++++++++++++++++++++++++++++++++++++++++++-- js/app.js | 85 ++++++++++++++++++++++++++++++++++++++++++++++--- js/app.js.map | 2 +- js/app.ts | 2 +- 5 files changed, 177 insertions(+), 11 deletions(-) diff --git a/js/MainMenu.ts b/js/MainMenu.ts index 772323a1..f012425c 100644 --- a/js/MainMenu.ts +++ b/js/MainMenu.ts @@ -4,15 +4,32 @@ namespace Casino { submitButton: HTMLElement = document.getElementById("submit_button"); private userProfile: Profile; + constructor(){ + this.menuStart = this.menuStart.bind(this); + this.createProfile = this.createProfile.bind(this); + this.gamePicker = this.gamePicker.bind(this); + } + public menuStart() { this.displayElement.innerHTML = "Please enter your name"; this.submitButton.addEventListener("click",(e: Event) => this.createProfile()); } - public createProfile(){ + private createProfile(){ + console.log("Create profile"); this.submitButton.removeEventListener("click", (e: Event) => this.createProfile()); this.userProfile = new Profile(Input.getInput()); - console.log("hello"); + this.displayElement.innerHTML += "
Please select a game.
1. Slots"; + this.submitButton.addEventListener("click",(e: Event) => this.gamePicker()); + } + + private gamePicker(){ + this.submitButton.removeEventListener("click",(e: Event) => this.gamePicker()); + console.log("game picker") + if(Input.getInput().toLowerCase() === 'slots'){ + var slotsGame = new SlotsGame(); + slotsGame.startGame(); + } } } } \ No newline at end of file diff --git a/js/SlotsGame.ts b/js/SlotsGame.ts index ff84d328..18769f27 100644 --- a/js/SlotsGame.ts +++ b/js/SlotsGame.ts @@ -1,11 +1,83 @@ namespace Casino{ export class SlotsGame{ + + submitButton: HTMLElement = document.getElementById("submit_button"); + displayElement: HTMLElement = document.getElementById("display"); private slotWheel1: number[] = [3,2,5,4,6,1]; - private slotwheel2: number[] = [6,3,1,2,5,4]; - private slotwheel3: number[] = [2,5,4,1,6,3]; + private slotWheel2: number[] = [6,3,1,2,5,4]; + private slotWheel3: number[] = [2,5,4,1,6,3]; + + constructor(){ + // this.endGameChecker = this.endGameChecker.bind(this); + } + + public startGame(){ + var slotMachine = this.createMultipleWheelOutput(); + this.displaySlotMachine(slotMachine); + this.checkWinners(slotMachine); + // this.displayElement.innerHTML += "
Type exit to quit or anything else to play again." + // this.submitButton.addEventListener("click",(e: Event) => this.endGameChecker()); + } + + // private endGameChecker(){ + // console.log("End game"); + // this.submitButton.removeEventListener("click",(e: Event) => this.endGameChecker()); + // if(Input.getInput().toLowerCase() != 'exit'){ + // this.startGame(); + // } + // } + private createMultipleWheelOutput(): number[][]{ + var slotMachine: number[][] = []; + slotMachine[0] = this.createSingleWheelOutput(this.slotWheel1); + slotMachine[1] = this.createSingleWheelOutput(this.slotWheel2); + slotMachine[2] = this.createSingleWheelOutput(this.slotWheel3); + return slotMachine; + } - + private createSingleWheelOutput(slotWheel: number[]): number[]{ + var newArray: number[] = []; + var position: number = Math.floor(Math.random() * 6); + for(var i = 0; i < 3; i++){ + if(position == 6){ + position = 0; + } + newArray[i] = slotWheel[position]; + position++; + } + return newArray; + } + + private displaySlotMachine(slotMachine: number[][]){ + this.displayElement.innerHTML += "
" + slotMachine[0][0] +" " + slotMachine[1][0] +" "+ slotMachine[2][0]; + this.displayElement.innerHTML += "
" + slotMachine[0][1] +" " + slotMachine[1][1] +" "+ slotMachine[2][1]; + this.displayElement.innerHTML += "
" + slotMachine[0][2] +" " + slotMachine[1][2] +" "+ slotMachine[2][2]; + } + + private checkWinners(slotMachine: number[][]){ + this.checkRowWinners(slotMachine); + this.checkDiagonalWinners(slotMachine); + } + private checkRowWinners(slotMachine: number[][]){ + if(slotMachine[0][0] === slotMachine[1][0] && slotMachine[1][0]=== slotMachine[2][0]){ + this.displayElement.innerHTML += "
You have won on row 1!"; + } + if(slotMachine[0][1] === slotMachine[1][1] && slotMachine[1][1]=== slotMachine[2][1]){ + this.displayElement.innerHTML += "
You have won on row 2!"; + } + if(slotMachine[0][2] === slotMachine[1][2] && slotMachine[1][2]=== slotMachine[2][2]){ + this.displayElement.innerHTML += "
You have won on row 3!"; + } + } + + private checkDiagonalWinners(slotMachine: number[][]){ + if(slotMachine[0][0] === slotMachine[1][1] && slotMachine[1][1]=== slotMachine[2][2]){ + this.displayElement.innerHTML += "
You have won on diagonal down!"; + } + if(slotMachine[0][2] === slotMachine[1][1] && slotMachine[1][1]=== slotMachine[2][0]){ + this.displayElement.innerHTML += "
You have won on diagonal up!"; + } + } } } \ No newline at end of file diff --git a/js/app.js b/js/app.js index f6294701..4bec15f4 100644 --- a/js/app.js +++ b/js/app.js @@ -14,7 +14,7 @@ var Casino; Casino.Input = Input; document.getElementById("submit_button").addEventListener("click", (e) => Input.getInputFromBox()); function loadMainMenu() { - var menu = new Casino.MainMenu; + var menu = new Casino.MainMenu(); menu.menuStart(); } })(Casino || (Casino = {})); @@ -30,15 +30,28 @@ var Casino; constructor() { this.displayElement = document.getElementById("display"); this.submitButton = document.getElementById("submit_button"); + this.menuStart = this.menuStart.bind(this); + this.createProfile = this.createProfile.bind(this); + this.gamePicker = this.gamePicker.bind(this); } menuStart() { this.displayElement.innerHTML = "Please enter your name"; this.submitButton.addEventListener("click", (e) => this.createProfile()); } createProfile() { + console.log("Create profile"); this.submitButton.removeEventListener("click", (e) => this.createProfile()); this.userProfile = new Casino.Profile(Casino.Input.getInput()); - console.log("hello"); + this.displayElement.innerHTML += "
Please select a game.
1. Slots"; + this.submitButton.addEventListener("click", (e) => this.gamePicker()); + } + gamePicker() { + this.submitButton.removeEventListener("click", (e) => this.gamePicker()); + console.log("game picker"); + if (Casino.Input.getInput().toLowerCase() === 'slots') { + var slotsGame = new Casino.SlotsGame(); + slotsGame.startGame(); + } } } Casino.MainMenu = MainMenu; @@ -85,9 +98,73 @@ var Casino; (function (Casino) { class SlotsGame { constructor() { + this.submitButton = document.getElementById("submit_button"); + this.displayElement = document.getElementById("display"); this.slotWheel1 = [3, 2, 5, 4, 6, 1]; - this.slotwheel2 = [6, 3, 1, 2, 5, 4]; - this.slotwheel3 = [2, 5, 4, 1, 6, 3]; + this.slotWheel2 = [6, 3, 1, 2, 5, 4]; + this.slotWheel3 = [2, 5, 4, 1, 6, 3]; + // this.endGameChecker = this.endGameChecker.bind(this); + } + startGame() { + var slotMachine = this.createMultipleWheelOutput(); + this.displaySlotMachine(slotMachine); + this.checkWinners(slotMachine); + // this.displayElement.innerHTML += "
Type exit to quit or anything else to play again." + // this.submitButton.addEventListener("click",(e: Event) => this.endGameChecker()); + } + // private endGameChecker(){ + // console.log("End game"); + // this.submitButton.removeEventListener("click",(e: Event) => this.endGameChecker()); + // if(Input.getInput().toLowerCase() != 'exit'){ + // this.startGame(); + // } + // } + createMultipleWheelOutput() { + var slotMachine = []; + slotMachine[0] = this.createSingleWheelOutput(this.slotWheel1); + slotMachine[1] = this.createSingleWheelOutput(this.slotWheel2); + slotMachine[2] = this.createSingleWheelOutput(this.slotWheel3); + return slotMachine; + } + createSingleWheelOutput(slotWheel) { + var newArray = []; + var position = Math.floor(Math.random() * 6); + for (var i = 0; i < 3; i++) { + if (position == 6) { + position = 0; + } + newArray[i] = slotWheel[position]; + position++; + } + return newArray; + } + displaySlotMachine(slotMachine) { + this.displayElement.innerHTML += "
" + slotMachine[0][0] + " " + slotMachine[1][0] + " " + slotMachine[2][0]; + this.displayElement.innerHTML += "
" + slotMachine[0][1] + " " + slotMachine[1][1] + " " + slotMachine[2][1]; + this.displayElement.innerHTML += "
" + slotMachine[0][2] + " " + slotMachine[1][2] + " " + slotMachine[2][2]; + } + checkWinners(slotMachine) { + this.checkRowWinners(slotMachine); + this.checkDiagonalWinners(slotMachine); + } + checkRowWinners(slotMachine) { + if (slotMachine[0][0] === slotMachine[1][0] && slotMachine[1][0] === slotMachine[2][0]) { + this.displayElement.innerHTML += "
You have won on row 1!"; + } + if (slotMachine[0][1] === slotMachine[1][1] && slotMachine[1][1] === slotMachine[2][1]) { + this.displayElement.innerHTML += "
You have won on row 2!"; + } + if (slotMachine[0][2] === slotMachine[1][2] && slotMachine[1][2] === slotMachine[2][2]) { + this.displayElement.innerHTML += "
You have won on row 3!"; + } + } + checkDiagonalWinners(slotMachine) { + if (slotMachine[0][0] === slotMachine[1][1] && slotMachine[1][1] === slotMachine[2][2]) { + this.displayElement.innerHTML += "
You have won on diagonal down!"; + } + if (slotMachine[0][2] === slotMachine[1][1] && slotMachine[1][1] === slotMachine[2][0]) { + this.displayElement.innerHTML += "
You have won on diagonal up!"; + } } } Casino.SlotsGame = SlotsGame; diff --git a/js/app.js.map b/js/app.js.map index 2a45d7a4..056fc64c 100644 --- a/js/app.js.map +++ b/js/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts","GameEngine.ts","GameEngineInterface.ts","GameInterface.ts","MainMenu.ts","Player.ts","PlayerInterface.ts","Profile.ts","SlotsGame.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts","GameEngine.ts","GameEngineInterface.ts","GameInterface.ts","MainMenu.ts","Player.ts","PlayerInterface.ts","Profile.ts","SlotsGame.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/js/app.ts b/js/app.ts index 842adf9d..158ce87b 100644 --- a/js/app.ts +++ b/js/app.ts @@ -16,7 +16,7 @@ namespace Casino { document.getElementById("submit_button").addEventListener("click",(e: Event) => Input.getInputFromBox()); function loadMainMenu() { - var menu: MainMenu = new MainMenu; + var menu: MainMenu = new MainMenu(); menu.menuStart(); } } \ No newline at end of file From 7ed5b22a81828a40dc6ff24fd1518af3a45d4ee8 Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sun, 25 Mar 2018 19:26:30 -0400 Subject: [PATCH 13/14] Got slots working properly with repeated play. --- js/MainMenu.ts | 9 +++------ js/SlotsGame.ts | 19 +++++++------------ js/app.js | 28 +++++++++++----------------- js/app.js.map | 2 +- 4 files changed, 22 insertions(+), 36 deletions(-) diff --git a/js/MainMenu.ts b/js/MainMenu.ts index f012425c..210d2405 100644 --- a/js/MainMenu.ts +++ b/js/MainMenu.ts @@ -12,20 +12,17 @@ namespace Casino { public menuStart() { this.displayElement.innerHTML = "Please enter your name"; - this.submitButton.addEventListener("click",(e: Event) => this.createProfile()); + this.submitButton.addEventListener("click",(e: Event) => this.createProfile(), {once: true}); } private createProfile(){ - console.log("Create profile"); - this.submitButton.removeEventListener("click", (e: Event) => this.createProfile()); this.userProfile = new Profile(Input.getInput()); + this.displayElement.innerHTML += "
Hello " + this.userProfile.getuserName() +"!"; this.displayElement.innerHTML += "
Please select a game.
1. Slots"; - this.submitButton.addEventListener("click",(e: Event) => this.gamePicker()); + this.submitButton.addEventListener("click",(e: Event) => this.gamePicker(), {once: true}); } private gamePicker(){ - this.submitButton.removeEventListener("click",(e: Event) => this.gamePicker()); - console.log("game picker") if(Input.getInput().toLowerCase() === 'slots'){ var slotsGame = new SlotsGame(); slotsGame.startGame(); diff --git a/js/SlotsGame.ts b/js/SlotsGame.ts index 18769f27..2279b1a8 100644 --- a/js/SlotsGame.ts +++ b/js/SlotsGame.ts @@ -7,25 +7,20 @@ namespace Casino{ private slotWheel2: number[] = [6,3,1,2,5,4]; private slotWheel3: number[] = [2,5,4,1,6,3]; - constructor(){ - // this.endGameChecker = this.endGameChecker.bind(this); - } public startGame(){ var slotMachine = this.createMultipleWheelOutput(); this.displaySlotMachine(slotMachine); this.checkWinners(slotMachine); - // this.displayElement.innerHTML += "
Type exit to quit or anything else to play again." - // this.submitButton.addEventListener("click",(e: Event) => this.endGameChecker()); + this.displayElement.innerHTML += "
Type exit to quit or anything else to play again." + this.submitButton.addEventListener("click",(e: Event) => this.endGameChecker(), {once:true}); } - // private endGameChecker(){ - // console.log("End game"); - // this.submitButton.removeEventListener("click",(e: Event) => this.endGameChecker()); - // if(Input.getInput().toLowerCase() != 'exit'){ - // this.startGame(); - // } - // } + private endGameChecker(){ + if(Input.getInput().toLowerCase() != 'exit'){ + this.startGame(); + } + } private createMultipleWheelOutput(): number[][]{ var slotMachine: number[][] = []; diff --git a/js/app.js b/js/app.js index 4bec15f4..b7d70f64 100644 --- a/js/app.js +++ b/js/app.js @@ -36,18 +36,15 @@ var Casino; } menuStart() { this.displayElement.innerHTML = "Please enter your name"; - this.submitButton.addEventListener("click", (e) => this.createProfile()); + this.submitButton.addEventListener("click", (e) => this.createProfile(), { once: true }); } createProfile() { - console.log("Create profile"); - this.submitButton.removeEventListener("click", (e) => this.createProfile()); this.userProfile = new Casino.Profile(Casino.Input.getInput()); + this.displayElement.innerHTML += "
Hello " + this.userProfile.getuserName() + "!"; this.displayElement.innerHTML += "
Please select a game.
1. Slots"; - this.submitButton.addEventListener("click", (e) => this.gamePicker()); + this.submitButton.addEventListener("click", (e) => this.gamePicker(), { once: true }); } gamePicker() { - this.submitButton.removeEventListener("click", (e) => this.gamePicker()); - console.log("game picker"); if (Casino.Input.getInput().toLowerCase() === 'slots') { var slotsGame = new Casino.SlotsGame(); slotsGame.startGame(); @@ -103,22 +100,19 @@ var Casino; this.slotWheel1 = [3, 2, 5, 4, 6, 1]; this.slotWheel2 = [6, 3, 1, 2, 5, 4]; this.slotWheel3 = [2, 5, 4, 1, 6, 3]; - // this.endGameChecker = this.endGameChecker.bind(this); } startGame() { var slotMachine = this.createMultipleWheelOutput(); this.displaySlotMachine(slotMachine); this.checkWinners(slotMachine); - // this.displayElement.innerHTML += "
Type exit to quit or anything else to play again." - // this.submitButton.addEventListener("click",(e: Event) => this.endGameChecker()); - } - // private endGameChecker(){ - // console.log("End game"); - // this.submitButton.removeEventListener("click",(e: Event) => this.endGameChecker()); - // if(Input.getInput().toLowerCase() != 'exit'){ - // this.startGame(); - // } - // } + this.displayElement.innerHTML += "
Type exit to quit or anything else to play again."; + this.submitButton.addEventListener("click", (e) => this.endGameChecker(), { once: true }); + } + endGameChecker() { + if (Casino.Input.getInput().toLowerCase() != 'exit') { + this.startGame(); + } + } createMultipleWheelOutput() { var slotMachine = []; slotMachine[0] = this.createSingleWheelOutput(this.slotWheel1); diff --git a/js/app.js.map b/js/app.js.map index 056fc64c..80609eaa 100644 --- a/js/app.js.map +++ b/js/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts","GameEngine.ts","GameEngineInterface.ts","GameInterface.ts","MainMenu.ts","Player.ts","PlayerInterface.ts","Profile.ts","SlotsGame.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts","GameEngine.ts","GameEngineInterface.ts","GameInterface.ts","MainMenu.ts","Player.ts","PlayerInterface.ts","Profile.ts","SlotsGame.ts"],"names":[],"mappings":"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"} \ No newline at end of file From ce3661fe134f5c7e88318cc62116dcb27ef8339d Mon Sep 17 00:00:00 2001 From: Anthony Jordan Date: Sun, 25 Mar 2018 19:54:25 -0400 Subject: [PATCH 14/14] Replaced numbers with unicode --- js/SlotsGame.ts | 22 +++++++++++----------- js/app.js | 6 +++--- js/app.js.map | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/js/SlotsGame.ts b/js/SlotsGame.ts index 2279b1a8..f8d2f935 100644 --- a/js/SlotsGame.ts +++ b/js/SlotsGame.ts @@ -3,9 +3,9 @@ namespace Casino{ submitButton: HTMLElement = document.getElementById("submit_button"); displayElement: HTMLElement = document.getElementById("display"); - private slotWheel1: number[] = [3,2,5,4,6,1]; - private slotWheel2: number[] = [6,3,1,2,5,4]; - private slotWheel3: number[] = [2,5,4,1,6,3]; + private slotWheel1: string[] = ["۞","♕","⛄","∞","Ω","⁂"]; + private slotWheel2: string[] = ["Ω","۞","⁂","♕","⛄","∞"]; + private slotWheel3: string[] = ["♕","⛄","∞","⁂","Ω","۞"]; public startGame(){ @@ -22,16 +22,16 @@ namespace Casino{ } } - private createMultipleWheelOutput(): number[][]{ - var slotMachine: number[][] = []; + private createMultipleWheelOutput(): string[][]{ + var slotMachine: string[][] = []; slotMachine[0] = this.createSingleWheelOutput(this.slotWheel1); slotMachine[1] = this.createSingleWheelOutput(this.slotWheel2); slotMachine[2] = this.createSingleWheelOutput(this.slotWheel3); return slotMachine; } - private createSingleWheelOutput(slotWheel: number[]): number[]{ - var newArray: number[] = []; + private createSingleWheelOutput(slotWheel: string[]): string[]{ + var newArray: string[] = []; var position: number = Math.floor(Math.random() * 6); for(var i = 0; i < 3; i++){ if(position == 6){ @@ -43,18 +43,18 @@ namespace Casino{ return newArray; } - private displaySlotMachine(slotMachine: number[][]){ + private displaySlotMachine(slotMachine: string[][]){ this.displayElement.innerHTML += "
" + slotMachine[0][0] +" " + slotMachine[1][0] +" "+ slotMachine[2][0]; this.displayElement.innerHTML += "
" + slotMachine[0][1] +" " + slotMachine[1][1] +" "+ slotMachine[2][1]; this.displayElement.innerHTML += "
" + slotMachine[0][2] +" " + slotMachine[1][2] +" "+ slotMachine[2][2]; } - private checkWinners(slotMachine: number[][]){ + private checkWinners(slotMachine: string[][]){ this.checkRowWinners(slotMachine); this.checkDiagonalWinners(slotMachine); } - private checkRowWinners(slotMachine: number[][]){ + private checkRowWinners(slotMachine: string[][]){ if(slotMachine[0][0] === slotMachine[1][0] && slotMachine[1][0]=== slotMachine[2][0]){ this.displayElement.innerHTML += "
You have won on row 1!"; } @@ -66,7 +66,7 @@ namespace Casino{ } } - private checkDiagonalWinners(slotMachine: number[][]){ + private checkDiagonalWinners(slotMachine: string[][]){ if(slotMachine[0][0] === slotMachine[1][1] && slotMachine[1][1]=== slotMachine[2][2]){ this.displayElement.innerHTML += "
You have won on diagonal down!"; } diff --git a/js/app.js b/js/app.js index b7d70f64..d7acb90f 100644 --- a/js/app.js +++ b/js/app.js @@ -97,9 +97,9 @@ var Casino; constructor() { this.submitButton = document.getElementById("submit_button"); this.displayElement = document.getElementById("display"); - this.slotWheel1 = [3, 2, 5, 4, 6, 1]; - this.slotWheel2 = [6, 3, 1, 2, 5, 4]; - this.slotWheel3 = [2, 5, 4, 1, 6, 3]; + this.slotWheel1 = ["۞", "♕", "⛄", "∞", "Ω", "⁂"]; + this.slotWheel2 = ["Ω", "۞", "⁂", "♕", "⛄", "∞"]; + this.slotWheel3 = ["♕", "⛄", "∞", "⁂", "Ω", "۞"]; } startGame() { var slotMachine = this.createMultipleWheelOutput(); diff --git a/js/app.js.map b/js/app.js.map index 80609eaa..548da3f1 100644 --- a/js/app.js.map +++ b/js/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts","GameEngine.ts","GameEngineInterface.ts","GameInterface.ts","MainMenu.ts","Player.ts","PlayerInterface.ts","Profile.ts","SlotsGame.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"app.js","sourceRoot":"","sources":["app.ts","GameEngine.ts","GameEngineInterface.ts","GameInterface.ts","MainMenu.ts","Player.ts","PlayerInterface.ts","Profile.ts","SlotsGame.ts"],"names":[],"mappings":"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"} \ No newline at end of file