没钱就跟别人要钱,别人的钱就是我的钱,但我的钱还是我的钱

乞讨功能

  • 写个乞讨的功能......
# cogs/money.py
@commands.command()
async def beg(self, ctx):
    pass
  • 一样,老步骤,不过最後要微改
await open_account(ctx.author)
    
users = await get_bank_data()
user = ctx.author
  • 乞讨来的钱一律随机
earnings = random.randrange(101)
  • 加上
await ctx.send(f"某人给了你 {earnings} 块钱!!")
  • 之後在json档里动手脚
users[str(user.id)]["wallet"] += earnings
  • 这样就可以写入json档里了
with open("bank.json", "w") as f:
    json.dump(users, f)

在进入下个部分前......

  • 我们需要先撰写将data复写过的函式
async def update_bank(user, change = 0, mode = "wallet"):
    pass
  • 查看钱包
users = await get_bank_data()
users[str(user.id)][mode] += change

with open("bank.json", "w") as f:
    json.dump(users, f)
  • 将money的值还回去(钱包里的钱)
money = [users[str(user.id)]["wallet"], users[str(user.id)]["bank"]]    
return money

大赌怡情,小赌伤身,强赌......

  • 赌博不可少 (???
import asyncio

@commands.command()
async def slots(self, ctx, amount = None, mang = None):
    pass
  • 一样,先处理好倍率跟赌注
await open_account(ctx.author)
if mang == None:
    await ctx.send("请输入倍率")
    return 
bal = await update_bank(ctx.author)
amount = int(amount)
mang = int(mang)
if bal[0] <= 0:
    await ctx.send("没钱的,滚拉")
    return 
if amount > bal[0]:
    await ctx.send("你没这麽多钱拉干")
    return
if amount < 0:
    await ctx.send("正整数...")
    return
# 做出限制
if amount > 200 or mang > 10 :
    await ctx.send("不接受太高金额及倍率,最高为199$$") 
    return
  • 最後,钱进到皮包里
final = []
for i in range(3):
    a = random.choice(["X", "O", "Q"])
    final.append(a)
ans = mang * amount
pos = mang * amount * -1
# win
if final[0] == final[1] == final[2]:
    await update_bank(ctx.author, ans)
    await ctx.send("想赢吗??")
    asyncio.sleep(3)
    await ctx.send(str(final))
    await ctx.send(f"你赢了 {ans} 块钱")
# lose
else:
    await update_bank(ctx.author, pos)
    await ctx.send("想赢吗??")
    asyncio.sleep(3)
    await ctx.send(str(final))
    await ctx.send(f"你输了 {pos} 块钱")

小问题

  • 第一,关於次数,其实当初是有想过限制次数的,但後来想想好像没必要

  • 第二,关於倍率,这部分可以自己做更改,毕竟是random

  • 第三,抢银行.......好像挺不道德的

  • 毕竟所谓的乱数并不是真的随机,有兴趣的话可以点这里看看别人的说法


<<:  Day 4 : 案例分享(1.2) B2C经典流程 电子商务 + 进销存 + 会计(应收付)

>>:  卡夫卡的藏书阁【Book5】- Kafka 安装与基本设定

DAY18 - 将档案上传到 firebase storage

什麽是 firebase storage storage 是 firebase 所提供的储存服务,...

NIST风险管理框架(RMF)-系统分类

根据机密性,应将要求国家安全信息的第12356号行政命令分类为“最高机密”,“机密”或“机密”只是对...

[Day28] 一次跑n支策略最佳化

这边实做一个函数,让他能够一次对好几只策略做最佳化,输入的strategylist就是把好几个策略包...

零基础Javascript,Day 01就不废话,开战。

零基础实战javascript(1)-我直接在B站加上按钮 效果: 在笔记本上加上一个按钮(图中橘色...

D18-(9/18)-光磊(2340)-智慧手表供应链

注:发文日和截图的日期不一定是同一天,所以价格计算上和当日不同,是很正常的。 声明:这一系列文章并无...