Blackjack ledger works

This commit is contained in:
2023-06-09 20:51:57 +10:00
parent 95ff2e7e46
commit e8c1fbb73b
8 changed files with 22 additions and 14 deletions

View File

@@ -98,11 +98,10 @@ async def discordOutput(interaction: discord.Interaction, message):
@tree.command(description="Find your Balance") @tree.command(description="Find your Balance")
async def bal(interaction: discord.Interaction): async def bal(interaction: discord.Interaction):
conn = sqlite3.connect("ledger.db")
cur = conn.cursor()
ID = interaction.user.id ID = interaction.user.id
data = cur.execute("SELECT * FROM ledger WHERE USERID = ?", (ID,)) data = blackJack.ledger.read(ID)
await interaction.response.send_message(data) data = list(data)
await interaction.response.send_message(f"Wins:{data[2]}, Losses:{data[3]}. ${data[1]}")
""" """
#### Calculator #### #### Calculator ####

View File

@@ -139,7 +139,7 @@ class BlackJack:
playerStats = self.ledger.read(ID) playerStats = self.ledger.read(ID)
if playerStats is None: if playerStats is None:
self.ledger.write(ID) self.ledger.write(ID)
playerStats = self.ledger.read playerStats = self.ledger.read(ID)
self.deal() self.deal()
while not gameOver: while not gameOver:
@@ -190,19 +190,19 @@ class BlackJack:
if playerWinState == "w": if playerWinState == "w":
await send("You won!") await send("You won!")
win = (2*bet, 1, 0, ID) win = (2*bet, 1, 0, ID)
# self.ledger.updateLedger(playerStats, win) self.ledger.update(ID, win)
elif playerWinState == "l": elif playerWinState == "l":
await send("You busted!") await send("You busted!")
loss = (-bet, 0, 1, ID) loss = (-bet, 0, 1, ID)
# self.ledger.updateLedger(playerStats, loss) self.ledger.update(ID, loss)
elif dealerWinState == "w": elif dealerWinState == "w":
await send("The Dealer reached 21 before you!") await send("The Dealer reached 21 before you!")
loss = (-bet, 0, 1, ID) loss = (-bet, 0, 1, ID)
# self.ledger.updateLedger(playerStats, loss) self.ledger.update(ID, loss)
elif dealerWinState == "l": elif dealerWinState == "l":
await send("The Dealer busted before you!") await send("The Dealer busted before you!")
win = (2*bet, 1, 0, ID) win = (2*bet, 1, 0, ID)
# self.ledger.updateLedger(playerStats, win) self.ledger.update(ID, win)
self.returnCards() self.returnCards()
if len(self.deck) < 0.25 * 52: if len(self.deck) < 0.25 * 52:

View File

@@ -36,6 +36,7 @@ class Calculator(discord.ui.View):
self.inputOne = 0 self.inputOne = 0
self.inputTwo = None self.inputTwo = None
self.output = None self.output = None
self.clearRequirement = 0
def display(self): def display(self):
inputOneLength = self.numDigits(self.inputOne) inputOneLength = self.numDigits(self.inputOne)
@@ -129,6 +130,12 @@ class Calculator(discord.ui.View):
@discord.ui.button(label="=", style=discord.ButtonStyle.green, row=4) @discord.ui.button(label="=", style=discord.ButtonStyle.green, row=4)
async def equals(self, interaction: discord.Interaction, button: discord.ui.Button): async def equals(self, interaction: discord.Interaction, button: discord.ui.Button):
if self.inputTwo is None:
await interaction.response.edit_message(
content="ERROR",
view=self)
if self.clearRequirement: if self.clearRequirement:
self.clear() self.clear()
else: else:

View File

@@ -14,8 +14,9 @@ class Database():
self.data.execute(insertQuery, (ID,)) self.data.execute(insertQuery, (ID,))
self.db.commit() self.db.commit()
def update(self, data, newData, updateQuery): def update(self, ID, data, newData, updateQuery):
data = [data[i] + newData[i] for i in range(len(data))] data = [data[i] + newData[i] for i in range(len(data))]
data.append(ID)
self.data.execute(updateQuery, data) self.data.execute(updateQuery, data)
class Ledger(Database): class Ledger(Database):
@@ -37,15 +38,16 @@ class Ledger(Database):
def write(self, ID): def write(self, ID):
insertQuery = """ INSERT INTO ledger(USERID) insertQuery = """ INSERT INTO ledger(USERID)
VALUES(?) """ VALUES(?) """
super().read(ID, insertQuery) super().write(ID, insertQuery)
def update(self, data, newData): def update(self, ID, newData):
query = """ UPDATE ledger query = """ UPDATE ledger
SET MONEY = ?, SET MONEY = ?,
WINS = ?, WINS = ?,
LOSSES = ?, LOSSES = ?
WHERE USERID = ?""" WHERE USERID = ?"""
super().update(data, newData, query) data = list(self.read(ID))[1:]
super().update(ID, data, newData, query)
def main(): def main():
pass pass

Binary file not shown.

BIN
ledger.db

Binary file not shown.

BIN
ledger.db-journal Normal file

Binary file not shown.