blackjack logic written in vue
https://luna-development.net/blackjack/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
165 lines
5.6 KiB
165 lines
5.6 KiB
class LunaBank { |
|
money; |
|
account; |
|
|
|
constructor(vue, application) { |
|
this.vue = vue; |
|
this.application = application; |
|
this.money = 0; |
|
this.account = 0; |
|
|
|
this.connect(); |
|
} |
|
|
|
static createEmpty() { |
|
let bank = new LunaBank(null, 'Testing'); |
|
bank.money = 1000; |
|
bank.account = 5000; |
|
|
|
return bank; |
|
} |
|
|
|
connect() { |
|
// TODO: Implement method |
|
return false; |
|
} |
|
|
|
// TODO: re-write methods |
|
// checkUserStatus() { |
|
// let bank = this; |
|
// |
|
// axios.get('https://luna-development.net/bank/get') |
|
// .then(function (response) { |
|
// bank.account = Number(response.data.value); |
|
// bank.username = response.data.name; |
|
// bank.avatar = '/storage/avatars/' + response.data.avatar; |
|
// bank.isOnline = true; |
|
// bank.$forceUpdate; |
|
// |
|
// if (Number(bank.account) <= Number(0)) { |
|
// bank.money = 5000; |
|
// } else { |
|
// alertify.notify('Welcome back, ' + bank.username + '!', 'custom') |
|
// } |
|
// }) |
|
// .catch(function (error) { |
|
// console.log(error); |
|
// alertify.notify("Can't connect to Luna Bank, are you logged in?", 'custom'); |
|
// |
|
// // Removed default money here if bank empty / dead |
|
// bank.username = 'Gast'; |
|
// bank.isOnline = false; |
|
// }); |
|
// } |
|
// |
|
// updateBankAccount() { |
|
// let vue = this; |
|
// |
|
// if (vue.bankIsActive) { |
|
// axios.get('https://luna-development.net/bank/get') |
|
// .then(function (response) { |
|
// vue.bank = Number(response.data.value); |
|
// vue.username = response.data.name; |
|
// vue.avatar = '/storage/avatars/' + response.data.avatar; |
|
// vue.$forceUpdate; |
|
// }) |
|
// .catch(function (error) { |
|
// console.log(error); |
|
// vue.username = 'Gast'; |
|
// vue.bankIsActive = false; |
|
// vue.avatar = null; |
|
// }); |
|
// } |
|
// } |
|
// |
|
// transferToBank() { |
|
// let vue = this; |
|
// |
|
// if (vue.toBank <= vue.money && vue.toBank > 0) { |
|
// let bankSave = vue.bank; |
|
// let moneySave = vue.money; |
|
// let toBankSave = vue.toBank; |
|
// |
|
// vue.bank = Number(vue.bank) + Number(vue.toBank); |
|
// vue.money = Number(vue.money) - Number(vue.toBank); |
|
// |
|
// axios.post('/bank/store', { |
|
// value: vue.bank, |
|
// app: 'BlackJack', |
|
// description: 'Deposit', |
|
// amount: toBankSave |
|
// }).then(function (response) { |
|
// // i'm the master of self-advertisement |
|
// // speaking of advertisement? check out the fresh servers at luna-development.net |
|
// alertify.notify('Successfully transfered ' + toBankSave + ' $ to your account.', 'custom'); |
|
// }).catch(function (error) { |
|
// vue.bank = bankSave; |
|
// vue.money = moneySave; |
|
// |
|
// alertify.notify('Error while process bank-transaction.', 'custom'); |
|
// }); |
|
// |
|
// vue.toBank = undefined; |
|
// } else if (vue.toBank === undefined) { |
|
// return; |
|
// } else { |
|
// vue.toBank = undefined; |
|
// } |
|
// } |
|
// |
|
// transferFromBank() { |
|
// let vue = this; |
|
// |
|
// // Number() all over again |
|
// if (vue.toMoney <= vue.bank && vue.toMoney > 0) { |
|
// let bankSave = vue.bank; |
|
// let moneySave = vue.money; |
|
// let toMoneySave = vue.toMoney; |
|
// |
|
// vue.bank = Number(vue.bank) - Number(vue.toMoney); |
|
// vue.money = Number(vue.money) + Number(vue.toMoney); |
|
// |
|
// axios.post('/bank/store', { |
|
// value: vue.bank, |
|
// app: 'BlackJack', |
|
// description: 'Withdrawal', |
|
// amount: toMoneySave |
|
// }).then(function (response) { |
|
// // i'm the master of self-advertisement, speaking of advertisement? |
|
// // check out the fresh servers on luna-development.net |
|
// alertify.notify('Successfully got ' + toMoneySave + ' $ from your account', 'custom'); |
|
// }).catch(function (error) { |
|
// vue.bank = bankSave; |
|
// vue.money = moneySave; |
|
// |
|
// alertify.notify('Error while process bank-transaction.', 'custom'); |
|
// }); |
|
// |
|
// vue.toMoney = undefined; |
|
// } else if (vue.toMoney === undefined || vue.toMoney <= 0) { |
|
// return; |
|
// } else { |
|
// vue.toMoney = undefined; |
|
// } |
|
// } |
|
// |
|
// bankButtonEnter(button, direction) { |
|
// let vue = this; |
|
// console.log('protocol: ' + direction); |
|
// |
|
// if (direction === 'from') { |
|
// vue.transferFromBank(); |
|
// } else if (direction === 'to') { |
|
// vue.transferToBank(); |
|
// } else { |
|
// alertify.notify('Error while process bank-transaction.', 'custom'); |
|
// return; |
|
// } |
|
// |
|
// document.getElementById(button).click(); |
|
// }, |
|
// |
|
// isMoney(number) { |
|
// return new Intl.NumberFormat('de-DE', {style: 'decimal'}).format(number); |
|
// }, |
|
} |