diff --git a/CasinoType/Blackjack.ts b/CasinoType/Blackjack.ts new file mode 100644 index 00000000..e110ce22 --- /dev/null +++ b/CasinoType/Blackjack.ts @@ -0,0 +1,4 @@ +class Blackjack { + + +} \ No newline at end of file diff --git a/CasinoType/Card.ts b/CasinoType/Card.ts new file mode 100644 index 00000000..ca4d14c1 --- /dev/null +++ b/CasinoType/Card.ts @@ -0,0 +1,19 @@ +class Card { + +private rank: CardValue; +private suit: CardSuit; + +constructor(rank: CardValue, suit: CardSuit) { + this.rank = rank; + this.suit = suit; + +} + +toString(): string { + + return CardValue[this.rank] + " of " + CardSuit[this.suit]; +} + + + +} \ No newline at end of file diff --git a/CasinoType/CardSuit.ts b/CasinoType/CardSuit.ts new file mode 100644 index 00000000..9b5844b4 --- /dev/null +++ b/CasinoType/CardSuit.ts @@ -0,0 +1,8 @@ +enum CardSuit { + Clubs, + Diamonds, + Hearts, + Spades + + +} \ No newline at end of file diff --git a/CasinoType/CardValue.ts b/CasinoType/CardValue.ts new file mode 100644 index 00000000..69c47597 --- /dev/null +++ b/CasinoType/CardValue.ts @@ -0,0 +1,19 @@ +enum CardValue { + Two = 2, + Three = 3, + Four = 4, + Five = 5, + Six = 6, + Seven = 7, + Eight = 8, + Nine = 9, + Ten = 10, + Jack = 10, + Queen = 10, + King = 10, + Ace = 11 + +} + + + diff --git a/CasinoType/Casino.ts b/CasinoType/Casino.ts new file mode 100644 index 00000000..3a6071d5 --- /dev/null +++ b/CasinoType/Casino.ts @@ -0,0 +1,31 @@ +class Casino { + + + + constructor(){ + this.chooseGame = this.chooseGame.bind(this); + + } + + + start() { + UI.display("Thank you for coming to my Blackjack Casino") + UI.display("What game would you like to play? Blackjack, Blackjack, Blackjack or Blackjack"); + UI.button.addEventListener("click", this.chooseGame); + } + + chooseGame(): void { + UI.button.removeEventListener("click", this.chooseGame); + if (UI.lastInput === "Blackjack") { + + // Blackjack.start(); + + } else { + UI.button.addEventListener("click", this.chooseGame); + } + + } + + + +} \ No newline at end of file diff --git a/CasinoType/Dealer.ts b/CasinoType/Dealer.ts new file mode 100644 index 00000000..aa23173d --- /dev/null +++ b/CasinoType/Dealer.ts @@ -0,0 +1,7 @@ +class Dealer { + + //TheDeck = new deck needed + + + +} \ No newline at end of file diff --git a/CasinoType/DeckOfCards.ts b/CasinoType/DeckOfCards.ts new file mode 100644 index 00000000..5232926f --- /dev/null +++ b/CasinoType/DeckOfCards.ts @@ -0,0 +1,42 @@ +class DeckOfCards { + +private newDeck: Card[] = []; +//private inPlayDeck: Card[] = []; + +suits:CardSuit[] = [CardSuit.Spades, CardSuit.Clubs, CardSuit.Diamonds, CardSuit.Hearts]; +ranks:CardValue[] = [CardValue.Ace, CardValue.Two, CardValue.Three, CardValue.Four, CardValue.Five, + CardValue.Six, CardValue.Seven, CardValue.Eight, CardValue.Nine, CardValue.Ten, + CardValue.Jack, CardValue.Queen, CardValue.King]; + + deck:Card[] = []; + constructor(){ + + this.suits.forEach((suit) => + this.ranks.forEach((rank) => + this.deck.push(new Card(rank, suit)))); + + } + + shuffle(): void { + for (let i = this.deck.length - 1; i > 0; i--) { + let j = Math.floor(Math.random() * (i + 1)); + let swap = this.deck[i]; + this.deck[i] = this.deck[j]; + this.deck[j] = swap; + } + + } + + + toString(): string { + return this.deck.join("\n") + } + +} + + + + + + + diff --git a/CasinoType/Gamble.ts b/CasinoType/Gamble.ts new file mode 100644 index 00000000..a4c44f36 --- /dev/null +++ b/CasinoType/Gamble.ts @@ -0,0 +1,4 @@ +interface Gamble { + + +} \ No newline at end of file diff --git a/CasinoType/GameEngine.ts b/CasinoType/GameEngine.ts new file mode 100644 index 00000000..83822b45 --- /dev/null +++ b/CasinoType/GameEngine.ts @@ -0,0 +1,3 @@ +class GambleEngine { + +} \ No newline at end of file diff --git a/CasinoType/GameEngineInterface.ts b/CasinoType/GameEngineInterface.ts new file mode 100644 index 00000000..3e7755c8 --- /dev/null +++ b/CasinoType/GameEngineInterface.ts @@ -0,0 +1,4 @@ +interface GameEngineInterface { + + +} \ No newline at end of file diff --git a/CasinoType/GameInterface.ts b/CasinoType/GameInterface.ts new file mode 100644 index 00000000..faff23a2 --- /dev/null +++ b/CasinoType/GameInterface.ts @@ -0,0 +1,7 @@ +interface GameInterface { + + + + + +} \ No newline at end of file diff --git a/CasinoType/MainApp.ts b/CasinoType/MainApp.ts new file mode 100644 index 00000000..45c8123e --- /dev/null +++ b/CasinoType/MainApp.ts @@ -0,0 +1,11 @@ +class MainApp { + +constructor() { + let casino = new Casino(); + casino.start(); +} + + + + +} \ No newline at end of file diff --git a/CasinoType/PitBoss.ts b/CasinoType/PitBoss.ts new file mode 100644 index 00000000..d1dc03e8 --- /dev/null +++ b/CasinoType/PitBoss.ts @@ -0,0 +1,3 @@ +class PitBoss { + +} \ No newline at end of file diff --git a/CasinoType/Player.ts b/CasinoType/Player.ts new file mode 100644 index 00000000..2dafa114 --- /dev/null +++ b/CasinoType/Player.ts @@ -0,0 +1,23 @@ +class Player implements PlayerInterface { + + + private playerProfile: Profile; + private hand: Card[]; + + constructor(aProfile: Profile) { + this.playerProfile = aProfile; + } + + + + getProfile() : Profile { + return this.playerProfile; + } + getName() : string { + return this.playerProfile.getName; + } + getId() : number { + return this.playerProfile.getId; + } + +} \ No newline at end of file diff --git a/CasinoType/PlayerInterface.ts b/CasinoType/PlayerInterface.ts new file mode 100644 index 00000000..cb0c9801 --- /dev/null +++ b/CasinoType/PlayerInterface.ts @@ -0,0 +1,8 @@ +interface PlayerInterface { + + getProfile() : Profile; + getName() :string; + getId() : number; + + +} \ No newline at end of file diff --git a/CasinoType/Profile.ts b/CasinoType/Profile.ts new file mode 100644 index 00000000..134a3840 --- /dev/null +++ b/CasinoType/Profile.ts @@ -0,0 +1,43 @@ +class Profile { + +private id: number; +private name: string; +private balance: number; + +public casinoProfiles:Profile[]; + +constructor(id: number, name: string, balance: number) { + this.id = id; + this.name =name; + this.balance = balance; +} + +set setId(id: number) { + this.id = id; +} + +set setName(name: string) { + this.name = name; +} + +set setBalance(balance: number) { + this.balance = balance; +} + +get getName() { + return this.name; +} + +get getId() { + return this.id; +} + +get getBalance() { + return this.balance; +} + +addPlayer(aplayer:Profile) : void { + this.casinoProfiles.push(aplayer); +} + +} \ No newline at end of file diff --git a/CasinoType/UI.ts b/CasinoType/UI.ts new file mode 100644 index 00000000..ce26b5f6 --- /dev/null +++ b/CasinoType/UI.ts @@ -0,0 +1,29 @@ +class UI { + static userInput = document.getElementById("user_input"); + static window = document.getElementById('display'); + static button = document.getElementById('submit'); + static _lastInput: any; + private static _instance: UI; + + private constructor() { + UI.button.addEventListener("click", (e: Event) => { UI._lastInput = UI.userInput.value }); + UI.button.addEventListener("click", (e: Event) => { UI.userInput.value = '' }); + } + + static display(input: string): void { + this.window.innerText += input + '\n'; + } + + static clearScreen(): void { + this.window.innerText = ''; + } + + public static get Instance(): UI { + return this._instance || (this._instance = new UI()); + } + + public static get lastInput(): any { + return this._lastInput; + } + +} \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 00000000..d81c36ea --- /dev/null +++ b/app.js @@ -0,0 +1,152 @@ +class Blackjack { +} +class Card { + constructor(rank, suit) { + this.rank = rank; + this.suit = suit; + } + toString() { + return CardValue[this.rank] + " of " + CardSuit[this.suit]; + } +} +var CardSuit; +(function (CardSuit) { + CardSuit[CardSuit["Clubs"] = 0] = "Clubs"; + CardSuit[CardSuit["Diamonds"] = 1] = "Diamonds"; + CardSuit[CardSuit["Hearts"] = 2] = "Hearts"; + CardSuit[CardSuit["Spades"] = 3] = "Spades"; +})(CardSuit || (CardSuit = {})); +var CardValue; +(function (CardValue) { + CardValue[CardValue["Two"] = 2] = "Two"; + CardValue[CardValue["Three"] = 3] = "Three"; + CardValue[CardValue["Four"] = 4] = "Four"; + CardValue[CardValue["Five"] = 5] = "Five"; + CardValue[CardValue["Six"] = 6] = "Six"; + CardValue[CardValue["Seven"] = 7] = "Seven"; + CardValue[CardValue["Eight"] = 8] = "Eight"; + CardValue[CardValue["Nine"] = 9] = "Nine"; + CardValue[CardValue["Ten"] = 10] = "Ten"; + CardValue[CardValue["Jack"] = 10] = "Jack"; + CardValue[CardValue["Queen"] = 10] = "Queen"; + CardValue[CardValue["King"] = 10] = "King"; + CardValue[CardValue["Ace"] = 11] = "Ace"; +})(CardValue || (CardValue = {})); +class Casino { + constructor() { + this.chooseGame = this.chooseGame.bind(this); + } + start() { + UI.display("Thank you for coming to my Blackjack Casino"); + UI.display("What game would you like to play? Blackjack, Blackjack, Blackjack or Blackjack"); + UI.button.addEventListener("click", this.chooseGame); + } + chooseGame() { + UI.button.removeEventListener("click", this.chooseGame); + if (UI.lastInput === "Blackjack") { + // Blackjack.start(); + } + else { + UI.button.addEventListener("click", this.chooseGame); + } + } +} +class Dealer { +} +class DeckOfCards { + constructor() { + this.newDeck = []; + //private inPlayDeck: Card[] = []; + this.suits = [CardSuit.Spades, CardSuit.Clubs, CardSuit.Diamonds, CardSuit.Hearts]; + this.ranks = [CardValue.Ace, CardValue.Two, CardValue.Three, CardValue.Four, CardValue.Five, + CardValue.Six, CardValue.Seven, CardValue.Eight, CardValue.Nine, CardValue.Ten, + CardValue.Jack, CardValue.Queen, CardValue.King]; + this.deck = []; + this.suits.forEach((suit) => this.ranks.forEach((rank) => this.deck.push(new Card(rank, suit)))); + } + shuffle() { + for (let i = this.deck.length - 1; i > 0; i--) { + let j = Math.floor(Math.random() * (i + 1)); + let swap = this.deck[i]; + this.deck[i] = this.deck[j]; + this.deck[j] = swap; + } + } + toString() { + return this.deck.join("\n"); + } +} +class GambleEngine { +} +class MainApp { + constructor() { + let casino = new Casino(); + casino.start(); + } +} +class PitBoss { +} +class Player { + constructor(aProfile) { + this.playerProfile = aProfile; + } + getProfile() { + return this.playerProfile; + } + getName() { + return this.playerProfile.getName; + } + getId() { + return this.playerProfile.getId; + } +} +class Profile { + constructor(id, name, balance) { + this.id = id; + this.name = name; + this.balance = balance; + } + set setId(id) { + this.id = id; + } + set setName(name) { + this.name = name; + } + set setBalance(balance) { + this.balance = balance; + } + get getName() { + return this.name; + } + get getId() { + return this.id; + } + get getBalance() { + return this.balance; + } + addPlayer(aplayer) { + this.casinoProfiles.push(aplayer); + } +} +class UI { + constructor() { + UI.button.addEventListener("click", (e) => { UI._lastInput = UI.userInput.value; }); + UI.button.addEventListener("click", (e) => { UI.userInput.value = ''; }); + } + static display(input) { + this.window.innerText += input + '\n'; + } + static clearScreen() { + this.window.innerText = ''; + } + static get Instance() { + return this._instance || (this._instance = new UI()); + } + static get lastInput() { + return this._lastInput; + } +} +UI.userInput = document.getElementById("user_input"); +UI.window = document.getElementById('display'); +UI.button = document.getElementById('submit'); +//# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/app.js.map b/app.js.map new file mode 100644 index 00000000..92e72f83 --- /dev/null +++ b/app.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.js","sourceRoot":"","sources":["CasinoType/Blackjack.ts","CasinoType/Card.ts","CasinoType/CardSuit.ts","CasinoType/CardValue.ts","CasinoType/Casino.ts","CasinoType/Dealer.ts","CasinoType/DeckOfCards.ts","CasinoType/Gamble.ts","CasinoType/GameEngine.ts","CasinoType/GameEngineInterface.ts","CasinoType/GameInterface.ts","CasinoType/MainApp.ts","CasinoType/PitBoss.ts","CasinoType/Player.ts","CasinoType/PlayerInterface.ts","CasinoType/Profile.ts","CasinoType/UI.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/index.html b/index.html index d2c3c254..cf919a3f 100644 --- a/index.html +++ b/index.html @@ -16,7 +16,7 @@ -

TypeScript Casino

+

Dan's Blackjack Casino

diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..07c88e20 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compileOnSave": true, + "compilerOptions": { + "target": "es6", + "noImplicitAny": false, + "sourceMap": true, + "watch": true, + "out": "app.js", + "module": "commonjs" + } +}