포인트 및 순위를 실시간으로 계산하는 가장 빠르고 효율적인 방법을 알고 싶습니다.실시간 게임에서 순위를 계산하는 가장 효율적인 방법
나는 축구 경기 (사용자가 전에 게임의 결과를 예측하려고하는 게임)를하고 있습니다. 우리 나라에서는 "키니 엘라"라고 불립니다.
플레이어는 경기가 시작되기 직전에 "예언"을합니다. 내 질문은 : 게임이 시작된 순간부터 게임의 실제 결과에 대한 예측으로 플레이어의 "실시간"순위를 계산하는 가장 효율적인 방법 (코드 수준이 아니라 데이터베이스와 서버) .
예를 들어 :
만약 사의 Team2 심박 측정기가 재생을 대 Team1이 사용자 U1이 게임은 0-0, U2는 게임이 1-0으로 끝날 것 예상 끝날 것이라고 예측, U3는 게임을 할 것이라고 예측 1-1.
경기가 시작될 때 U1은 경기가 끝나면 그의 예측이 정확하거나 적어도 가장 정확하기 때문에 순위에서 1 위가됩니다.
점수가 1-0로 바뀌고 사용자 U1이 (그의 예측이 더 이상 가능하지 않으므로) 순위의 마지막 일 것입니다. U2는 첫 번째 U3 초입니다.
점수가 1-1로 변경되면 U2가 먼저 가고 U3은 결과의 일부를 추측 했으므로 U3가되고 U3가 마지막입니다.
점수를 변경하고 "일시적으로"순위를 변경하면 한 수준 (0-0 첫 번째 노드, 첫 번째 노드는 0-0, 자식 노드는 0-1)의 가능성이있는 나무를 만들려고했습니다. 캐시에.
게임이 끝나면 데이터베이스의 최신 순위를 유지합니다.
이 문제를 해결하는 더 좋은 방법이 있습니까? 이전에 제안되었지만 이미 해결 되었습니까? 데이터베이스 용 MySQL, 서버용 PHP (Cake Php) 및 한 동안 순위를 요구하는 많은 모바일을 사용하고 있습니다. 대한
미안 내 절름발이 영어 = (
비록 질문이 꽤 열려 있긴하지만 이미 할 수있는 알고리즘 (내가 대학에서 보지 못했던 알고리즘)이 있다면 그렇게 할 수 있습니다. 숫자 정렬에 가장 적합한 알고리즘을 묻는 것과 같습니다. 이름이 있다면 (정렬 알고리즘과 같은 경우), 누군가 나에게 말해주십시오. – Fingolricks