登录页面
""" Author:Cairo """ import json class LogIn(object): def AccountType(self,list_BlocKed,list_Access): '''账号检测''' 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) ##获取返回值 '''获取账号''' 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,list_Access,Access_T) elif T_["ID"] != AccountInput: break Access.close() else: print("请输入正确的整数!!!!") def blocked(self,T_,list_BlocKed,AccountInput,list_Access,Access_T): '''删除账户''' for BlocKed in Access_T: list_Access.append(BlocKed) BLcKed = open("Access.txt", "w") for USER in list_Access: if USER["ID"] == T_["ID"]: list_Access.remove(T_) BLOcK = json.dump(list_Access, BLcKed) BLcKed.close() '''冻结账户拷贝''' blockEd = open("blocked.txt", "rb") Blocked = json.load(blockEd) for BlocKed in Blocked: list_BlocKed.append(BlocKed) BLOcKed = open("blocked.txt", "w") list_BlocKed.append(T_) BLOcKeD = json.dump(list_BlocKed, BLOcKed) BLOcKed.close() blockEd.close() exit("你的账号:%s 已被冻结,请联系管理员" % AccountInput) LI = LogIn() lis = LI.AccountType(list_BlocKed=[],list_Access = [])
游戏页面
""" 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: while True: size_of_pressure = input("请输入/大/小/三色>>:") if size_of_pressure !="大" and size_of_pressure !="小" and size_of_pressure !="三色": print("你输入的是 %s 不是本游戏的命令,请重新输入!!" % size_of_pressure) break elif 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() 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() 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"} ]
"""
Author:Cairo
"""
import json
class LogIn(object):
def AccountType(self,list_BlocKed,list_Access):
'''账号检测'''
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)
##获取返回值
'''获取账号'''
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,list_Access,Access_T)
elif T_["ID"] != AccountInput:
break
Access.close()
else:
print("请输入正确的整数!!!!")
def blocked(self,T_,list_BlocKed,AccountInput,list_Access,Access_T):
'''删除账户'''
for BlocKed in Access_T:
list_Access.append(BlocKed)
BLcKed = open("Access.txt", "w")
for USER in list_Access:
if USER["ID"] == T_["ID"]:
list_Access.remove(T_)
BLOcK = json.dump(list_Access, BLcKed)
BLcKed.close()
'''冻结账户拷贝'''
blockEd = open("blocked.txt", "rb")
Blocked = json.load(blockEd)
for BlocKed in Blocked:
list_BlocKed.append(BlocKed)
BLOcKed = open("blocked.txt", "w")
list_BlocKed.append(T_)
BLOcKeD = json.dump(list_BlocKed, BLOcKed)
BLOcKed.close()
blockEd.close()
exit("你的账号:%s 已被冻结,请联系管理员" % AccountInput)
LI = LogIn()
lis = LI.AccountType(list_BlocKed=[],list_Access = [])