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/GameEngine.ts b/js/GameEngine.ts
new file mode 100644
index 00000000..97b2beb5
--- /dev/null
+++ b/js/GameEngine.ts
@@ -0,0 +1,9 @@
+namespace Casino {
+ export abstract class GameEngine>
+ implements GameEngineInterface {
+
+ 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
new file mode 100644
index 00000000..fc57516a
--- /dev/null
+++ b/js/GameEngineInterface.ts
@@ -0,0 +1,8 @@
+namespace Casino {
+ export interface GameEngineInterface> {
+
+ getGame(): GameType;
+ evaluateTurn(player: GameTypePlayer): void;
+ run(): void;
+ }
+}
\ No newline at end of file
diff --git a/js/GameInterface.ts b/js/GameInterface.ts
new file mode 100644
index 00000000..637ec120
--- /dev/null
+++ b/js/GameInterface.ts
@@ -0,0 +1,10 @@
+namespace Casino {
+ export interface GameInterface {
+
+ 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
new file mode 100644
index 00000000..210d2405
--- /dev/null
+++ b/js/MainMenu.ts
@@ -0,0 +1,32 @@
+namespace Casino {
+ export class MainMenu {
+ displayElement: HTMLElement = document.getElementById("display");
+ 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(), {once: true});
+ }
+
+ private 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(), {once: true});
+ }
+
+ private gamePicker(){
+ if(Input.getInput().toLowerCase() === 'slots'){
+ var slotsGame = new SlotsGame();
+ slotsGame.startGame();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/js/Player.ts b/js/Player.ts
new file mode 100644
index 00000000..63d2b6c7
--- /dev/null
+++ b/js/Player.ts
@@ -0,0 +1,20 @@
+namespace Casino {
+ export class Player implements PlayerInterface {
+
+ 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
new file mode 100644
index 00000000..ebf4bf53
--- /dev/null
+++ b/js/PlayerInterface.ts
@@ -0,0 +1,8 @@
+namespace Casino {
+ export 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..cc801b2f
--- /dev/null
+++ b/js/Profile.ts
@@ -0,0 +1,27 @@
+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;
+ }
+
+ public getUserId(): number {
+ return this.userId;
+ }
+
+ public getuserName(): string {
+ return this.userName;
+ }
+
+ public getBalance(): number {
+ return this.balance;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/js/SlotsGame.ts b/js/SlotsGame.ts
new file mode 100644
index 00000000..f8d2f935
--- /dev/null
+++ b/js/SlotsGame.ts
@@ -0,0 +1,78 @@
+namespace Casino{
+ export class SlotsGame{
+
+ submitButton: HTMLElement = document.getElementById("submit_button");
+ displayElement: HTMLElement = document.getElementById("display");
+ private slotWheel1: string[] = ["۞","♕","⛄","∞","Ω","⁂"];
+ private slotWheel2: string[] = ["Ω","۞","⁂","♕","⛄","∞"];
+ private slotWheel3: string[] = ["♕","⛄","∞","⁂","Ω","۞"];
+
+
+ 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(), {once:true});
+ }
+
+ private endGameChecker(){
+ if(Input.getInput().toLowerCase() != 'exit'){
+ this.startGame();
+ }
+ }
+
+ 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: string[]): string[]{
+ var newArray: string[] = [];
+ 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: 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: string[][]){
+ this.checkRowWinners(slotMachine);
+ this.checkDiagonalWinners(slotMachine);
+ }
+
+ 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!";
+ }
+ 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: string[][]){
+ 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
new file mode 100644
index 00000000..d7acb90f
--- /dev/null
+++ b/js/app.js
@@ -0,0 +1,166 @@
+var Casino;
+(function (Casino) {
+ window.addEventListener("DOMContentLoaded", (e) => loadMainMenu());
+ class Input {
+ static getInputFromBox() {
+ var element = document.getElementById("user_input");
+ this.userinput = element.value;
+ element.value = "";
+ }
+ 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) {
+ class MainMenu {
+ 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(), { once: true });
+ }
+ 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(), { once: true });
+ }
+ gamePicker() {
+ if (Casino.Input.getInput().toLowerCase() === 'slots') {
+ var slotsGame = new Casino.SlotsGame();
+ slotsGame.startGame();
+ }
+ }
+ }
+ Casino.MainMenu = MainMenu;
+})(Casino || (Casino = {}));
+var Casino;
+(function (Casino) {
+ 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.submitButton = document.getElementById("submit_button");
+ this.displayElement = document.getElementById("display");
+ this.slotWheel1 = ["۞", "♕", "⛄", "∞", "Ω", "⁂"];
+ this.slotWheel2 = ["Ω", "۞", "⁂", "♕", "⛄", "∞"];
+ this.slotWheel3 = ["♕", "⛄", "∞", "⁂", "Ω", "۞"];
+ }
+ 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) => this.endGameChecker(), { once: true });
+ }
+ endGameChecker() {
+ if (Casino.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;
+})(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..548da3f1
--- /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/js/app.ts b/js/app.ts
new file mode 100644
index 00000000..158ce87b
--- /dev/null
+++ b/js/app.ts
@@ -0,0 +1,22 @@
+namespace Casino {
+ window.addEventListener("DOMContentLoaded",(e: Event) => loadMainMenu());
+ 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",(e: Event) => Input.getInputFromBox());
+
+ function loadMainMenu() {
+ var menu: MainMenu = new MainMenu();
+ menu.menuStart();
+ }
+}
\ 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