2014-01-11 3 views
1

저는 돈으로 돈을 쓰는 텍스트 기반 게임을 만들고 있습니다. 나중에 사용자가 정보를 저장하여 나중에 로그온 할 수있는 방법을 원합니다. 인터넷에 연결하지 않아도 가능합니까?정보를 저장할 계정은 어떻게 만듭니 까?

+0

계정을 만드시겠습니까? – Nabla

+0

예, 로컬 컴퓨터에서도 파일을 만들 수 있습니다. O_o – BartoszKP

답변

0

피클에 대해 알아 내기 전에 일주일 동안이 문제에 봉착했습니다.

은 나를 위해 일한,이 일을해야하는 정보를

import pickle 
from getpass import getpass  

login = raw_input('Enter your username') 
password = getpass("Enter your password: ") 
if pickle.load(open("%s.p"%login, "rb"))[1] == password: 
    username = pickle.load(open("%s.p"%login, "rb"))[0] 
    pword = pickle.load(open("%s.p"%login, "rb"))[1] 
    money_left = pickle.load(open("%s.p"%login, "rb"))[2] 
    print 'You have successfully logged in as %s and you have $%d ingame money.' %(login, money_left) 

를 검색하려면 정보

import pickle 
from getpass import getpass 

username = raw_input('What would you like your username to be? ') 
username2 = raw_input('Please enter the same username again: ') 
while username != username2: 
    print 'The usernames do not match.' 
    username = raw_input('What would you like your username to be? ') 
    username2 = raw_input('Please enter the same username again: ') 
pword = getpass("What would you like your password to be? ") 
pword2 = getpass("Please reenter the password: ") 
while pword != pword2: 
    print 'The passwords do not match' 
    pword = getpass('What would you like your password to be? ') 
    pword2 = getpass('Please reenter the password: ') 
money_left = 0 
logininfo = [username, pword, money_left] 
pickle.dump(logininfo, open("%s.p" %username, "wb")) 
print 'Your username is %s, and your password is %s. You have $%d ingame money.' % (username, pword, money_left) 

를로드합니다. getpass는 선택적이지만 암호를 입력 할 때 문자 반향을 방지합니다. 'money_left'금액을 변경할 수도 있습니다. 이것은 기본적으로 "% s.p"% username이라는 파일을 생성합니다. 따라서 사용자 이름이 pickler이면 pickler.p라는 파일을 만듭니다.

+0

정말 고마워요! 이것은 실제로 작동했습니다 : D –