游戏中的分数系统。 PYTHON 3.5

时间:2016-07-08 00:42:01

标签: python global-variables counting

def LoginScreen():
    global User_Points
    User_Points = 5
    print("Welcome to Area Trainer")
    print("Please enter the username for your account")
    global user_name
    user_name = str(input())
    save = open(user_name + '.txt', 'w')
    points = open(user_name + 'Score' + '.txt', 'w+')
    points.write(str(User_Points))


    PasswordCheck= True
    while PasswordCheck:
        user_password = input("type in your password: ")
        if len(user_password) < 8:
            print("your password must be 8 characters long")
        elif not any(i.isdigit() for i in user_password):
            print("you need a number in your password")
        elif not any(i.isupper() for i in user_password):
            print("you need a capital letter in your password")
        elif not any(i.islower() for i in user_password):
            print("you need a lowercase letter in your password")
        else:
            PasswordCheck = False



def MenuTriangle():
    global User_Points
    print('''Here is a triangle with a height of 12cm and a width of 29cm
    /\     |                *Not to scale.
   /  \    |
  /    \   | 12cm
 /      \  |
 <------->
    29cm
    You must find out the area and select the correct answer from these options''')
    print('''A) 175
        B) 174
        C) 2000
        D) 199

           ''')
    user_input = input().upper()

    if user_input == "A":
            print("I'm sorry this is incorrect but you still have a chance to get 1 point!")
            MenuTriangle2()

    elif user_input == "C":
            print("I'm sorry this is incorrect but you still have a chance to get 1 point!")
            MenuTriangle2()

     elif user_input == "D":
             print("I'm sorry this is incorrect but you still have a chance to get 1 point!")
             MenuTriangle2()

    elif user_input == "B":
            print("Congratulations! You got it right, someone's a smart cookie. Here have two points!")
            reading = open(user_name + 'Score' + '.txt')
            score = reading.read()
            score = int(score) + 2
            print("Your score is", score)
            points = open('ok' + 'Score' + '.txt', 'w+')
            points.write(str(score))
            MenuStart()

def MenuStart():

    print("Welcome to the mathematical area game!")
    print("In this game you will be required to calculate the area of multiple shapes.")
    print("To do this you must know how to calculate the area of different shapes with increasing difficulty")
print('''Please select a shape you want to play,
    A) Triangle
    B) Square
    C) Circle''')
user_input = input().upper()

    if user_input == "A":
        print("You have chosen to calculate the area of a triangle!")
        MenuTriangle()

    elif user_input == "B":
        print("You have chosen to calculate the area of a square!")
        MenuSquare()

    elif user_input == "C":
        print("You have chosen the calculate the area of a circle!")
        MenuCircle()

    else:
        print("Oops! I didn't understand that >:")
        MenuStart()




LoginScreen()
MenuStart()

你好,我正在尝试做一个小游戏,用户必须猜测形状的区域是什么,如果他们得到它然后他们得到2分然而,我使用外部文件来存储得分但是每当我通过输入我的名字来玩游戏时,密码我都会看到在得到正确的答案之后得分的值将变为2但是当它调用菜单功能时,文件中的分数重置,我不知道为什么

保存按钮的正确答案是B. 现在可以玩的唯一选项是三角形。如果有人能够想出这一点,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是因为Python每次打开时都会自动覆盖文件中的数据。您通过多次调用该函数多次打开文件。