2016-07-18 2 views
0

게임을 만들고 있는데 처음에는 이름을 입력 한 다음 변수로 저장됩니다. 그런 다음 특정 작업을 수행하고 시간을 초 단위로 계산합니다. 마지막으로, 나는 최악의 시간을 제거하기를 원합니다. 스코어 보드는 스코어 보드가 포함 된 목록을 정렬 한 다음 레코드를 이길 경우 시간을 절약하기 위해 저장합니다. 이는 나의 시도이지만, 목록에있는 개체는 선수의 이름을 포함하기 위해 문자열 이후 순서를 분야별로 그것을 정렬 할 수 없습니다 :파이 게임 정렬 문자열 목록 개체

 end = time.time() 
     print(end - start) 
     b = int(end - start) 
     if b < int(Scoreboard[4]): 
      message_display("NEW RECORD!", 2, 2) 
      del Scoreboard[-1] 
      Scoreboard.append(name+ str(b)) 
      Scoreboard.sort(reversed=True) 

편집 : 그냥 명확하게하기 위해, 스코어 보드가 목록이고 그 내용은 json 파일에 있습니다.

+0

"스코어 보드"는 파이 게임 클래스입니까? – OpenGLmaster1992

+0

@HugoCornel 프로그램 시작시 파일에서 열리는 목록입니다. –

+0

ScoreBoard의 각 요소를 (이름, 시간)과 같은 튜플로 저장하는 것이 맞습니까? 그렇게하면 전적으로 시간을 분류 할 수 있습니다. –

답변

0

스코어 보드 목록의 각 요소를 목록의 중첩 된 튜플로 만들 수 있다고 말하고 싶습니다. 사용중인 파일 유형을 모르지만 이 형식으로 저장할 수 있으리라고 기대하십시오. 중첩 된 튜플 목록 인 경우 [정렬 된] 메서드를 사용하여 정렬 할 수 있습니다. [key] 매개 변수를 사용하면 0 대신 인덱스 위치 1을 기준으로 정렬 할 수 있으며 [reverse] 매개 변수를 사용하면 내림차순으로 정렬 할 수 있습니다.

data = sorted(data, reverse=True, key=lambda x:x[1])