登录页面
""" Author:Cairo """ import json class LogIn(object): def AccountType(self,list_BlocKed): '''账号检测''' while True: AccountInput = input("请输入您的账号>>:") Account = AccountInput.isdigit() AccountM = open("blocked.txt","rb") Accountm = json.load(AccountM) if Account == True: for Accountm_kk in Accountm: if Accountm_kk["ID"] == AccountInput: exit("你的账户:%s 已被锁定,请联系管理员"%AccountInput) else: ##获取返回值 '''获取账号''' Access = open("Access.txt", "rb") Access_T = json.load(Access) for T_ in Access_T: if T_["ID"] == AccountInput: num = 0 while True: PassInput = input("请输入您的密码>>:") if T_["PASSWORD"] == PassInput: print(" *****欢迎来到色子游戏!!!*****") return (T_["ID"],T_["USERNAME"], T_["MONEY"]) elif T_["PASSWORD"] != PassInput: num += 1 print("你的密码错误,你还有 %d 次机会" % (3-num)) if num == 3: '''冻结账户''' LI.blocked(T_,list_BlocKed,AccountInput) Access.close() break else: print("请输入正确的整数!!!!") def blocked(self,T_,list_BlocKed,AccountInput):
'''账户冻结''' blockEd = open("blocked.txt", "rb") Blocked = json.load(blockEd) for BlocKed in Blocked: list_BlocKed.append(BlocKed) BLOcKed = open("blocked.txt", "w") BLOcKeD = json.dump(list_BlocKed, BLOcKed) BLOcKed.close() list_BlocKed.append(T_) blockEd.close() exit("你的账号:%s 已被冻结,请联系管理员" % AccountInput) LI = LogIn() lis = LI.AccountType(list_BlocKed=[])
游戏页面
""" Author:Cairo """ import random import log_in,json ''' 摇色子 ''' class RollDice(object): def __init__(self,ID,name,money,list_acc = []): self.ID = ID self.name = name self.money = money self.Money = int(self.money) self.list_acce = list_acc def Determine_the_money(self): ''' 判断金额 return: ''' while True: print("*" * 50) Of_Money = input("请输入您要压的金额>>:") Of_money = Of_Money.isdigit() if (len(Of_Money) != 0): if (Of_money == True): while True: size_of_pressure = input("请输入/大/小/三色>>:") if len(size_of_pressure) != 0: Of_Money = int(Of_Money) if self.Money < Of_Money: print("accounts differ !!!") The_User = input("退出游戏按Q/重新输入按B/前往充值按D >>:").upper() if The_User == "Q": exit() elif The_User == "B": break elif The_User == "D": RD.Recharge() break else: RD.Start_game(Of_Money,size_of_pressure) break else: print("至少要选择一个下注!!!") elif Of_money == False: print("请输入正确的整数金额 !!!") continue else: print("金额请输入一个整数!!!") def Start_game(self,Of_Money,size_of_pressure): ''' 游戏开始 :return: ''' # 余额减 self.Money -= Of_Money print(self.Money) print("*" * 30) print("亲爱的%s ,游戏开始咯!!!"%self.name) print("*" * 50) # 随机色子 random1 = random.randint(1, 6) random2 = random.randint(1, 6) random3 = random.randint(1, 6) Random = random1 + random2 + random3 #比较色子 if random1 == random2 == random3: print("本局的色子为[%d][%d][%d],[%d]为三色!!!!"%(random1,random2,random3,Random)) if size_of_pressure == "三色": print("恭喜您,中将了!!!") print("本局您赢了%s" % (Of_Money * 5)) self.money = self.money + Of_Money * 5 print(self.money) else: print("您的本局压的是%s, 好可惜啊!!!" % size_of_pressure) print("您的余额为¥%d"%self.money) RD.close_an_account(self.Money) elif Random <= 12: print("本局的色子为[%d][%d][%d],[%d]为小!!!!" % (random1, random2, random3, Random)) if size_of_pressure == "大": print("您的本局压的是%s, 好可惜啊!!!"% size_of_pressure) else: print("恭喜您,中将了!!!") print("本局您赢了%s" % (Of_Money * 2)) self.Money = self.Money + Of_Money * 2 print("您的余额为¥%d" % self.Money) RD.close_an_account(self.Money) else: print("本局的色子为[%d][%d][%d],[%d]为大!!!!" % (random1, random2, random3, Random)) if size_of_pressure == "大": print("恭喜您,中将了!!!") print("本局您赢了%s" % (Of_Money * 2)) self.money = self.Money + Of_Money * 2 print(self.Money) else: print("您的本局压的是%s, 好可惜啊!!!" % size_of_pressure) print("您的余额为Y%d" % self.Money) RD.close_an_account() def close_an_account(self): account = open("Access.txt","rb") Account = json.load(account) for Account_A in Account: self.list_acce.append(Account_A) for Account_A in Account: if Account_A["ID"] == self.ID: Account_A["MONEY"] = str(self.Money) accountU = open("Access.txt","w") AccountU = json.dump(self.list_acce,accountU) accountU.close() account.close() def Recharge(self): ''' 充值函数 :return: ''' while True: RechargeInputp = input("请输入您要充值的面额 >>:") RechargeInput = RechargeInputp.isdigit() if RechargeInput == True: RechargeInput = int(RechargeInputp) self.Money += RechargeInput print(self.Money,"充值成功!!!") break else: print("请正确输入金额!!!") continue NAME = log_in.lis RD = RollDice(*NAME) RD.Determine_the_money()
txt文件
[{"ID": "13421731046", "PASSWORD": "13421731046", "USERNAME": "Cairo", "MONEY": "5002000"}, {"ID": "13421731044", "PASSWORD": "13421731044", "USERNAME": "CaIro", "MONEY": "12000"}, {"ID": "13421731045", "PASSWORD": "13421731045", "USERNAME": "CaiRo", "MONEY": "10000"}]
冻结文件
[{"ID": "13421731044", "PASSWORD": "13421731044", "USERNAME": "CaIro", "MONEY": "12000"} ]